Jump to content

MBMixer V3


Psykhaze

Recommended Posts

Hello guys (and girls ? :) ),

Actually working on 2 MB 6582, a MBSeq V4 with 64 buttons matrix and a TR9090 , i was wondering how to mix all my audio outputs when i encountered the MBMixer project.

Good project by the way but seemed a bit outdated as well as PGA4311 seems to control only volume output and balance.

After a look on digikey , i found TDA7439 from ST microelectronics,

(specification sheet attached) CD00004906.pdf

a three-band digitally-controlled audio processor that allows to control tone AND volume of 4 stereo channels (for each channel independently , from what i've understood from the technical sheet) and wich is driven by IIC.

Then i got the idea of making a 16 stereo channels audio mixer (layout of control surface attached)

post-5424-0-03305300-1315370148_thumb.jp

driven by one (or 5?) core module(s) with a control surface based upon AIN / DIN / DOUT / LCD modules (i plan to use omron square illuminated buttons for mute and solo buttons

en-b3w-9.pdf

and pots for equalizers of each channels)

I've thought a bit about the possible interconnections between the modules following to the descriptions seen on ucapps.de, and i made a drawing

post-5424-0-04624400-1315370160_thumb.jp.

So as well as Core module manages to deal with I²C bus with IIC MIDI module , i thought that it could drive 5 (or 5 core module driving each) audio module made with TDA7439, with a little bit code and pcb making of course .

There would be 4 audio modules to control each group of 4 channels and 1 audio module to control the master output (the 4*4 group of stereo channels, or main mix in my drawing).

My questions are the following:

-Could i write the code in C instead of ASM , as well as my knowledge in ASM is limited ?

-Did i made any mistakes in the TDA7439 technical datasheet understanding?

-Driving 5 audio modules with one core through IIC wouldn't cause too much latency ,and in that case how much (and wich) core module should i need?

-Is somebody else should be interested in this project ? (being more than one person on a project allows the project to grow faster!!)

-Have you got any pieces of advice to give or any ideas ?

Thank you in advance for your answers,

cheers from france,

psykhaze

Link to comment
Share on other sites

Hi psykhaze...

very interesting project... I was evaluating stuff like this before I got an old analog mixer to get going (but still thinking of it)...

I didn´t read the datasheet yet, but would have a few things to add to the brainstorming...

a) Add "Fx Sends" channels... nothing is better than combining a great synth with cool external fx units (you don´t need returns, you can just use another input channel for that)

b) Add panning control per channel strip

c) Add motorfaders for automation? If done so, Treble/Mid/High/Panning/Send1...4 could be controlled and automated by the same motorfaders (just switch the mode)

d) use 2x40 character displays over the channel strips for "local" parameter/automation display

e) Build all channel strips identically and if possible modular, so that you can extend to 24 or 32 channels when your synth park grows.

f) Use the new LPC17 core instead of the old PIC core - and code in C instead of asm.

g) Add a "bargraph" led audio level meter (there are dedicated chips for that, i found them in an earlier thread) for the output - and add a dedicated output level fader

h) Add a channel "bargraph" led audio level meter per channel (post-fader).

i) Last, but not least... separate the user interface (basically just displays, motorfaders, VU level led matrices and switches) from the mixer for easier scalability, e.g. you could build one cheaper switchable 8-Channel UI for a total of 32 mixer channels. This also makes develpment easier and offers better "in studio placement". Communicate via MIDI or ethernet.

Greets and have fun!

Peter

Edited by Hawkeye
Link to comment
Share on other sites

Those TDA chips are a nice find! I don't think they were available the last time I was doing audio processing. :)

If I were to compare them directly to the PGA chips from a previous mixer project, there are a few points in each direction:

Good Points:

These include input multiplexers which the PGA chips do not. And they are "broken out" so you can get tricky if you want!

