Jump to content

DIY audio patchbay with digital routing....How hard?


Nomical

Recommended Posts

Just reviewing the 75019 prices in some locales.... Not TOO bad, but not as good as the mitels.... About $25 from Digikey (so $100 for a 32x32 crosspoint - 4 chips? I could be tempted to a 48x48, but at the exponential growth of chips required, and the $$$ required, it's a toughie.... Isn't that 9 chips for a 48x48?)

For the quality though, it might be worth the difference. I suck at layouts, but maybe a two-chip 75019 board with the appropriate connections either to buffer boards (using the standard TL074 quad style DIP - no boutiquey dual options, folks!!! Puhleez! Save the space!! ;-P), or to interconnect to multiple sets of crosspoint boards to get your 32x32 / 48x48 / 64x64 etc?

Gav

Link to comment
Share on other sites

  • Replies 215
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

The MT8816 is available at:

http://www.futurlec.com

Heh.... I guess they need to do some SEO cause I only did two google searches but they weren't in either ;)

$4.50 a chip is pretty tough to beat, particularly with how many we may need.... ;-P

Well it's 15 vs 22 vs 35 (8816 vs 75019 vs 8113) per 16x16 matrix.... I think it's definitely worth the $7 extra to jump into the AD chips. Most people will probably only want one or two matrices of that size, so it's not a big jump for them, and anyone who has enough channels that the price difference will hurt a little, has already spent a lot more on their gear anyway and shouldn't complain ;)

Don't forget to keep it in perspective with the rest of the parts in project too - the cabling and jacks and casing for a 16x16 matrix will be at least a couple hundred dollars - is it really worth worrying about an extra 7?

Especially now that I think about it; because these would often be used for FX routing, a signal may pass through the chip several times (delay, reverb, filter) on it's way between the source (synth) and destination (mixer). Using that example we'd be talking about .48% vs .008% distortion... Ouch.

Reading around their sites it's pretty clear why the difference in quality - the AD chips are primarily intended for the purpose which we have in mind, whereas the zarlinks are really pitched at telephony, where obviously audio quality is less of a concern...

Anyone else wanna drop 2c on this?

Link to comment
Share on other sites

Just reviewing the 75019 prices in some locales.... Not TOO bad, but not as good as the mitels.... About $25 from Digikey (so $100 for a 32x32 crosspoint - 4 chips?

Yer you got that right. The price breaks aren't anything worth considering either, $1 per chip saving, at 100 chips heheh. Great to see people are finally stocking them again though!!

I could be tempted to a 48x48, but at the exponential growth of chips required, and the $$$ required, it's a toughie.... Isn't that 9 chips for a 48x48?)

It is tough as heck, especially in the multiples I'm looking at.... I'm actually just now reading my I/O list to see if I could do this smarter, because the routing should be more simple with one big patchbay, than 5 separate 48 point patchbays. I think I can get by on 128x128, which works out to 8x8=64 chips, about 1400 in chips if it's AD, or 1000 if it's zarlink .... So believe me, I'm price-focussed right now ;) But I would hate to spend a grand and be disappointed.

For the quality though, it might be worth the difference. I suck at layouts, but maybe a two-chip 75019 board with the appropriate connections either to buffer boards....., or to interconnect to multiple sets of crosspoint boards to get your 32x32 / 48x48 / 64x64 etc?

Yeh that's the idea... I think a 2*16x16 might be overkill though... Take a gander at that stromeko page I mentioned earlier, he's been there and learned this lesson, and scaled back to a 1-chip solution.

Oh, some linkage I forgot to grab from my bookmarks: I think you've got all them now.

Audio/Video Crosspoint Switch - This is a really good one! It's a PDF thesis of smeone who built theirs at university, complete with code, schems, layout etc, and most importantly discusses his experiences during the build, which is invaluable info at thi stage.

http://www.users.globalnet.co.uk/~concuss/concussor/pp.htm This is a discontinued concussor module.

Shout out, midiboxers, what do you think? Let's put our heads together :)

Link to comment
Share on other sites

Hey Stryd 'n all,

Well it's 15 vs 22 vs 35 (8816 vs 75019 vs 8113) per 16x16 matrix.... I think it's definitely worth the $7 extra to jump into the AD chips. Most people will probably only want one or two matrices of that size, so it's not a big jump for them, and anyone who has enough channels that the price difference will hurt a little, has already spent a lot more on their gear anyway and shouldn't complain ;)

Don't forget to keep it in perspective with the rest of the parts in project too - the cabling and jacks and casing for a 16x16 matrix will be at least a couple hundred dollars - is it really worth worrying about an extra 7?

