Jump to content

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


Nomical
 Share

Recommended Posts

@dj: 13 euro ouch! That's a bit steep. Sure mate we can use you for a test subject too :D

@lyle: I'm still keen on keeping this project in C so it's easier for others to modify later on, so I don't think I could lift your code... but it would be good to make sure we maintain some form of compatibility between the apps if we can, so maybe they can be mashed up later if it's possible. That said, I'd love to get my greasy mitts on your code, thankyou! ;)

FWIW, the drivers will all be ASM or C app compatible (just the app itself would be in C) so they should be useful to you too :)

Link to comment
Share on other sites

  • Replies 215
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Well at least you found a dealer.  :)

I'm not even able find a source...  :(

So when this development is sort of done (software and hardware), it will be made public? Can we then also facilitate some sort of sourcing for the hardware like a place to buy the AD75019 + socket and a PCB to interface with the MidiBox?

I'm sorry but I'm having a fit of GAS.  ;) Can't wait to build myself a simple audio patchbay version with a AD75019. Sort of lost interest in using the MT8816.

Is there any way I can help this project along?

Link to comment
Share on other sites

Each part of this will be made public within about 10 seconds of it being tested and proven working, by the appropriate developer posting and celebrating loudly and doing the "it's working" dance and such.

Once it's ready to be built and documented and all that kinda stuff, there'll be a bulk order for parts and pcbs.

What's wrong with the MT88? it's probably very well suited to guitar patching, and significantly less expensive, and there are two projects to base your work on already...If you're keen to help develop, that would be helpful, or if you're a PCB layout whiz in eagle or kicad, shout out...

Link to comment
Share on other sites

> What's wrong with the MT88?

Nothing really.

> significantly less expensive

Ah... any idea on the exact prices? I have not found any good sources yet. Futurlec and ebay sells the DIP40 version of the MT8816 for around $5 but not the PLCC 44 version. I can not find the AD75019 at all.

> there are two projects to base your work on already

So far I only found:

http://www.midibox.org/forum/index.php/topic,10247.0.html

Which one am I missing?

There are a few reasons for me to probably drop the MT8816 in favor of the AD75019:

- It was posted that the harmonic distortion of the MT8816 is larger than the AD75019. If so, I'd rather use the AD75019. I'm building my own guitar FX with only high quality components so I do not want to reduce quality again in the switching because of a relatively small amount of money like 10 euro's or so.

In the datasheets, the harmonic distortions and crosstalk specs are not so different so either one seems ok to use:

AD75019:

THD = 0.01% max , RS 600 Ohm, RL 10 kOhm, VSIGNAL 2 V p-p

Crosstalk = 92 dB , 1kHz, RS 600 Ohm, RL 10 kOhm, VSIGNAL 2 V p-p

MT8816:

THD = 0.01% typical , 1kHz, RS 600 Ohm, RL 1 kOhm, VSIGNAL 2 V p-p

Crosstalk = 90 dB , 1kHz, RS 600 Ohm, RL 10 kOhm, VSIGNAL 2 V p-p

- The AD75019 has more switching capabilities while its footprint is the same as with the MT8816 (PLCC 44).

- The price difference and quality difference between the two is too small for the time it would cost me to design another hardware extension and write a driver for the MT8816. It's just too much trouble. Better to surf the wave a bit and help out with one good solution (AD75019) that is already on its way for a switch matrix hardware extension with driver for the MidiBox.

So in short: I'd rather use the AD75019 because it seems you guys are already doing all the hard work.  ;) Sorry for that...

Link to comment
Share on other sites

Hate to do this to you, bet you need to read this whole thread (again if you already have)... This has been covered...

Ah... any idea on the exact prices? I have not found any good sources yet. Futurlec and ebay sells the DIP40 version of the MT8816 for around $5 but not the PLCC 44 version.

DIP is preferable, and that's your source (futurlec, or ebay will do fine)

Which one am I missing?

The docmatrix! It was revealed in this thread but kinda pre-dates this project

There are a few reasons for me to probably drop the MT8816 in favor of the AD75019:

In the datasheets, the harmonic distortions and crosstalk specs are not so different

Well, they are really, it's a tradeoff. You've compared different specs there, they're measured differently by each manufacturer, you've been misled ;) I went into more detail earlier in this thread, but the nutshell is: AD = better THD, MT = better crosstalk... Being an acoustic instrument, the THD would be of lesser concern than crosstalk to me. That said, you're more than welcome to use the AD... but it's a while away, and if time invested is your concern then using one of the existing designs is the way to go. I just don't want to see you stressing out a couple months from now if it's not ready :)

Link to comment
Share on other sites

Ok, I just read this entire thread.