The tone controls are an obvious improvement (OK, I'm a bit jealous!)

The chips are MUCH more affordable than the PGA4311 chips are.

Not so good points:

The attenuation range is much smaller, and the step size is twice what the PGAs are.

The configuration is less flexible, it will take two chips per pair if you want to support Effect Sends.

I don't see any option for zero-cross switching, so the changes might be a bit noisy.

But they are certainly a viable choice!

On to a few of your questions:

C vs ASM: Whatever you are most comfortable with.

TDA datasheet understanding: It looks nice, but will need twice as many chips as PGA would. If you want details, just ask.

Cores needed: I didn't check the details, but you can probably do whatever you want. Latency WILL grow as chip count goes up. When it exceeds 1 MIDI byte-time, problems may begin.

Interested? I have some experience, and would be happy to help, but I probably will not get too involved, as I already have a MIDI mixer that's working fine.

Advice? Sure!

Everything Hawkeye said is a great start. I'll repeat something then add some more:

DEFINITELY separate the mixer from the control surface. There are many reasons why. If you REALLY want them together, make them as COMPLETELY SEPARATE projects sharing a single box. That way it'll be easy to separate them later.

VU meters are a great idea, but if you really want "cool", have the audio side read levels with Ainputs, and output the current levels as a MIDI stream. Then you can have REMOTE VU meters, or "soft" meters on an attached computer, or use external software to read the meters and adjust the levels (programmable AGC) and lots of other cool stuff.

I don't stop by here as often as I used to. I'm writing MIDI software for a bigger box now. But you are welcome to E-Mail me for further discussion.

I can be reached using my nickname at gmail.

Oh, you think MBMixer V2 is outdated?? It's been working great for years, and is actually in use at least 12 hours a day, seven days a week. thumbsup.png

Have Fun,

LyleHaze

Link to comment
Share on other sites

I'm not in the market for a mixer, neither do I use one apart from occasionally my RME soundcard, but....

My gut feeling is that the project would be more worthwhile if it weren't using volume control chips.

I'd try it

a: as discrete analog mixer

or my personal inclination:

b: using DSP like SigmaDSP family which is easily programmable via GUI software http://www.analog.co...sors/index.html

Edited by findbuddha
Link to comment
Share on other sites

hi Hawkeye,

thanks for this quick reply, you brainstormed quicker than i did myself and there are many points i agree with you , even if some would be hard to complete due to some technical difficulties , as each components and my budget have limits. I'll try to answer all your points first :

a) Adding FX sen woduld require 1 input by channel , so it would double the number of audio modules , and of course latency => it will multiply *2 the number of audio module and necessary data to drive . Another(s) core(s) will have to be used for sure in this case - do not sure i will include first but would like to solve the problem

b) TDA7439 doesn't offer panning control, as it even offers tone control , so another component will be required to control only panning - do not sure i will include first but would like to solve the problem

c) Using motorfaders is a great idea, but after my researchs , motorfaders compliants with MF module are hard to find and not very cheap - would need a updated list of motorfaders compliants with MF module that are not sold out - do not sure i will include

d) Really great idea! i include that in my design immediately

e) Modular chained modules was my goal, but keep in mind that the TDA7439 mixes a group of 4 stereo channels. Then you have to make a "main" mix between the groups of 4 stereo channels to get your master mix , it's like a tree

f) Planned to use STM32 core as well as available at smashTV shop, but if LPC17 core is better, would use this one for sure

g) Could you remind me the chip wich control the LED Bargraph ? by output level fader you mean gain ?

h) do not understand the utility of such a thing per channel , or i misunderstood something

i) This would be available by the programming but as well as you told the big LCD over each channel for control , the modular stuff would be grouped up to 16 channels .If you double everything you can go up to 32 stereo channels w/o FX sends (or 16 with FX sends) and 11 audio modules

I think i'll try to begin simple before making THE BIG MIXER ! ;) however i would like to solve the problems of FX sends and panning if possible, but i have not out-of-the-hat solutions to give for the moment

Cheers,

Jerome aka Psykhaze

Link to comment
Share on other sites

b) TDA7439 doesn't offer panning control, as it even offers tone control , so another component will be required to control only panning - do not sure i will include first but would like to solve the problem