I'd like to hear from the others, but I think I'm sold on the AD 75019.... Moderate price point, good audio quality, and allows for connection to multiple points (which may be useful for some - BTW, anyone know what the actual difference would be between a typical summing amp and sending two sources to a single destination?).

Although bigger would always be better, I think a 32x32 will be plenty for my needs.... BTW, anyone who got samples of the 8113s get more than two? Just wondering if a sample request of 4 would be doable with AD or not.... Even 2 on a sample basis would be AOK with me, then buy another couple!

Especially now that I think about it; because these would often be used for FX routing, a signal may pass through the chip several times (delay, reverb, filter) on it's way between the source (synth) and destination (mixer). Using that example we'd be talking about .48% vs .008% distortion... Ouch.

I agree wholeheartedly. My goal is to patch all my keys in, send them to a modest sized low-noise line mixer, and patch various effects here and there (choruses, phasers, filters, leslie sims etc.) where needed in-line prior to the mixer. In that case, I can easily foresee sending a synth through a filter and back, through a phaser and back, and then through a stereo dimension chorus before heading out to the board.... Exponential growth of noise and distortion methinks.... :'(

I saw some references to GUI early on in the thread, but maybe we should start throwing some ideas in that direction?

I think 128 presets is always a good 'round number (not sure what a bankstick could take in terms of the theoretical, but cacaphonous, possibility of all 32 ins routing to all 32 outs (1024 connections) on a 32x32, let alone addressing larger crosspoints!). That would probably be a maximum for most.... 64 is OK, even 32 is reasonable with a memory dump feature (and might allow for better usage of memory).

We seem to increment our matrices in eights.... Mebbe a 2x24 screen, top line indicates your source and which "bank" of eight destinations your linked to, bottom has the destination number (2 digit) and a dot which is empty or filled (like the SID switch configs) indicating connections. 8 Buttons along the bottom of the screen for on/off control, a dedicated encoder for controlling source, and the menu encoder doubles as the destination select by moving the cursor?

A toggle between "edit" mode and patch mode (patch mode simply using the menu encoder to select a patch, which is engaged when you hit the go button - go being "store" in edit mode, then you select the memory slot, hit again, stored!)

This config allows you to cover as big a crosspoint as you want, depending on the memory usage for the banksticks.... The configuration of the memory usage could be tricky if we want to keep the project modular.... ???

I think this project is a GREAT idea for ANY studio or live rig.... Allows you to use a smaller board and switch in the sound sources you need, allows you automate effects switching in live shows for both in-line and sends uses, and even more simply allows you to mute noisy sound sources when not in use without heading to the board. Wasn't Bunsen thinking of doing a CV switch matrix? Another great use!

This idea REALLY has me jazzed.... ;)

Gav.

Link to comment
Share on other sites

It is tough as heck, especially in the multiples I'm looking at.... I'm actually just now reading my I/O list to see if I could do this smarter, because the routing should be more simple with one big patchbay, than 5 separate 48 point patchbays. I think I can get by on 128x128, which works out to 8x8=64 chips, about 1400 in chips if it's AD, or 1000 if it's zarlink .... So believe me, I'm price-focussed right now ;) But I would hate to spend a grand and be disappointed.

Woof! You are an I/O MADMAN! ;)

Yeh that's the idea... I think a 2*16x16 might be overkill though... Take a gander at that stromeko page I mentioned earlier, he's been there and learned this lesson, and scaled back to a 1-chip solution.

Makes sense. Also, doesn't seem to require too scary a layout either.... A couple of the "Midibox" style SIP headers (2x8) and you'd be off.... ;)

I'll need to check some of those new links.... Hey, ideas I'm good at, soldering I'm good at, but there's a big ol' hole in between! Whatever I can add, though, I'm there! ;)

Gav.

Link to comment
Share on other sites

I'd like to hear from the others, but I think I'm sold on the AD 75019.... Moderate price point, good audio quality, and allows for connection to multiple points

That's three of us... Any objections anyone? Don't be shy!

anyone know what the actual difference would be between a typical summing amp and sending two sources to a single destination?

If you send two sources to one dest, the result will be double, so you'll need to turn down the source. If it were a summing mixer, the destination would be halved automatically to compensate.

Exponential growth of noise and distortion methinks.... :'(

I think it's linear not exponential but the figures ain't pretty...

I saw some references to GUI early on in the thread, but maybe we should start throwing some ideas in that direction?

If we have a consensus on the chip, yep.

I think 128 presets is always a good 'round number (not sure what a bankstick could take

Yeh it works well with midi... Bankstick won't be an issue, we got at least 64k per chip and only need one bit per crosspoint. We can have 8 chips. No sweat there :)