However the distortion figures are high, and that is a knockout blow for some projects, leading to the AD75019. These two chips compare the way they do for good reason - the Zarlink is intended for telephony systems, and you don't want people overhearing neighbouring phonecalls, so crosstalk is critical - but frequency content is not so important, whereas the AD is made for analog audio routing in studio or equipment's internal routings, so the distortion is low as heck, but that comes at the expense of slightly higher crosstalk figures. The catch is, they use a very different method of loading the crosspoints, specifically that the whole chip (or all chips) must be loaded at once.

Beware of the zipper.  If you're not carefull, when you load the matrix you'll get ziiippppppp.

Also, does it load fast enough to switch in a single guitar effect while playing?

in my other design with the MT8816, I was trying to be able to set up a patch series, then switch in and out any single effect with CC Commands.  So you could set up Guitar -> Distortion->Delay->amp and switch the Delay in and out on command.

I was modeling my design off of this.  http://www.soundsculpture.com/products/switchblade_models.htm

Curious,

Are the schematics that /tilted/ has done available for viewing?

Link to comment
Share on other sites

Thanks for the input dude!!

Beware of the zipper.  If you're not carefull, when you load the matrix you'll get ziiippppppp.

Also, does it load fast enough to switch in a single guitar effect while playing?

It's switches are buffered up (well, latched) so only the ones that change are flipped (IE, if you tell it to be closed, and it's already closed, it won't change) and they all change near-simultaneously. The total load time is in the 4-8ns region (typical to max, so should be 4ns mostly) so that's not too bad.

in my other design with the MT8816... you could set up Guitar -> Distortion->Delay->amp and switch the Delay in and out on command.

I think I was talking earlier about how we could implement an 'insert' effect, it would be great to have a saved source and destination for the insert which you could punch in and out like that, nice idea! and easy to integrate with this :) Thanks!

Are the schematics that /tilted/ has done available for viewing?

Last I spoke with him they weren't quite finished, I think he wants to finish them off before anyone sees them, understandably... I'll go prod him. ;D

Link to comment
Share on other sites

> "DIP is preferable"

Ok, great. I though the PLCC version would be wise so that it was more like the AD75019. Perhaps more uniform or something when it comes to PCB design.

> "docmatrix"

Right, thanks. I'll go and search for it.

> "you've been misled"

Yep, I guess so... Thanks for that info.

> "Being an acoustic instrument, the THD would be of lesser concern than crosstalk to me"

I'll check this thread again about some more details concerning this.

> "I just don't want to see you stressing out a couple months from now if it's not ready"

:) no worries! I'm a patient man. This is just a (serious) hobby, no stress involved.

Thanks for answering!

I'm glad that Chuck is joining here.

Chuck, I like your ideas because they are guitar FX switching orientated. That puts a different perspective on things.

Switching FXs in and out of an FX patch with CC messages is great!

And what about switching the patches themselves?

Link to comment
Share on other sites

Also, after going through the thread, I was unclear which matrix chip you settled on.

Or are you going for a universal, all three supported, approach?

Which would be cool if it could be done.

We can quite easily adapt the project for multiple device compatability.

I have already done layouts for:

Input Buffers Board of 16 inputs (Balanced input, unity gain, suitable for balanced line or guitar use (I think- pending testing))

Output Buffers Board of 8 outputs (Unfortunately due to it being done on Eagle Light with size restrictions, etc. again unity gain)

As well as crosspoint matrix boards for

MT8816 DIP 40

AD 75019

I also started a board for MT8816 PLCC 44, but this is a pretty horrible package layout to work with.

I also did a board for the AD 8113, but we all seemed to go cold on it largely due to price.

the boards are kind of in a holding pattern, while I/we figure out the best way to interface them with the core, so as to give best results for everyone.

Link to comment
Share on other sites

And what about switching the patches themselves?

I assumed that was a given.  :)

tilted:  Are you as still doing the 48 I/O version?  How many cross-point chips does that take now?

I have a ton of the MT8816 DIP chips, but I'm considering ordering some AD 75019 chips.

Since you're going with the buffers -- unity gain did you consider adjustable gain controls so input and output gain can be mixed properly?

Maybe using DACs or digital pots for the control?  So chains of patches can be mixed and saved?

Back to the core interface....

I implore you to look at http://www.soundsculpture.com/support/files/Sbgl_user_guide.pdf

