Jump to content

MIDIBox Mixer - A PGAx311 Audio Mixer


lylehaze
 Share

Recommended Posts

Hey everyone!

I'm back here :)

I'm looking for some kind of IR remote decoder with a midibox (to  controll either a PGA, or an alps motorized pot for a power amp), and decided to see if anybody here hasn't got the same idea :)

Lylehaze : did you go any further in IR control? (RC5 decoding, or something likethat?).

I also don't have much time to work on that kind of stuff too, and that's why I'm looking in a MBHP powered solution. I think it could be great to have this working with the PGA mixer stuff.

Pilo.

Link to comment
Share on other sites

  • Replies 232
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

The good news:

I have semi-working code in straight MChip asm for a 18F458.

The Bad news:

I just moved a few weeks ago, and I CANNOT FIND A DAMN THING.

I have not yet unpacked my office/shop/workbench/picstuff.

I'm currently working 7 days a week, usually 12 hours a day.

If you can wait a few weeks, I should have a non-MIOS remote receiver that

supports channel select and volume/balance, probably from a (or ANY) sony

remote, and send out MIDI messages as a result. From there, it should be easy

to edit it up to whatever details you want.

The 458 code is real close to compatible with 452, so no problems there.

I will TRY to get it in a few weeks, but with work going off-the-hook, it's hard to

make promises.

Nice to see you Pilo. :)

Lyle

Link to comment
Share on other sites

Lyle (et al.),

I'd like to build 16 chanel full audio mixer with no effects but with 3- or 4-band EQ on each channel. I'd like to place some 3/4-band filter before each channel board to allow control of per-band volume. The idea is that EQ tone characteristics would be controlled by 3 or 4 different CCs, the resulting 16 channels would mix into resulting sound controlled by volume/pan CCs for the same 16 channels.