We seem to increment our matrices in eights.... Mebbe a 2x24 screen, top line indicates your source and which "bank" of eight destinations your linked to, bottom has the destination number (2 digit) and a dot which is empty or filled (like the SID switch configs) indicating connections. 8 Buttons along the bottom of the screen for on/off control, a dedicated encoder for controlling source, and the menu encoder doubles as the destination select by moving the cursor?

Dunno about 2x24 cause it's an unusual resolution, 2x40 would work just as well though. Problem with the above example is that it doesn't allow for connections split amongst more than one group of eight.

Also, it should be pretty easy to be able to name the connections, which would be *really* handy, especially for big routers and for modular synth patchbays.

My idea so far had been very minimal, just a source and destination - 1 knob for each, On/Off switch, and edit/preset switch. On the LCD, where the source is selected with the first knob, the first row will show it's name, 2nd row shows the destination just using a 'block' when it's On. You select a destination using the second knob (which makes the corresponding 'block' character flash, and the name appear on the top row of the LCD) and hit on/off to engage/disengage it.

Shouldn't be difficult to make it work the other way either, so you can select a destination and it will show you which sources are routed to it. ("where the *** is that synth coming from" will be areal problem when you can't follow a cable ;) )

This could be done with 7-seg for the source/dest numbers, so it's easily visible. It also means that any LCD should be big enough because you scroll the bottom row left and right when you select the destination. So long as there's enough room on the top row for the preset number and the port names.

Names storage shouldn't be an issue either - even for 128x128, if you allow 8 characters per label, that's 2kB. Barely a scratch on a bankstick.

A toggle between "edit" mode and patch mode (patch mode simply using the menu encoder to select a patch, which is engaged when you hit the go button - go being "store" in edit mode, then you select the memory slot, hit again, stored!)

Sounds good.

The configuration of the memory usage could be tricky if we want to keep the project modular.... ???

Nah... You just have groups of bits to send to the switches and pointers to those for each preset.

This idea REALLY has me jazzed.... ;)

I hope it comes to fruition this time! The software part of it is really pretty straightforward. It's memory hungry but the banksticks have thah covered, but otherwise it's a snap. The trick, at least for me, is the analogue stuff..... That's where I need help.

Link to comment
Share on other sites

Just a comment on the UI:

The upper line should always show destination, the lower should show the source: that's the order in which you select the crosspoint, as you can usually assign only one source to each destination, but more than one destination to each source. This way you make sure that you do not accidentally overwrite the settings of other destination "channels".

Also, you might want to take a look at the Friendchip Patchbays. They have a user interface that is comparatively nice given its small screen size (2x16 characters). Something along those lines would be nice, maybe with an option for a LED matrix (or master- and sub-matrix for larger configurations).

Keep this up - I think this is a really interesting project!

Best regards, ilmenator

/Edit: I see that the chip actually can do multiple inputs to single output. This kind of puts into perspective my above statement? Still, most users will be accustomed to first selecting destination and then assigning source to that destination...  ???

Link to comment
Share on other sites

W-a-y ahead of you guys  ;D  Here's some cut and paste from my Google Notebook

             LEDs                       _________
      o o o o o o o o o o o o o o o o  |         |
      o o o o o o o o o o o o o o o o  |         |
      o o o o o o o o o o o o o o o o  |         |
      o o o o o o o o o o o o o o o o  |         |
      o o o o o o o o o o o o o o o o  |         |
      o o o o o o o o o o o o o o o o  |         |
      o o o o o o o o o o o o o o o o  |         |
      o o o o o o o o o o o o o o o o  |  GLCD   |
      o o o o o o o o o o o o o o o o  |         |
      o o o o o o o o o o o o o o o o  |         |
      o o o o o o o o o o o o o o o o  |         |
      o o o o o o o o o o o o o o o o  |         |
      o o o o o o o o o o o o o o o o  |         |
      o o o o o o o o o o o o o o o o  |         |
      o o o o o o o o o o o o o o o o  |         |
      o o o o o o o o o o o o o o o o  |_________|
      _______________________________
     |             GLCD              |      (@)  Knobs
     |              or               |       _
     |            4 x 16             | (@)  [_]  Select
     |_______________________________|
FPD??  We don' need no steenkin FPD!!
                         
      LED matrix                             2x 2x40 LCDs   
 ______________________________________________________________________________________________________________                                                                                                              