I have two of these Switchblades, a GL and an 8B.  I was looking to "mimicking" the setup used for these.  (Not steal directly although I'm not talking about marketing a product but making a DIY audio router.)

If you look at Page 7, PROGRAM THE PATCH AND GAIN.  You'll see what I mean.

You create a patch record, which patches an input to an output.

This record also allows adjusting the gain of the patch.

You can create patch records with duplicate inputs or outputs.  This allows for multiple inputs to multiple outputs.

Example Patch Records.

SOURCE        DESTINATION        GAIN

instrument    distortion              0dB

instrument    delay                    0dB

distortion      amplifier                0dB

delay            amplifier            -12dB

Get the picture?

A collection of patch records is a single preset.

Presets are saved and recalled as program changes.

Earlier in the document, you'll also see that each input and each output has a record.

You name the input or output and you can assign a midi channel.

Inputs and outputs with the same name are considered a loop, which can be switched in an out with a CC command.

These records are global to the system.

Inputs

Jack        Device

01          GUITAR

02          DISTORTION

03          DELAY

Outputs

Jack        Device             

01          AMP

02          DISTORTION       

03          DELAY               

04          AMP2

There are also some setup/maintenance records.

If you look in http://www.soundsculpture.com/support/files/Smart_Insert_Upgrade.pdf

You'll see how the CC commands are setup and handled.

The switchblades also have a PC based setup/configuration with a graphical environment.  I wasn't going down that road.

The trouble I had, that let me get distracted to another project was that I'm used to programming C for very large system where memory is no issue at all and strings are handled with ease.  I had trouble stuffing this all into the limited capacity of the PIC.  Before you guys started this thread I was considering abandoning the core module and going to another processor -- like an AVR.  But now that real PIC programmers are involved maybe this project can fly.

Speaking of I/O -- While researching my other project I came accross these.

http://www.neutrik.com/us/en/audio/210_2146034064/NSJ12HF-1_detail.aspx

Mouser had them for $2.42 us.  WHich is for two jacks.

Trouble is they do not fit in any 1U case I found.  I actually purchased 4 separate vendor cases and couldn't find one that had enough space.  Even though the specs say 1.250" that doesn't include the pcb terminals.  You need one with slightly more then 1.50" space.

If anyone knows of a 1U case where the case itself is nearly the full 1U of height let me know as I really want to use 16 I/Os in a 1U case.

Have you discussed the control panel at all?

Chuck

Link to comment
Share on other sites

What the hell? I wrote a big long reply, and it's gone... damn!

Now I have to try and remember it all hahaha. Stuff it, this will be bullet-points:

Hey I just remembered the last thing I said, something about the midi technical fanatics brainwashing centre being gone. How much does that suck!!?! Maybe i said a swear word and my post was blocked....

Tilt: come to the chat! :)

DIP is the midibox standard where possible because it's easiest to solder. I guess it doesn't matter if it goes in a socket.

Your guitar will distort it's signal way more than these chips ever could. I don't mean distortion as in overdrive, i mean harmonic distortion as in the strings aren't perfectly in tune, hit frets, etc etc.. It's analog, so lots of sh** happens ;)

Crosstalk means your fx will leak into one another.... Not much, but it's worth considering.

I'm glad that Chuck is joining in here too!!

Why not switch fx with notes instead of CC's? (it's binary, makes sense)

Bank changes would be with midi bank change messages no? :)

This brings up something we haven't contemplated much - MIDI implementation. Any volunteers? That work will be a matter of talking a lot and typing up lots of pretty documents.

48 IO is 9 chips

Jacks should not be part of the design, so that anyone can use whatever they choose.

1RU is 1.75"

Link to comment
Share on other sites

What the hell? I wrote a big long reply, and it's gone... damn!

Why not switch fx with notes instead of CC's? (it's binary, makes sense)

This brings up something we haven't contemplated much - MIDI implementation. Any volunteers? That work will be a matter of talking a lot and typing up lots of pretty documents.

Jacks should not be part of the design, so that anyone can use whatever they choose.

1RU is 1.75"

Personally I don't care if we switch FX with Notes, but CC messages are easier for guitar players and most pedal systems send CC messages.

I didn't mean to make Jacks part of the design, just showing off some cool jacks.

1U Face Plate is 1.75"  1U chassis is varies by manufacture.

I know I need spell check.

Sorry you lost your message.

I'm not sure where chat is.

I'm not sure what you mean by Midi Implementation.  The code or the specification?

Link to comment
Share on other sites

Chuck:

There's a link to chat at the top of the page.

I feel your pain on 1U size. I remember trying to fit a VFD display in mine. VERY tight, but it worked.

Control surface: I suggested keeping it separate and MIDI based, as people have different needs, and there are great resources here already for custom designed boards.

DAMN! I was linking to the MIDI brainwashing center in the documents I'm writing now. I hope it's not permanently lost.

LyleHaze

Link to comment
Share on other sites

MIDI implementation of a device usually specifies in detail which MIDI commands are recognized by the device and what the response of the device will be.

For a crosspoint matrix audio/FX patchbay that could be:

- MIDI CC messages for setting switches / selecting FXs: Describe in detail how this is done.

- MIDI program change messages for selecting patches: Describe in detail how this is done.

- What else?

Example from the Switchblade manual, page 9:

RELAY STATE CC# CCvalue