e) Modular chained modules was my goal, but keep in mind that the TDA7439 mixes a group of 4 stereo channels. Then you have to make a "main" mix between the groups of 4 stereo channels to get your master mix , it's like a tree

b> The TDA chip offers panning by individually controlling the last gain stages,"Speaker Attenuation", separately for left and right outputs. If the inputs are stereo, it's balance. If a mono signal is fed to both channels, it becomes pan. Step Size, 1dB

e> The TDA does NOT mix 4 pairs.. It selects ONE of 4, then mixes that ONE pair.. It will NOT combine them for you. It's NOT a tree, it's volume and tone for a SINGLE audio pair. It's real important that you understand this.

Also, the reason I came back.. The serial control is addressed I2C, so you will NOT be able to "daisy chain" a bunch of chips together like the PGAs. You'll need a separate I2C port for each chip, as the addresses all match, and can not be changed.

This is not a problem if you're building channel boards with a separate PIC on each strip... but that may not be what you had in mind.

Have Fun,

LyleHaze

Link to comment
Share on other sites

oh god i had a post from the inventor of the MBmixer !!! so happy :)

Glad to hear from you lylehaze , i don't think that such anybody is much qualified than you to help me with your experience on your mbmixer :)

So for software i'll choose C language, as my knowledge is better than in ASM . I'm glad i understood the main things on the technical datasheet of the TDA :)

I think i will use 1 core to drive each audio module because i need the mixer to be reactive.

Happy too to benefit from your help, i'm sure it will be useful, i do not ask you to be involved but your advice will help me for sure !

VU Meters is a cool idea from hawkeye ,and your way to include it seems to be a great idea too.

Regarding to the control surface , i planned to make it based upon a Midibox64 as well as described on my drawing. Will separate it from the audio modules driving , even if there will be some kind of link somewhere in the software, but i will try to make it modular as possible.

Will join you soon at your gmail adress, hope we keep in contact,

cheers

psykhaze

Link to comment
Share on other sites

b> The TDA chip offers panning by individually controlling the last gain stages,"Speaker Attenuation", separately for left and right outputs. If the inputs are stereo, it's balance. If a mono signal is fed to both channels, it becomes pan. Step Size, 1dB

e> The TDA does NOT mix 4 pairs.. It selects ONE of 4, then mixes that ONE pair.. It will NOT combine them for you. It's NOT a tree, it's volume and tone for a SINGLE audio pair. It's real important that you understand this.

Also, the reason I came back.. The serial control is addressed I2C, so you will NOT be able to "daisy chain" a bunch of chips together like the PGAs. You'll need a separate I2C port for each chip, as the addresses all match, and can not be changed.

This is not a problem if you're building channel boards with a separate PIC on each strip... but that may not be what you had in mind.

b> Good to know, i didn't noticed this when i read the datasheet - i will add balance for each stereo channel this way !

e> ok then , i wasn't sure but now you tell me it becomes more clear.

a) Then my problem is how to combine the 16 channels? just soldering the mixed outputs together will combine them ?

b) Do i need a special audio processing component to combine the 16 channels ?

j> So if the serial control is adressed I2C , i need to make a channel board with a separate PIC on each in order to be able to chain the audio modules .

a) wich kind of PIC do you advice me , my goal was to obtain chained audio modules controlled by one core (see my drawing on my first post), as the I2C MIDI modules are.

b) is PIC programming for I2C port adressing hard to make ? i mean will i need to deal with complex ASM?

thanks in advance for your answers,

cheers,

Jerome aka psykhaze

Link to comment
Share on other sites

b> Good to know, i didn't noticed this when i read the datasheet - i will add balance for each stereo channel this way !

e> ok then , i wasn't sure but now you tell me it becomes more clear.

a) Then my problem is how to combine the 16 channels? just soldering the mixed outputs together will combine them ?

b) Do i need a special audio processing component to combine the 16 channels ?

j> So if the serial control is adressed I2C , i need to make a channel board with a separate PIC on each in order to be able to chain the audio modules .