|   ::::::::::::::::                                                                                           |
|   ::::::::::::::::  |name name name name name name name name |  |name name name name name name name name |   |    input
|   ::::::::::::::::  | name name name name name name name name|  | name name name name name name name name|   |    output
|   ::::::::::::::::                                                                                           |
|   ::::::::::::::::   [ ]  [ ]  [ ]  [ ]  [ ]  [ ]  [ ]  [ ]      [ ]  [ ]  [ ]  [ ]  [ ]  [ ]  [ ]  [ ]      |    input
|   ::::::::::::::::     [ ]  [ ]  [ ]  [ ]  [ ]  [ ]  [ ]  [ ]      [ ]  [ ]  [ ]  [ ]  [ ]  [ ]  [ ]  [ ]    |    output
|___::::::::::::::::___________________________________________________________________________________________|

                                                     select buttons

Although now I think the LED matrix looks better on the right hand end, but you get the idea

Link to comment
Share on other sites


O   button            .   LED
#   button pressed    @   LED lit
                      x   LED flashing or alt colour


 Press any button:                Press opposing button:              Press Confirm:
  reveal existing patches           add a patch                        patch saved

 _________________________         _________________________         _________________________         
|                         |       |                         |       |                         |
|   O   . . . . . . . .   | ----> |   O   . . . . . . . .   | ----> |   O   . . . . . . . .   |     
|   #   @ @ @ @ @ @ . .   |       |   #   @ @ @ @ @ @ x x   |       |   O   @ @ @ @ @ @ @ @   |     
|   O   . @ . . . @ . .   |       |   O   . @ . . . @ . x   |       |   O   . @ . . . @ . @   |     
|   O   . @ . . . @ . .   |       |   O   . @ . . . @ . x   |       |   O   . @ . . . @ . @   |     
|   O   . @ . . . @ . .   |       |   O   . @ . . . @ . x   |       |   O   . @ . . . @ . @   |     
|   O   . @ . . . @ . .   |       |   O   . @ . . . @ . x   |       |   O   . @ . . . @ . @   |     
|   O   . @ . . . @ . .   |       |   O   . @ . . . @ . x   |       |   O   . @ . . . @ . @   |     
|   O   . @ . . . @ . .   |       |   O   . @ . . . @ . x   |       |   O   . @ . . . @ . @   |     
|                         |       |                         |       |                         |     
|   0   O O O O O O O O   |       |   O   O O O O O O O #   |       |   #   O O O O O O O O   |     
|_________________________|       |_________________________|       |_________________________| 
    |                      \    /
    |                       \_ /_                           
    |   Release button(s):    /  \   Press existing out:
    v   Reverts to display  |/    \|  remove patch                    Confirm: remove
 _________________________         _________________________         _________________________        
|                         |       |                         |       |                         |   
|   O   . . . . . . . .   |       |   O   . . . . . . . .   | --->  |   O   . . . . . . . .   |     
|   O   . @ . . . @ . .   |       |   #   @ @ @ @ @ @ . .   |       |   O   @ @ @ @ @ @ . .   |     
|   O   . . . . . . . .   |       |   O   . . x . . @ . .   |       |   O   . . . . . @ . .   |     
|   O   . . . . . . . .   |       |   O   . . x . . @ . .   |       |   O   . . . . . @ . .   |     
|   O   . . . . . . . .   |       |   O   . . x . . @ . .   |       |   O   . . . . . @ . .   |     
|   O   . . . . . . . .   |       |   O   . . x . . @ . .   |       |   O   . . . . . @ . .   |     
|   O   . . . . . . . .   |       |   O   . . x . . @ . .   |       |   O   . . . . . @ . .   |     
|   O   . . . . . . . .   |       |   O   . . x . . @ . .   |       |   O   . . . . . @ . .   |    
|                         |       |                         |       |                         |     
|   O   O O O O O O O O   |       |   O   O O # O O O O O   |       |   #   O O O O O O O O   |     
|_________________________|       |_________________________|       |_________________________| 


Link to comment
Share on other sites

Simplified 8x8 workflow

                                              
| |name name name name name name name name | |
| | name name name name name name name name| |           
|  [ ]  [ ]  [ ]  [ ]  [ ]  [ ]  [ ]  [ ]    |
|   [ ]  [ ]  [ ]  [ ]  [ ]  [ ]  [ ]  [ ]   |


                                              
| |name---v---------v----v--------------v  | |
| |      name      name name           name| |           
|  [*]  [ ]  [ ]  [ ]  [ ]  [ ]  [ ]  [ ]    |    press an input button
|   [ ]  [*]  [ ]  [*]  [*]  [ ]  [ ]  [*]   |    outputs light up

Link to comment
Share on other sites

This way you make sure that you do not accidentally overwrite the settings of other destination "channels".