1 OFF 113 0

1 ON 113 127

2 OFF 114 0

2 ON 114 127

3 OFF 115 0

3 ON 115 127

4 OFF 116 0

4 ON 116 127

48 I/O, as in 48 ins & 48 outs? That's beyond my current needs. One switch matrix chip of 8by16 or 16by16 would be enough for me. I guess the design could facilitate to scale up/down?

I currently see no direct need for gain or buffer stages. I assume all of the audio/FX sources to be well buffered / low-output-impedance / high-input-impedance already. Most of them have there own output volume regulations already so everything can be nicely setup with compatible signal levels. If needed, separate dedicated buffer or gain stages can be inserted into the audio chain keeping it all "modular". I do understand that is nice to have input/output buffers and programmable gain stages but for me it only complicates the circuit.

I'm in a "minimal" state of mind.  ;)

Link to comment
Share on other sites

48 I/O, as in 48 ins & 48 outs? That's beyond my current needs. One switch matrix chip of 8by16 or 16by16 would be enough for me. I guess the design could facilitate to scale up/down?

I currently see no direct need for gain or buffer stages. I assume all of the audio/FX sources to be well buffered / low-output-impedance already. Most of them have there own output volume regulations already so everything can be nicely setup with compatible signal levels. If needed, separate dedicated buffer or gain stages can be inserted into the audio chain keeping it all "modular". I do understand that is nice to have input/output buffers and programmable gain stages but for me it only complicates the circuit.

The chips we're looking at are all either 8x16 (MT8816) or 16x16 (everything else) devices.

The boards are intentionally designed to be modular, and so form a 'macro matrix' of boards joined in x/y directions. The pin headers on the boards themselves are oriented to facilitiate this very easily using IDC headers on ribbon cable. This means the design is fully scalable from 16x16 to 16nx16n

The buffer stages are on seperate boards, so you can use them or not. My sense of this is that for my own purpose (mainly studio use, potential for a second for just guitar or even more for a modular synth with patch recall)  - the buffer boards will come in handy for splitting signals etc, so as to not load the effect devices excessively.

Re: chat. Sorry stryd, but as I work in theatre, and the show season just finished, my schedule is all up in the air, so I'm not hanging around so much in the chat at my normal times. BRB! Promise! ;D

edit: algebraic semantics  ;)

Link to comment
Share on other sites

- What else?

The first thing to do is to go through this thread, and make a list of all of the supported functions we have discussed (such as the 'inserts' for example). While you're there, it makes sense to get a list of practical usage too, such as for an analog modular synth, or a guitar switcher, or big studio patchbay, or SID synth internal routing.

I think it will pay to consider the devices that are being used to send the controls. For example you mentioned that guitar pedal boards send CC's, maybe they can send notes too, I dunno...

Then, we can make a list of the functions and their required input ranges.

Then we can think about how to handle them.

I'm in a "minimal" state of mind.  ;)

That's the point of this project - it needs to be flexible to different needs. There are already at least two excellent audio switch matrices, hopefully this project will result in something which is compatible not only with those hardware designs, but also flexible into other setups.

Link to comment
Share on other sites

@/tilted/

That design sounds absolutely wonderful!  8)

@stryd_one

That sounds nice and structured to get to a good Midi implementation specification. I had no idea about the scale, various implementation options and flexibility that you try to achieve here. You guys are way ahead of me!

I guess I should just go through the whole thread again, lurk n keep my mouth shut for a while. ;)

In the meantime I'll focus on getting my MidiBox up and running and I'll try to imlement a minimalist FX true-bypass looper with 7 DPDT-relais and perhaps a FX order switcher thrown in for good measure.  :)

Link to comment
Share on other sites

The first thing to do is to go through this thread, and make a list of all of the supported functions we have discussed (such as the 'inserts' for example). While you're there, it makes sense to get a list of practical usage too, such as for an analog modular synth, or a guitar switcher, or big studio patchbay, or SID synth internal routing.

I think it will pay to consider the devices that are being used to send the controls. For example you mentioned that guitar pedal boards send CC's, maybe they can send notes too, I dunno...

Then, we can make a list of the functions and their required input ranges.

Then we can think about how to handle them.

I thought about how to go about this -- and I felt I didn't want to embark n this only to have someone else do the same thing...  Seemed like too much repeating the same work.

So can I suggest this work be done in a wiki page?  So that it can be added to or organized more as a groupware then a single thread?

Is this cool?

Link to comment
Share on other sites

Yeh, I think a wiki page(s) is definitely the go here.... I was thinking about making a highlights wiki page, with all the info from this thread brought together under headings of similar subjects and such, but I think that everything needed for the midi implementation will probably cover all that off.... So chuck if you're feeling generous that would be totally.freakin.awesome.

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...
 Share


×
×
  • Create New...