For the input channels, I need 16 boards (possibly 2 cores with 8 channel board each), for post-input 16 "equalised" channels another 4 channel boards (with 3rd core) will be needed. Since there are still just 16 audio channels altogether, standard MIDI channel to audio channel mapping would be used (though it's no problem to workaround this limitation as stated by you several times). So far, so good.

What is starting to confuse me are the audio busses to connect to. After reading channel board info, your recommendations regarding line vs. full audio mixer it seems to me that buses will be not needed between the two sets (per-band input and post-input) boards at all, but all PGA outputs for a single channel (i.e. for per-band input channel board) will be connected together forming a single audio feed for second set of input boards (post-input). These post-input channel boards will control volume and pan of the resulting sound and therefor will have L/R busses which will be mixer output connections.

Did I get the channel/bus idea right? Is this concept practical or did I miss something while thinking about it?

Thanks.

Link to comment
Share on other sites

Hi Freddy,

First, I must apologize for the slow reply.

After a long period of unemployment, I'm now working, and I managed to put in 66 hours this week, so I have not had much time for web surfing.

Back to the point:

You are asking exactly the right questions, but I'm not sure what the best answers are.

I'll go into as much detail as I can at this late hour:

In the existing, non-EQ mixers, ALL of the various controls are "sorted down" in software into simple level controls.

This "feature" confuses people who are accustomed to "regular" mixers. A non-Effects example:

What I'm saying is that even though the user has all of Volume, Expression, Balance, Pan, and Master Volume..

In reality these all reduce down to TWO volume controls.. One for the right, and one for the left. That's all there is!

And they mix right onto the "final" left and right output busses, with NO "master" faders there.

Interestingly, whether it's a Mono or Stereo "feed" into the channel makes no difference, it's still two "real" faders.

So the EQ.. take the incoming line level audio feed into four parallel bandpass filters.. the result is four separate audio signals, Bass , lo-mid, hi-mid, and high. Now we feed each of those into one of four PGA channels, this is where we get "control" of the EQ.. after those, they all re-combine into a single audio signal that has been tone-conditioned.

Now comes the choices.. we can either.. take that "toned" signal into the existing PGA design, and use 2 more channels of PGA for volume control.. OR.. we can make TWO of those 4 band EQs, and have each one dumping directly to the output busses (left and right)

Option 1 requires a total of SIX pga channels(there are 4 per chip) for a stereo feed (non-effects) and the audio passes through two gain stages before reaching the output..

OR

Option 2 requires a total of EIGHT pga channels, but the signal is only processed through ONE gain stage.

Either way could work..

I have not built either yet.

I intend to make an EQ after I'm done with the meter bridge transmitter, but I have not made it yet.

I DO NOT want anyone to wait for me.. I am busy, and the software is "open" in hopes that others will contribute things like EQ and stuff.. SO this is just my concept of how it might work.. Others are invited to contribute in any way they wish.. (more on that later)

Other thoughts: The software is all ASM right now, and I'm not porting it over to C anytime soon.

You are absolutely right that it can be modified to do this on a single core, 16 channels wide, no matter how many PGA chips it takes.

I would STRONGLY advise that your control surface be done separately, on a separate core.

The code is really simple, and it's divided clearly into sections that make sense.. If anyone wants to get in there and make changes, I WILL offer my support by E-mail or in these forums as they go. No Fear!

Other details:

Smash and I have been detailing how these boards will be produced.

The designs shown now in the WIKI are not the same as the final product. I worked hard to make them too small, and also too difficult to assemble. I also made them assuming that everyone would be building pretty much the same thing. Even though they have not yet been released, it has become obvious that these mixers will be used in a LOT of different ways, and we need to make them more diverse and flexible.

The new boards will be bigger, but they can still be stuffed in a 1U rack case if desired. The "stack pins" are gone, replaced with more "user friendly" connection methods. There will still be a resistor "breakout area" that will let users mix down to 2 or 4 audio busses, but it will also be easier to break ALL the outputs separately, in case you want to do something weird. It looks like we'll be putting 4 PGA chips on each board, so larger projects can be realized with fewer circuit boards.

Also, it looks like the "input processing" section may be reduced or eliminated. There are just too many different things people want there, from simple op-amps to digital preamp controls.. and a fair number of people need no input processing at all!

So you'll have the option of "designing" the EQ yourself, just by making 4 bandpass filters, and then hacking the software into doing it your way, whichever way you choose.

Honestly, it tickles me to no end that my project is coming around, and it will probably lead a lot of experimenters into playing with analog circuits. We may even need an "op-amp" questions area on the forums! (OK, probably not)

I didn't answer your question, but I hope I gave you what you need to begin thinking about it.

Further discussion is welcomed, even if it takes me a few days to answer.

LyleHaze

Link to comment
Share on other sites

  • 2 weeks later...

Lost posts:

freddy

Posted 28 October 2009 - 12:34

First, I must apologize for the slow reply.

After a long period of unemployment, I'm now working, and I managed to put in 66 hours this week, so I have not

had much time for web surfing.

No problem at all, everyone has other things to do. Just keep your job!

So the EQ.. take the incoming line level audio feed into four parallel bandpass filters.. the result is four

separate audio signals, Bass , lo-mid, hi-mid, and high. Now we feed each of those into one of four PGA channels,

this is where we get "control" of the EQ.. after those, they all re-combine into a single audio signal that has been

tone-conditioned.

Now comes the choices.. we can either.. take that "toned" signal into the existing PGA design, and use 2 more

channels of PGA for volume control.. OR.. we can make TWO of those 4 band EQs, and have each one dumping

directly to the output busses (left and right)

Meanwhile I managed to build 8-channel 3-band Butterworth filter to feed each channel to a single PGA. I'll

connect the three per-band outputs together (hoping there are no big time differences between the bands, using an

osciloscope there is a difference but it seems to be the same for all bands) and employ the 4th PGA input to be used

for per-channel master gain control. I've received 4 PGAs yesterday, expecting another 5 free TI samples arriving

today, waiting for a SOIC ZIF socket to test everything (two channels for start) on a breadboard or vectorboard.

I'd like to make output section configurable therefore would like to build a patch-panel to mix individual channels

to resulting output buses, I need to test this as well since I'm unsure how many outputs can drive how many inputs.

I'm still unsure how many PGAs will be needed for 4 buses (2x L, 2x R) with individual per-channel pan control. If

there would be no pan one PGA (4 inputs would suffice). I didn't peek into sources yet so I don't know how was

your pan implemented (whether two opposite-bound channels to lower left while raising right and vice-versa), but

I'd say there is a better solution for sure.

Option 1 requires a total of SIX pga channels(there are 4 per chip) for a stereo feed (non-effects) and the

audio passes through two gain stages before reaching the output..

OR

Option 2 requires a total of EIGHT pga channels, but the signal is only processed through ONE gain stage.

Hm, there is no problem for employing several cores to drive multiple stages for this design if necessary, so singlestage

is not a strict requirement.

Either way could work..

I have not built either yet.

I intend to make an EQ after I'm done with the meter bridge transmitter, but I have not made it yet.

I DO NOT want anyone to wait for me.. I am busy, and the software is "open" in hopes that others will contribute

things like EQ and stuff.. SO this is just my concept of how it might work.. Others are invited to contribute in any

way they wish.. (more on that later)

MIDIbox 28-10-09 21:16

http://midibox.org/forums/index.php?app=forums&module=forums&section=printtopic&client=printer&f=39&t=6776 Pagina 57 van 58

way they wish.. (more on that later)

Link to comment
Share on other sites

lost posts:

lylehaze

Posted 28 October 2009 - 16:24

I managed to build 8-channel 3-band Butterworth filter to feed each channel to a single PGA.

If you're happy with the circuit, I hope you'll share it

I'll connect the three per-band outputs together (hoping there are no big time differences between the bands,

using an osciloscope there is a difference but it seems to be the same for all bands) and employ the 4th PGA input