Ahh interesting point... I was thinking about it from a " 'This' goes to 'there' and 'there' " kinda perspective, but hadn't considered that. As you noticed, the 75019 and 8816 can do many-to-one connections, although it's not really advisable. I'm sure you could overload the destination device's inputs doing that, if not the output buffers, if not the matrix itself. Not sure what damage it would do but I don't want to try it and find out ;) Anyone know?

Also, you might want to take a look at the Friendchip Patchbays.

Ahh sweet. Yeh those are nice (why can't I find pricing? I'm having a bad time with Google's now algorithms. Anyone use a different search engine?).

I notice the screen on those has the source on the top line too...

I was thinking it shouldn't be hard to have the software prevent many-to-one connections. You could just read the crosspoint's status from other sources before setting it (by jumping X bits through the patch where X is the number of input channels (well actually it's not stored like that but that's an easy example)), and pop up a message to the user with the names looked up like:

Delay2_1 conx to s2k_6

overwrite or mix?

and then they could select using knobs and buttons, and you could disable the mix function in software.

But.... is that worth doing? I think a "destination from source" method like you suggested, would make sense as much as a "source to destination" like I spoke of in my last post, if not more. In fact, if the software was restricted to having one source per destination, that could also make the memory usage easier, because you could just have an array of unsigned chars with the number of elements set to the number of destinations:

destination[32]

destination[cs_dest_sel] = cs_source_sel

Makes it look a bit easier! heheh

Another UI idea I had was an 'insert' function... Say you have 's2k_6' routed to 'mix_ch28'. You want a delay on that sampler. You select your destination 'mix_ch28', which is already patched to source 's2k_6'. You select the new source, 'Delay2_1', and by using a key combo (hold down preset button while hitting On/Off?) you are prompted for another destination. You select 'Delay2_1' (same label, but remember one's an input and another's an output) and it not only redirects the mixer to receive from the delay, but also redirects the delay's input selected in the prompt, to receive from the sampler.

Only trouble I can think of, is that it would need to ensure that the delay's input was not connected to some other source already. If it was, it could fail, or maybe even prompt for an alternate patching somehow.

Also, this could be used as in my first example, so you would be prompted "Overwrite,(mix, )or insert?"

OK seeing as I'm thinking about use-cases... Source and Destination makes sense from the matrix perspective, but in the real world we'll be patching "output" to "input" not "source" to "destination". Maybe we could have a #define that the user can edit, so that they can change it as they see fit. I'd rather my screen say something like :

To    'mix_ch28' Input

From    's2k_6' Output

than

Dest 'mix_ch28'

Src        's2k_6'

Just because those are the words I would use in real life. Anyway such things are probably too fine a detail at this point...

We need someone to start on a layout so we can order prototypes and start writing in C instead of english :) If there's anyone who wants to volunteer please shout out now... We'll love you forever and be your best friend! heheheh

If someone doesn't put their hand up soon, I'll do it, but lord knows how long it will take me.... My projects are kinda glacial; they are large and they move slowly (primarily because they are large and so they cost too damned much). nILS said he could make a layout if we have a schem (THANKYOU NILLY!) and he's away for a bit, so I'll have a couple weeks to get a schem made up...but I'll almost certainly need help, especially with the buffers/balancing I/O, PSU, etc.. I have some very good starting points (THANKS!) but... I'm a fricken total n00b :)

More ideas in the meantime?

Warning - while you were typing a new reply has been posted. You may wish to review your post.

W-a-y ahead of you guys  ;D

Yeh, join the team man, don't be a solo player and leave us in the lurch :) This has been the primary factor in the failure of this project to take off in the past - one person who could be really helpful, takes the idea and runs with it (buying chips before the group decides on one, making CS layouts without talking with the group). In the end, the individual's project may or may not be finished, but it's not what the whole group needs, and the group project may die because people lose interest.

Action is definitely good, it's no good to sit around and talk but never "do" - but I hope you'll "do" with us, not "ahead of us" :)

That looks like the docmatrix way of doing things. The LEDmatrix definitely gets top marks for bling factor, and it should be easy to fill it from the stored patches. Course, it won't grow with different setups.. I definitely think that a LED matrix of some sort would be good as an option though.

Also you probably want more than 4 chars per name, because you'll want numbering in there, which leaves you with only 2 maybe 3 letters to ID your kit. I do like the idea of having a quick overview of where things go though. Again would be handy in the "where the **** is that synth coming from" scenario ;)

Warning - while you were typing 2 new replies have been posted. You may wish to review your post.

Hhehehhehe