a) wich kind of PIC do you advice me , my goal was to obtain chained audio modules controlled by one core (see my drawing on my first post), as the I2C MIDI modules are.

b) is PIC programming for I2C port adressing hard to make ? i mean will i need to deal with complex ASM?

thanks in advance for your answers,

cheers,

Jerome aka psykhaze

e> You can do it with just resistors, with a lot of loss in output level, or you can do it with a single op-amp per output channel and a bunch of resistors, for unbalanced outputs, or with two op-amps and some resistors per channel, for balanced outputs.

Don't be afraid of op-amps, they are pretty easy to figure out. A simple 8 pin DIP chip can provide two op-amps. So one little 8 pin DIP can mix left and right, unbalanced. 2 can make left and right balanced. There are many to choose from, I am using 5532's here.

It is possible to "bit-bang" I2C outputs, so you can get more than one per core, but this requires a bit more programming. These chips are not expensive, so maybe one per channel strip would be easier.

You could "network" them by MIDI to make life easier, as all the different boards you choose (PIC or otherwise) can do MIDI easily.

Everything in engineering is about compromise.. making choices to get what you want without too much trouble.

At this point you have a LOT of choices, and each one will affect all the others, as well as the final project cost and capability.

The better you know what you want, the closer you can get to it. The more study you do first, the less surprises you'll get later.

The answers I give are not the "BEST" ways, just what worked best for me.

Most of all, Have Fun!

LyleHaze

Link to comment
Share on other sites

e> You can do it with just resistors, with a lot of loss in output level, or you can do it with a single op-amp per output channel and a bunch of resistors, for unbalanced outputs, or with two op-amps and some resistors per channel, for balanced outputs.

Don't be afraid of op-amps, they are pretty easy to figure out. A simple 8 pin DIP chip can provide two op-amps. So one little 8 pin DIP can mix left and right, unbalanced. 2 can make left and right balanced. There are many to choose from, I am using 5532's here.

I will use one balanced output per channel, and then mix all 16 channels together. Here comes the "tree" i think ?

Have you got schematics of the job you've done with yours op-amp ? i understand the principle, but as i always says , a beautiful drawing is better than hours of explanations (wikipedia drawing of the good schematic will fit perfectly!). I've studied op-amp during my studies , but my lessons are a bit far away...

i've tried a search on digikey with keyword 5532 in the section op-amp and did not found the 8 pin DIP you are talking about.

i'm having a lot of fun about designing this mixer by the way :) sure it will be a great project !!

Link to comment
Share on other sites

OK.. NE5532 is a better part number.

The mix circuit: Balanced is most useful when signals are being carried some distance, to prevent interference.

Many people would use unbalanced signals "on board" and only use balanced for the final output.

The signal will be unbalanced going through the volume chips no matter what.

And a lot more people would just go unbalanced all the way.!

If you build TWO of this circuit, and call one "LEFT" and one "RIGHT":

http://www.midibox.o...=pga:ch1out.gif

And then connect a 10K resistor from EACH individual channel "Left" to the left screw input,

And then connect a 10K resistor from each individual "RIGHT" output to the right screw input,

then you will have a full stereo mixer, with balanced or unbalanced outputs for left and right.

And that is from one "haze" to another.yes.gif

p.s. that is a bipolar circuit, it requires both + and - voltage to power it.

Edited by lylehaze
Link to comment
Share on other sites

Wow, very active topic - just been away a few hourz and everything has been said meanwhile :) Greets to all :-)

Regarding h) - as jojjelito mentioned, the chip name is LM3915... I wanted vu-meters for all channels for the bling and also for better visualization of channel activity (peak levels), etc... something i am missing on my mackie (am aware of "solo monitoring ":-)).

Just one other brainstorming point regarding modularity and expansion... as you said, it is a tree... but wouldn´t it be great, if you could just add other "tree" elements to the core mixer module and make the separated UI switchable between the channels?

Good luck with the project!

Peter

Edited by Hawkeye
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...