to be used for per-channel master gain control.

That works, but leaves you without pan/balance control.

waiting for a SOIC ZIF socket to test everything (two channels for start) on a breadboard or

vectorboard.

I used "Schmartboards" successfully to prototype the circuit. They worked very well.

there is no problem for employing several cores to drive multiple stages for this design if necessary, so

single-stage is not a strict requirement.

My desire for less stages is about sound quality more than core count.. I don't know of any quality problems with

multiple stages, but I have never tried, either.

The software is a bit over-commented.. some find that annoying, but it is the lesser of two evils.

Put simply, incoming MIDI messages that affect the mix are stored in a big array, and any channels that may

change as a result are flagged for re-calculation.

Then the "math" part processes each flagged channel, combining volume, expression, master volume, pan/balance,

effects levels, and effects flags into a single gain setting for each PGA gate. Finally, after all calculations are current

with the MIDI data table, the gain settings are written out as a big block to the PGA chips.

Of course there are other minor routines.. save and restore bank settings, display channel names and gain settings,

responding to MIDI requests for the current state of the MIDI table.

After explaining all that.. consider this: instead of a 3 band EQ followed by a single gain control.. how about adding

to the end of the "math" part above by taking the final gain result for a given channel, then multiplying it by each of

"Bass" "Mid" and "Treble" levels for that channel.. NOW you'll have achieved the same as if you had a separate level

control after the EQ, but you'll have used one less PGA channel to do it. Those three PGA channels give you all the

control after the EQ, but you'll have used one less PGA channel to do it. Those three PGA channels give you all the

control you asked for.. but with less hardware.. And less hardware usually means better sound quality.

I'm not sure I'm explaining myself properly.. I'll try a different way..

Please see the attached crude graphics..

(http://midibox.org/forums/index.php?

app=core&module=attach&section=attach&attach_rel_module=post&attach_id=5571)

(http://midibox.org/forums/index.php?

app=core&module=attach&section=attach&attach_rel_module=post&attach_id=5572)

You're using six gates, but each signal is only being "processed" ONCE..

You still have ALL the controls you had before, but a shorter signal path.

The software will combine volume, expression, balance, master volume, and EQ settings into six levels, for those six

PGA Level controls.

You also get the (probably not useful) option of having a separate EQ settings for left and right.

One last thing.. if you went to a 4 band EQ, there would be one PGA chip for each audio channel,

much easier to divide up as you build.. (though I think the software could handle it either way)

I have written enough for now.. I'd love to see some discussion on this when I get back from work tonight.

LyleHaze

Link to comment
Share on other sites

  • 2 weeks later...

I used "Schmartboards" successfully to prototype the circuit. They worked very well.

My desire for less stages is about sound quality more than core count.. I don't know of any quality problems with

multiple stages, but I have never tried, either.

As mentioned before, I'm using ZIF socket for SOIC (from my EPROM programmer). I only have a single one and it's quite expensive (60EUR), I doubt I'll buy more. But since I definitely know I'd like to build PGA-based MIDI mixer, as soon as I make a PCB and solder the PGA (I'll do that at least for a few channels regardless whether I'll use single- or double-stage) I'll free the ZIF socket and will continue with multiple-stage experiments.

The software is a bit over-commented.. some find that annoying, but it is the lesser of two evils.

Put simply, incoming MIDI messages that affect the mix are stored in a big array, and any channels that may

change as a result are flagged for re-calculation.

Then the "math" part processes each flagged channel, combining volume, expression, master volume, pan/balance,

effects levels, and effects flags into a single gain setting for each PGA gate. Finally, after all calculations are current