I think you're coming up with too many options which won't scale up and down very well... could make things difficult from a coding perspective because the app would need to have all these different options built in.. That said, I think it's good to consider possibilities so that it will be easier for people to implement custom CS - but I think that the default (IE, ready made) CS should be a lot simpler and more scalable.

Link to comment
Share on other sites

If you send two sources to one dest, the result will be double, so you'll need to turn down the source. If it were a summing mixer, the destination would be halved automatically to compensate.

Thought that was what we would be getting.... My guess is that I'm not likely to want to this feature anyway - If I want to use an effects unit on more than one input, I'll just patch it in to an effects loop on the mixer! ;-)

My idea so far had been very minimal, just a source and destination - 1 knob for each, On/Off switch, and edit/preset switch. On the LCD, where the source is selected with the first knob, the first row will show it's name, 2nd row shows the destination just using a 'block' when it's On. You select a destination using the second knob (which makes the corresponding 'block' character flash, and the name appear on the top row of the LCD) and hit on/off to engage/disengage it.

Hmmmn.... I too would prefer real names, which would make the 2x40 more sensible. I was starting to think about how to show inputs sent to multiple outputs, but then I read ilmenator's comment, which would take care of the problem. The 2x40 would then give you a MONSTER amount of chars for identification....

I like your idea of one encoder for source, and one for destination. Depending on whether define the page by source or destination (again, taking into account ilmenator's comments), one encoder is just an encoder, and the other can be one of the push-switch models.... Dial up the page, dial up the corresponding source or destination, push the knob, and you're re-routed! ;p

I see.... The patch is only as big as it needs to be, based on the number of connections.... 14 lines for 14 connections, 68 lines for 68 connections etc.... Is that right?

Well, short of simple buffers and a good power supply, I think most of the magic is in the crosspoint switches on the hardware side.... ;-)

Theoretically, from a design perspective, you'll have your Power Supply PCB, "x" number of PCBs for the ADs (I agree - simplify to one chip per, and connect them as you need!), "x" number of PCBs for the buffers (use quad chips, and do 16 buffers at a time - simple clean design should do 'er! ;-)

Phew! 4 posts since I started this reply.... Only thing I'll add in terms of a "feature" idea is perhaps the ability to configure some i/os to behave as stereo pairs? Good for stereo processors, stereo line inputs on mixers, stereo synths, stereo sids etc.... ;-P

Gav.

Link to comment
Share on other sites

Yeh, join the team man, don't be a solo player and leave us in the lurch :) / takes the idea and runs with it (buying chips before the group decides on one, making CS layouts without talking with the group). / I hope you'll "do" with us, not "ahead of us" :)

Nah man, it goes more like this:

  • Notice AD IC on ebay: gets stuck in the back of the brain and nags away
  • Get idea for 8 channel comp for drums
  • Then get excited about modular FX
  • Start making notes
  • Get distracted learning Google Notebook and mucking about in ASCII
  • Remember IC: decide it's crucial to modular FX rack
  • Make more notes
  • Check unread posts and discover the first post in this thread
  • Share

This is why I never finish anything...  but if I can contribute to something that gets finished I'm more than happy.

Link to comment
Share on other sites

ok, stryd ...

Yeh, join the team man, don't be a solo player and leave us in the lurch Smiley This has been the primary factor in the failure of this project to take off in the past - one person who could be really helpful, takes the idea and runs with it (buying chips before the group decides on one, making CS layouts without talking with the group). In the end, the individual's project may or may not be finished, but it's not what the whole group needs, and the group project may die because people lose interest.

Action is definitely good, it's no good to sit around and talk but never "do" - but I hope you'll "do" with us, not "ahead of us" Smiley

That looks like the docmatrix way of doing things. The LEDmatrix definitely gets top marks for bling factor, and it should be easy to fill it from the stored patches. Course, it won't grow with different setups.. I definitely think that a LED matrix of some sort would be good as an option though.

Just to be sure you got it right.

The DOCmatrix is a working box. It's not perfekt and I have to optimize some things.

The "Group" can decide which chips they want. But that don't mean, the concept is wrong.

My intention was never to go "alone". I had the idea and I've built it. Thats what I always do. If anyone wants to participate with this, everyone is welcome to do.

Just for all: Here are the original schematics of the DOCmatrix.

The Audio-Part: http://www.systemhaus-schneider.de/midibox/Audio%20in-out.pdf

DIN matrix: http://www.systemhaus-schneider.de/midibox/DIN%20matrix.pdf

DOUT matrix: http://www.systemhaus-schneider.de/midibox/DOUT%20matrix.pdf

Line Driver (to extend the cable) http://www.systemhaus-schneider.de/midibox/linedriver.pdf

Matrix digital: http://www.systemhaus-schneider.de/midibox/matrix%20digital.pdf

Power Supply: http://www.systemhaus-schneider.de/midibox/power%20supply.pdf

Shiftregister & Converter: http://www.systemhaus-schneider.de/midibox/Shift%20register%20and%20level%20converter.pdf

Summing-Matrix: http://www.systemhaus-schneider.de/midibox/summing%20matrix.pdf

So. This is the stuff you can discuss about.

The software Thorsten has made run-ready but I didn't have the source (thats why he had the photos ... he he).

As said before:

This is a working 24x24 matrix. For the labels I have decided to put sticker next to the rows and lines. Thats enough for me.

The only problem of this box is: If you switch the outputs together you have a loss of signal. 2 outs together is hearable. If you switch four together, you're in trouble.

The crosstalk and the "audoiable" parameters are great for this box.

I hope that this post now takes away "the miracle" of the DOCmatrix. It's just a box I've build (without to ask the "group"...)  8) ;D

greets

Doc

Link to comment
Share on other sites

/edit/  Doc, I think he was talking to me there...

I think you're coming up with too many options which won't scale up and down very well...

Sure they'll scale - you just add more 8x8 LED matrices.  You'll note my sig  ;D

Seriously though, they're just ideas, scribblings, working thoughts - I've got no attachment to them

Link to comment
Share on other sites

one encoder is just an encoder, and the other can be one of the push-switch models.... Dial up the page, dial up the corresponding source or destination, push the knob, and you're re-routed! ;p

Heh I think I said the same in the chat the other night.... You could make the other encoder pushbutton too, for preset selection. Only worry there is unintentional patching. Maybe an "are you sure" type prompt would be good, then you can just double-click to confirm instantly, if youre really sure ;)

I see.... The patch is only as big as it needs to be, based on the number of connections.... 14 lines for 14 connections, 68 lines for 68 connections etc.... Is that right?

Hmm you really need to store the position of all the switches I think... Although you could maybe just store the On switches, and clear the matrix when loading a preset... I think that storing all positions will be easier to handle. Given that memory is not a concern...

Well, the way it's arranged is per-chip. 16 bits are used to store the switch states for each row (Y pins on the chip). Each bit represents the state of the switch to the columns (X pins) There are 16 sets of these for each chip. It counts from the last Y pin (y15) and last X pin (x15), then second last X pin (x14), third last (x13)... until it gets to the first X pin (x0), then it starts again on the second last Y pin (y14) to x15, x14, x13...x0......etc..... If there are multiple chips, it starts at the last chip and works it's way up. This means we'd have 256 bits per chip. Obviously we would tell the app how many chips we are running, so it knows to read 256* that many chips from the bankstick.

Sidenote: looking at the timings, there are no maximums for loading the individual bits into the IC, so we probably won't even have to buffer it, just read direct from the bankstick to the chip (OK, it makes sense to use pageread to grab big chunks from the bankstick, but anyway, no need to buffer the whole thing). The only maximum is for the PCLK strobe (which tells the IC "I'm done sending you data, now load it into the switches") which has a 5ms max - plenty.

The minimums are actualy kinda long, I can see us needing a few NOPs in the driver ;) Essentially it goes:

Set the SIN (data input) pin according to the switch position. Hold 20ns min.

Set SCLK (serial clock) pin high. Hold 100ns or more.

Set SCLK (serial clock) pin low. Hold 100ns or more.

Rinse. Repeat.

Allow max 5ms wait here, no more!

Set PCLK (Parallel Clock) pin low. Hold 65ns or more.

Minimum SCLK speed is 20khz, no problems there, might be smart to disable interrupts while it's loading though.

If we only stored the switches set On, then we'd have to calculate all these bits before sending to the matrix. That's not too hard, don't get me wrong, but it is kinda indirect. Also, storing all the bits makes it easy to look up the switch's state - you just jump to the appropriate bit, and see how it's set. If we only store the connected pins, then we would have to read them all, to check. Again that's not hard, and wouldn't take long especially if there weren't many connections, but it is indirect.

Well, short of simple buffers and a good power supply, I think most of the magic is in the crosspoint switches on the hardware side.... ;-)

LOL well that's the thing - the PSU and buffers are total voodoo magic to me. The other stuff is easy :) (especially as stromeko was kind enough to publish his eagle schems for the matrix! No buffers there though) PSU's shouldn't be too rough, there are plenty of designs around to plagiarise take inspiration from... Probably the same with the buffers if I search some DIY sites.... But both of these have all these extra components; using the buffers as an example it's not just the opamp there are resistors and caps and I am stuffed if I know what values we need.