with the MIDI data table, the gain settings are written out as a big block to the PGA chips.

Of course there are other minor routines.. save and restore bank settings, display channel names and gain settings,

responding to MIDI requests for the current state of the MIDI table.

After a few tries I managed to get the functionality as desired, thanks for explanations and to source comments. There are still few flaws in the implementation, but since I'm using a single channel for now it's usable, though.

...

if you went to a 4 band EQ, there would be one PGA chip for each audio channel,

much easier to divide up as you build.. (though I think the software could handle it either way)

I have written enough for now.. I'd love to see some discussion on this when I get back from work tonight.

Up till now I as experimenting with different filters. First, I used a simple 3-channel Butterworth filter (http://users.otenet.gr/~athsam/3_way_active_loudspeaker_eng.htm) but this one suffered from phase shifts and time delays. The resulting sound distortion was audible even by me, this is a 6dB/oct 1st order filter with no linear phase, so this is obvious. Too bad for me that I already bought components for several channels. I'll try to reuse them. Hmm, it's been quite a time I left the uni and I wonder where my calculator is?!

Currently I'm using 3-channel linear phase response crossover filter (http://users.otenet.gr/~athsam/3way_active_crossover_with_linear_phase_eng.htm, really a great spotted site, Lyle!) built on a vectorboard:

vectorboard.jpg

(I managed to fry few of the chips, does anyone know if TI keeps records of the sample they sent? Can I ask for more samples? :rolleyes:)

For simple sinewave the crossover works as a charm for the entire 20-20.000Hz spectrum, but for more sophisticated waves (triangle and pulse) the resulting output is distorted:

(1kHz triangle)

triangle.jpg

(1kHz pulse)

pulse.jpg

The waves remain far from their meant-to-be shape regardless of filter trim-tuning... Hopefuly someone with audio (and mathematics) skills can tell me what harmonics are missing or are much too loud...

However, for really complex waves (music) the distortion is barely audible (at least by my ears and more-than-average quality headphones).

One more thing to ask for, if the troubles are solved and I'd be thinking about building the PCbs for multiple channels, I wonder if anyone could help me with PCB routing? Of course, I'd give out the schematics in Eagle but I'm really unskilled with PCB design and effective components layout. I'd really be thankful if anyone could give a hand...

Link to comment
Share on other sites

Did you use the component values sugested in the article? Did you look at the different filter outputs paralell on different oscilloscope channels? I think it looks like the channels have different phase after all, but I am absolutely not sure about it.

Yes, same values were used, even the 56.3k resistor is 56.3k, rest is within tolerance of the components, though I know that audio applications are quite sensitive to tolerances, but since MKT capacitors are +/-5% at best, there is not much to choose from...

Hi,

I am also not a DSP specialist.

My suggestions:

- set the oszi to AC and measure again

- check and measure the power source during triangle and pulse

- check and measure the clock

Hmm, the osci is set to DC (I didn't see any difference for sine wave, that's why), I'll change it to AC. I didn't catch the difference, anyway :rolleyes: . I'll take a test look in the evening, thanks for hints so far :rolleyes:

Do you use a amplifier?

If you consider PGA being an amplifier, then yes, but the freq response should be okay for PGA, according to datasheet and web page it's used in professional audio application. Anyway, the interconnection looks like: Functional generator -> filter -> PGA -> Oscilloscope.

I never checked whether the output of filter directly is distorted for non-sine signals or not (I doubt it'll be distorted), I always connected the osci after the PGA amplifier. I'll do that when I get back home.

I did more checks meanwhile and found out, that when a signal passes through a single filter (>10kHz, i.e. only HPF is involved), the signal is distorted as well (measured at PGA output as mentioned above), do the phase and delays are not involved in this case. I'll see tonight whether the filter output itself is distorted or whether PGA adds the distortion...

Edited by freddy
Link to comment
Share on other sites

I did more checks meanwhile and found out, that when a signal passes through a single filter (>10kHz, i.e. only HPF is involved), the signal is distorted as well (measured at PGA output as mentioned above), do the phase and delays are not involved in this case. I'll see tonight whether the filter output itself is distorted or whether PGA adds the distortion...

It makes sense that the signal looks distorted. A sine wave will probably be passed through one filter only and thus there is no risk for interference due to phase differences. The other signals are composed of many frequencies. To get a complete square wave out you'll need to have the output of all filters added together, in phase. Thus, if you take the output of one filter only, it will not resemble a square wave, especially not the HP-filter. Attached a matlab plot of a hp-filtered square wave. Excuse me if this is old news...

post-5357-12585612474_thumb.jpg

Link to comment
Share on other sites

Strophlex,

It makes sense that the signal looks distorted. A sine wave will probably be passed through one filter only and thus there is no risk for interference due to phase differences. The other signals are composed of many frequencies. To get a complete square wave out you'll need to have the output of all filters added together, in phase. Thus, if you take the output of one filter only, it will not resemble a square wave, especially not the HP-filter. Attached a matlab plot of a hp-filtered square wave. Excuse me if this is old news...

the reason why a filtered non-trivial wave (triangle/square) is distorted is clear to me, the formulas can be found on Wiki or in my school notes. This is not the case, unfortunately. Well, it is, but this is obvious.

The problem in my case is that (after new measurements were done) non-filtered complex wave is distorted. In the attachment below, there are two 10kHz waves passing through filter and measured at filter output. The HPF crossover point is 2kHz, so the waves are far above it (10kHz), therefore passing only through HPF. Since they're for some reason distorted already at filter output it's clear that PGA can't do anything about it... I only have one osci probe so I cannot make ALT snapshot of the two waves, but I'll get second tomorrow, promised! :rolleyes:

Maybe this is given by the filter construction - I don't know the english word but the filter itself consists of two LPF filters (and time delay units) and the filtered signal is substracted from the original signal in subsequent stages, so since there is phase difference (if phase difference is what I see on the osci) - this is the only place distortion can occur. This filter was chosen since it has 'linear phase', but apparently 'linear' doesn't mean 'flat'... Apparently, I need to make more filter experiments, anything to suggest? Bessel filters seem to have flat phase delay, they'll be probably my next choice for testing...

- check and measure the power source during triangle and pulse

- check and measure the clock

What did you mean by these? Direct generator measurements? These are as straight as expected with no distortion, so the generator works as a charm. Or?

Thanks for more info and ideas!

What is interesting to me is that for 100kHz the waves are much more what they should be. Is there an explanation for this? (See latter two thumbnails)

post-3601-125858358182_thumb.jpg

post-3601-125858359089_thumb.jpg

post-3601-125858359674_thumb.jpg

post-3601-125858360474_thumb.jpg

Link to comment
Share on other sites

So these signals have a frequency of 10kH and 100kHz and where sent through a hpf with cutoff frequency of 2kH? Looking at the square waves, I think they look low pass filtered, the 10kHz one more than the 100 kHz one. Is there some low pass stage in the filter you sent them through? In that case the 100kHz signal should be more affected then the 10kHz so it doesn't make sense. It's still early here so my head is not started yet. Anyway, I think the second osc. probe will show something.

EDIT: I looked at the wrong pictures... Both square waves look hp-filterd. Looks like a hp-filter with cutoff frequency at well above 100kHz. Did you look at the signals through the amp only yet? I don't understand this

"Since they're for some reason distorted already at filter output it's clear that PGA can't do anything about it... "

Sounds like you assume the hp-filter works. Why not just connect the scope to the output of the amp if you didn't do that allready.

Edited by strophlex
Link to comment
Share on other sites

Strophlex,

now I've got the impression that I'm lost in your answer ;-)

So these signals have a frequency of 10kH and 100kHz and where sent through a hpf with cutoff frequency of 2kH? Looking at the square waves, I think they look low pass filtered, the 10kHz one more than the 100 kHz one. Is there some low pass stage in the filter you sent them through? In that case the 100kHz signal should be more affected then the 10kHz so it doesn't make sense. It's still early here so my head is not started yet. Anyway, I think the second osc. probe will show something.

EDIT: I looked at the wrong pictures... Both square waves look hp-filterd. Looks like a hp-filter with cutoff frequency at well above 100kHz. Did you look at the signals through the amp only yet? I don't understand this

Not sure what you mean by 'amp' (maybe the op amp?), the only 'amp' that might possible involved in the setup is the PGA chip itself. The current setup is either:

(final setup)

function generator -+- LPF -> PGA channel -+- oscilloscope

                    +- BPF -> PGA channel -+

                    +- HPF -> PGA channel -+
or (filter testing setup)
function generator -> LPF -> oscilloscope

                   -> BPF -> oscilloscope

                   -> HPF -> oscilloscope
The waves above were measured with this testing setup:
function generator -+- LPF

                    +- BPF

                    +- HPF -> oscilloscope

Since the waves were 10kHz, resp. 100kHz, besides the "substraction" filter construction, I'd assume that the signal passes only through "HPF" though "HPF" is composed of two "time delay" units and summing unit (confirmed by the oscilloscope - no signal was on BPF or LPF).

Hmm, looking at the schematics (here, for quick reference), the BPF takes input signal, filters high frequencies using 3kHz LPF and substracts the already filtered LPF signal, resulting in band-pass filter 200Hz-3kHz. Following the same logic, I'd assume the HPF should take delayed input signal (connected to positive input of IC7/B) and substracts BPF signal (connected to negative signal of IC7/B). The delayed signal connects to negative input, however. Am I missing something? If there is no reply for this during the day, I'll try to connect it (as it makes sense to me) in the evening... Strange thing for me is, that the filter does actually work, for sine wave, that is.

"Since they're for some reason distorted already at filter output it's clear that PGA can't do anything about it... "

Sounds like you assume the hp-filter works. Why not just connect the scope to the output of the amp if you didn't do that allready.

Again, not sure what you consider being an 'amp' - op amp? The osci is connected either directly to filter outputs (i.e. op amp outputs plus some resistors/capacitor) or after all PGA channels, which has all the filter outputs mixed. The snapshots in my previous post were done with osci connected directly to filter output.

Thanks!

Link to comment
Share on other sites

  • 3 weeks later...

Hi,

after several unsuccessful tests with different filters and crossovers I've decided to go for basic 6-band equalizer. For setting the per-band level I'll use digital potentiometers. Since there are 6 bands I'm going for Analog Devices AD5206. The equalizer is a standard one with op-amp input and output buffers and gyrators to substitute inductors in LC pass-band filters. The component values to be used were computed based on my in-shelf supplies to re-use maximum amount of filter capacitors bought for different filter and crossover attempts, but basically the bands are 50Hz, 100Hz, 200Hz, 800Hz, 3200Hz and 12800Hz. Resulting audio signal will be connected to two PGA channels (left/right) to control channel volume. The mixer will be controlled via MIDIBox 64 (or 64E, though 128/128E would be useful for controlling 8 parameters for 16 channels :rolleyes:).

THe AD5206 uses the same SPI control bus as PGA4311 is using, so I'll start making the modifications to the software as soon as the equalizers and PGA channels are build. There will be 16x AD5206 and 8x PGA needed for 16 stereo channels plus additional 2 PGAs for total 4 stereo output buses (as mentioned in the previous posts), so the SPI bus control signals (CLK and /CS) will definitely need to be buffered.

For results see the thumbnails below, they are (in the following order):

- response for 100Hz sine wave, the original (unmodified) wave is cut down in half to see both waves

- response for 100Hz triangle wave with original cut down

- response for 100Hz pulse wave with original cut down

- response for 100Hz "equalized" pulse wave with original cut down

- response for 1kHz pulse wave with original cut down

- response for 10kHz pulse wave with original cut down

- my current desk top with the EQ circuit built on vectorboard (no PGAs and no AD5206s yet)

A slight distortion can be seen on all waves (because of shutter speed you may notice the higher-amplitude signal being "thicker" than the other one), it can be seen best on the 1kHz pulse wave. According to the tests performed this is caused by the wires connecting potentiometers with rest of the circuit, there is no ground on the wire. When AD5206 will be used, I'll take care and make the audio lines as short as possible, when possible with analog ground surrounding the lines.

Wish me luck...

post-3601-126004687578_thumb.jpg

post-3601-126004688266_thumb.jpg

post-3601-126004688676_thumb.jpg

post-3601-12600468912_thumb.jpg

post-3601-126004689808_thumb.jpg

post-3601-126004690479_thumb.jpg

post-3601-126004691227_thumb.jpg

Link to comment
Share on other sites

Hi,

after several unsuccessful tests with different filters and crossovers I've decided to go for basic 6-band equalizer. For setting the per-band level I'll use digital potentiometers. Since there are 6 bands I'm going for Analog Devices AD5206. The equalizer is a standard one with op-amp input and output buffers and gyrators to substitute inductors in LC pass-band filters. The component values to be used were computed based on my in-shelf supplies to re-use maximum amount of filter capacitors bought for different filter and crossover attempts, but basically the bands are 50Hz, 100Hz, 200Hz, 800Hz, 3200Hz and 12800Hz. Resulting audio signal will be connected to two PGA channels (left/right) to control channel volume. The mixer will be controlled via MIDIBox 64 (or 64E, though 128/128E would be useful for controlling 8 parameters for 16 channels :rolleyes:).

THe AD5206 uses the same SPI control bus as PGA4311 is using, so I'll start making the modifications to the software as soon as the equalizers and PGA channels are build. There will be 16x AD5206 and 8x PGA needed for 16 stereo channels plus additional 2 PGAs for total 4 stereo output buses (as mentioned in the previous posts), so the SPI bus control signals (CLK and /CS) will definitely need to be buffered.

For results see the thumbnails below, they are (in the following order):

- response for 100Hz sine wave, the original (unmodified) wave is cut down in half to see both waves

- response for 100Hz triangle wave with original cut down

- response for 100Hz pulse wave with original cut down

- response for 100Hz "equalized" pulse wave with original cut down

- response for 1kHz pulse wave with original cut down

- response for 10kHz pulse wave with original cut down

- my current desk top with the EQ circuit built on vectorboard (no PGAs and no AD5206s yet)

A slight distortion can be seen on all waves (because of shutter speed you may notice the higher-amplitude signal being "thicker" than the other one), it can be seen best on the 1kHz pulse wave. According to the tests performed this is caused by the wires connecting potentiometers with rest of the circuit, there is no ground on the wire. When AD5206 will be used, I'll take care and make the audio lines as short as possible, when possible with analog ground surrounding the lines.

Wish me luck...

Very nice, Good Luck!

I hope we get all the details as this unfolds.

It's going to take a lot of knobs to get control of this. If you'd like a tool to help out before the MB64 is built, I have java code here for a mixer window.. It would take about three minutes to add six EQ knobs to each channel.. I'd be happy to send you the java code, or even to add the EQ knobs first, if you'll tell me what Control Change numbers you're using for each band.

In any case, it looks great.. I'm envious of your project!

Link to comment
Share on other sites

Very nice, Good Luck!

I hope we get all the details as this unfolds.

It's going to take a lot of knobs to get control of this. If you'd like a tool to help out before the MB64 is built, I have java code here for a mixer window.. It would take about three minutes to add six EQ knobs to each channel.. I'd be happy to send you the java code, or even to add the EQ knobs first, if you'll tell me what Control Change numbers you're using for each band.

In any case, it looks great.. I'm envious of your project!

Lyle,

thanks, though I have Korg 49 for MIDI control, the tool you're mentioning would definitely help. My current MBMix CC assignment uses CC#91-CC#93 (for old-to-be LPF, BPF and HPF), but since there will be six levels to control plus per-channel Volume (CC#7), Pan (CC#10) and four global L/R buses (not decided on MIDI implementation), I'll use Sound Controller 1-6 (CC#70-CC#75) for controlling the EQ. I'd be happy to use the tool, I didn't figure yet whether the Korg 49 is able to use MIDI channel 'shift' for 8 encoder/8 fader controllers.

Looking forward, thanks!

P.S. Of course, once the prototype is built I'd be happy to share the schematics and source code!

P.P.S. The project wouldn't even start if you didn't start fiddling with PGA, not even talking about TK and the whole MIDIBox :rolleyes:

Edited by freddy
Link to comment
Share on other sites

  • 5 weeks later...

P.S. Of course, once the prototype is built I'd be happy to share the schematics and source code!

So here are all the schematics and PCB designs, I was busy designing and creating the PCBs during Xmas (I luv Xmas :rolleyes:).

However, after building the EQ prototype I found out that it's much too noisy, even with no pots connected I'm unable to get square output from square input... The best result is attached down there. Apparently the PCB design causes the noise (however there was no noise when the EQ was built on a vector board), are there any audio PCB design rules I should be aware of? I'm planning to use shielded cables for connecting the pots, I can also try leading a grounded isolated wire between each two audio signals for test (input, output and pot connections) next to analog ground? I can try to modify the already-built PCB but would like to know whether it actually helps before I re-design (and etch) the PCB...

Below is the EQ PCB design as well for quick reference.

Thanks.

P.S. If anyone is thinking about building such mixer I'd encourage to use AD5204 instead of AD5206, though more ICs will be used AD5206 has no SDO signal and doesn't allow chaning, that's the reason for all the /CS logic found on 2nd sheet... I do already have 20x AD5206 so this is no choice for me :wacko:

MBMixer.zip

post-3601-12626866209_thumb.png

post-3601-126268666085_thumb.png

Link to comment
Share on other sites

So here are all the schematics and PCB designs, I was busy designing and creating the PCBs during Xmas (I luv Xmas :rolleyes:).

However, after building the EQ prototype I found out that it's much too noisy, even with no pots connected I'm unable to get square output from square input... The best result is attached down there. Apparently the PCB design causes the noise (however there was no noise when the EQ was built on a vector board), are there any audio PCB design rules I should be aware of? I'm planning to use shielded cables for connecting the pots, I can also try leading a grounded isolated wire between each two audio signals for test (input, output and pot connections) next to analog ground? I can try to modify the already-built PCB but would like to know whether it actually helps before I re-design (and etch) the PCB...

Below is the EQ PCB design as well for quick reference.

Thanks.

P.S. If anyone is thinking about building such mixer I'd encourage to use AD5204 instead of AD5206, though more ICs will be used AD5206 has no SDO signal and doesn't allow chaning, that's the reason for all the /CS logic found on 2nd sheet... I do already have 20x AD5206 so this is no choice for me :wacko:

Wow, great progress!

I am just learning board design for audio, Maybe some of this will help:

You should have one (or more) bypass capacitors at each chips power pins. These should be as close to the chip as possible.

This is true for digital circuits too, but even more important for analog stuff.

Try to avoid long parallel traces.. this can lead to "crosstalk" between audio signals, or even worse, from power leads to signal leads.

Ample grounding is important... as is shielding, but don't use the same traces for both. Shielding traces should be carrying no current.

The ground arrangement in the last version of the mixer had four separate ground circuits! The analog ground, for all op-amp circuit grounding

and the analog part of the PGA chips. The Digital ground for the digital parts of the circuit, the center tap of the power transformer, and

the "shield" circuit, which protected the signals but has no current path otherwise.

All 4 of these grounds were joined together in one place only, the center of the regulator board.

I also used separate regulators for the analog +5 and digital +5 circuits. to reduce digital noise.

Was it all necessary? Maybe not. but I wanted to apply everything I could to keep the board as quiet as possible.

Getting back to your designs.. I have not even opened the eagle files yet, but I see no bypass capacitors on the op-amp

board you showed a picture of. That might be a good thing to try.

Good Luck with this man, it's looking great!

I'm diving back into Java this morning to try and get the mix window ready for release.

LyleHaze

Link to comment
Share on other sites

Lyle,

thanks for comments, notes!

You should have one (or more) bypass capacitors at each chips power pins. These should be as close to the chip as possible.

This is true for digital circuits too, but even more important for analog stuff.

I wanted to place them directly on the IC pins on the copper layer, but right, they're not found on the PCB.

Try to avoid long parallel traces.. this can lead to "crosstalk" between audio signals, or even worse, from power leads to signal leads.

I doubt these can be avoided in case of a single 6-pot connector, but I've placed ground plane between each two signals. There are still power leads really close to IC pins, I hope these will not cause much damage.

Ample grounding is important... as is shielding, but don't use the same traces for both. Shielding traces should be carrying no current.

The ground arrangement in the last version of the mixer had four separate ground circuits! The analog ground, for all op-amp circuit grounding

and the analog part of the PGA chips. The Digital ground for the digital parts of the circuit, the center tap of the power transformer, and

the "shield" circuit, which protected the signals but has no current path otherwise.

All 4 of these grounds were joined together in one place only, the center of the regulator board.

In this design, the EQ is purely analog part so I'd think a single AGND is sufficient. Furthermore, the 'ground shields' leading between audio signals are not leading anywhere so they might really be considered 'shieding traces' as mentioned above.

I also used separate regulators for the analog +5 and digital +5 circuits. to reduce digital noise.

I have these, too. A weirdness happens when I connect grounds of the two power supplies (+/-5V analog and +5V digital) - the analog PS starts drawing as much as 100mA (@230V), but luckily I have lab PS to test with. Power supplies will be designed in the end when I know all the currents needed and all the place available.

I'm diving back into Java this morning to try and get the mix window ready for release.

Once the hardware prototype is ready I'll start programming the DigiPot (AD5206 in my case) part, rest is done already including bus switching. I have also modified the Java for testing, I'll send it back to you if you want it, but as discussed elsewhere, there were just minor modifications - extending channels and adding few more controls...

I know the PCB still is not perfect, but a little go/no-go might help :rolleyes:

post-3601-126272176199_thumb.png

Link to comment
Share on other sites

I've abandoned the single-connector design in order to shorten audio paths and avoid parallel tracks. The current design is as shown in the attachment, I'll print it tomorrow and try building a prototype if no significant comments appear.

post-3601-126279879746_thumb.png

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