the ability to configure some i/os to behave as stereo pairs? Good for stereo processors, stereo line inputs on mixers, stereo synths, stereo sids etc.... ;-P

Yes that would be way handy. We could probably just get the app to mirror configurations with neighbouring pins... so if you patch source X to dest Y, it also patches source X+1 to dest Y+1... Sound right? You'd need to connect your stereo pairs physically to neighbouring pins, but I imagine everyone already does that anyway...

Warning - while you were typing 3 new replies have been posted. You may wish to review your post.

Damn, this thread is on fire!

Nah man, it goes more like this:

Ahhhh, my bad! Heh, you just happened to be playing with the idea as it was being discussed here - synchronicity! :D

/edit/ Doc, I think he was talking to me there...

Yeh I was talking to DrB about the "join the team" stuff :) When I said "That looks like the docmatrix way of doing things." I just meant the CS :)

Although I would be lying if I didn't say that I was disappointed that I had been trying to drive this concept for years, only to find that while I was pushing it, it had happened with me excluded*. But... It's your project! And that is cool with me :)

*PS just to be clear I don't feel I was deliberately excluded, just maybe forgotten - I don't think you did anything mean, or anything like that! There are no complaints from me about docmatrix or especially my buddy doc! :)

Sure they'll scale - you just add more 8x8 LED matrices.

It's not quite that simple in software....

Just for all: Here are the original schematics of the DOCmatrix.

Heh, thanks man!! I didn't want to mention these just in case it was a secret ;) Now you know why I didn't mention your name when I said

I have some very good starting points (THANKS!)

Warning - while you were typing a new reply has been posted. You may wish to review your post.

We don't need no water let the mother ****er burn....

too much text to read it

OMG you got that right!!!

Link to comment
Share on other sites

I notice the screen on those has the source on the top line too...

Ooops, I have been working with these for seven years in my old job - still I needed to check the manual to see if my memory fails me... It does not. Apparently what they have on their web site is a pre production rendering. You can get an idea of what the user interface is like from their manual.

Yet, I guess there are some pretty interesting user interface ideas around here - the pushbutton-encoder idea is very good, although I would still insist on having to select the destination first (this way, handling could be done using only one arm / one encoder/button). Just a detail, maybe, but this paradigm (dest<--src, or TO<--FROM) is widely used in the studio world.

Best regards, ilmenator

Link to comment
Share on other sites

Awesome, thanks tilt! I better get started on the software huh! Should I grab some of the chips now, or are we a little while off? No rush! :)

Plan I'm thinking of at the moment is to buy 2 chips for you, and 4 for me, and one each for a few other ppl, so that we can test it (and you and I can test chaining).

Meantime, I'll get the UI happening and just send the data via sysex or something to make sure it's being saved right... That might take a couple weeks with my current spare time.. Then it should be a matter of strapping in the driver...

illy: Totally agreed. Perhaps they made the same mistake we did, in their pre-production ;)

Bunsen: I'll work (later) on a led-matrix option with optional scroll buttons, but don't think the GLCD thing will be part of the standard build, at least, in the initial releases.

Link to comment
Share on other sites

I would prefer a xy-matrix (I think DrBunsen was drawing one).

- A button for every source on the left and a button for every target on the top.

- An LED for every crosspoint

- Pressing and keep holding a source- button enables to select targets (-buttons) and the corresponding crosspoint-LED(s) gets lit

- Pressing and holding a target-button enables to overwrite the existing source-connection and to select another (only one) source. So the corresponding LED of the former crosspoint gets dark and the new crosspoint is lit

Greets, Roger

Link to comment
Share on other sites

Only thing I'd alter would be that the target bottoms should be along the bottom so your hand doesn't cover the display while you're patching.

... true. - Good point. But it's a panel design issue and not implementation dependent.

Greets, Roger

PS: In addition it would be nice to have 10 or 16 direct access "SnapShot" buttons and a "Store" button. - Press and keep holding "Store" and select the 1-16 button on which the Snap shall be saved. Pressing the Snap-buttons directly loads the saved crosspoints.

Link to comment
Share on other sites

PS: In addition it would be nice to have 10 or 16 direct access "SnapShot" buttons and a "Store" button.

Isn't this a typical usecase for an encoder?? The selection can also be done "single-handed" if you use a push-button encoder.

Best regards, ilmenator

Link to comment
Share on other sites

Keep the ideas coming guys... Perhaps you could think of a good way to make the LED matrix scalable, IE 'pages' of LEDs, we'd need up/down/left/right buttons, and some way of showing where we are now, or something... You guys have better ideas than me on this LED thing so I'll see what you say :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...