Monitor Controller based on Igors CRM

GroupDIY Audio Forum

Help Support GroupDIY Audio Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

tobi.pl

Active member
Joined
Apr 28, 2011
Messages
30
Location
Munich
Alright. After some time fiddling around with Cubase or the volume control of my audio interface i decided it's time to get a decent monitor controller. Unfortunately i got kinda addicted to diy and decided only to buy things i couldn't build myself. This year I'm about to get my masters degree in electrical engineering, but as i went the MATLAB/Programming/Digital signal processing way straight to working in the electro acoustics business now, my knowledge in analog circuit design is practically non-existing.
I can read schematics, know basic things like R=U/I and could even calculate circuits with transistors or op-amps if i breed long enough over it.
Nevertheless my goal is:

- To build a passive monitor controller based on the signal path of Igors CRM (I hope this is ok  :-[ )
- Add a Headphone amp
- Design a control unit based on a microcontroller like Arduino
- As some Arduinos offer a USB connection i'd like to design a GUI for the controller, so that it can even be used without the control unit

So if i don't mess it up and some of you guys are interested in this kind of project i'd love to share board layouts and schematics with you.

But no thread without questions  8) so here it comes: To integrate the monitor controller it's necessary to grab the audio signal from the signal path. Can i just wire the debalancing stage of the amplifier unit in parallel to the signal path before the damping resistors, or is it necessary to use things like voltage follower circuits?

Thanks a lot
tobi
 
Have you seen this? - http://www.elma.com/en/products/rotary-switches/audio-solutions/product-pages/relay-attenuator-detail/

I think active is better than passive unless you absolutely know the surrounding impedances will not change.


 
Gustav said:
tobi.pl said:
- Design a control unit based on a microcontroller like Arduino

Great idea.

I realize that there's a super-huge "ecosystem" of firmware bits and bobs for the Arduino, but if you're spinning a PCB, rather than trying to shoehorn the Arduino onto it, just pick your favorite microcontroller and put it directly on the board.

The firmware to control this sort of thing is really not at all difficult, and would be a good learning experience.

-a
 
Hi all,

not to hijack Tobis thread, but in the past month, I have been designing an
active monitor controller for a friend. The system is based on a PGA2310
and is controlled by a STM32F051R8 Cortex-M0 micro including USB.

The whole setup is modular, so it could easy be used to control a
relais board to make a passive monitor controller.

Right now, I am in the late prototyping phase and will order a case soon.
Here are some pictures showing the control board, the pga module and
the IO board:

uniControl1.jpg

uniControl2.jpg

pga1.jpg

io1.jpg


The control board is designed to fit in a 1RU case.

Best,
Carsten
 
The Elma looks like a good idea.

To keep this simple and diy'ish, a good route may be:

- Based on a standard Arduino - simply a "shield" fitting into the pins there. Controlled either via Arduino's USB or via MIDI if DAW coontrol is needed.
- 33 steps, 6 relays (like the ELMA) is enough
- 1-6 inputs, 1-6 outputs, by mounting the number of relays you want
- Guitar-pedal-sized desktop remote.
- Skip those flimsy rotary encoders, use a linear pot to control one of Arduinos A/D inputs (yes, slow 10bits are plenty for this). This would also void the need for attenuation readout, as you can look at the knob like in the good old days. Maybe even the pot solution for input/output select too - would require less wires going to the on-desk remote box.

- Trim-down trimmer on each output, say 0 to -20dB
- Mono switch (MAYBE dim, L/R swap, L-to-both-sides)
- Option for THAT unbalancing and balancing?
- Talkback and reverse talkback, including switching?

Anyone up for taking this further?

Jakob E.
 
I don't really see the point in arduino, Jakob.

Would rather use a powerful, modern micro
instead of these 8 bit AVRs in disguise.

If SMT really is the problem, one could use a
cheap eval board and do a motherboard for
it. STM32F0 Discovery at 8 Euros comes to mind.

Most modern micros embed a encoder interface,
anyway. It needed about 5 lines of code to use
the encoder on my board. ADC won't be less code.

Only need a ELMA-like board including talkback
and we are done.

Carsten
 
gyraf said:
The Elma looks like a good idea.

To keep this simple and diy'ish, a good route may be:

- Based on a standard Arduino - simply a "shield" fitting into the pins there. Controlled either via Arduino's USB or via MIDI if DAW coontrol is needed.
- 33 steps, 6 relays (like the ELMA) is enough
- 1-6 inputs, 1-6 outputs, by mounting the number of relays you want
- Guitar-pedal-sized desktop remote.
- Skip those flimsy rotary encoders, use a linear pot to control one of Arduinos A/D inputs (yes, slow 10bits are plenty for this). This would also void the need for attenuation readout, as you can look at the knob like in the good old days. Maybe even the pot solution for input/output select too - would require less wires going to the on-desk remote box.

- Trim-down trimmer on each output, say 0 to -20dB
- Mono switch (MAYBE dim, L/R swap, L-to-both-sides)
- Option for THAT unbalancing and balancing?
- Talkback and reverse talkback, including switching?

Anyone up for taking this further?

Jakob E.

Sounds good! The elma thing looks pretty much like what I had in mind, but diy might be the cheaper solution.
My point in using the arduino was to be able to control the volume digitally in the daw. If we use a standard pot and digital volume control, level and visual feedback by the pot won't match any more. Concerning the microcontroller, we could use any controller. The arduino was just an idea as it is good for rapid prototyping purposes. Integrating an atmel controller directly on the board might be the best solution. I'd really like to integrate a headphone preamp. Maybe one you can listen to any input no matter which speaker out is selected. Doing so, the signal must be split before the input relais. 6 attenuation relais give 63 binary steps so we can manage much more than a resolution of 32 :)
 
tobi.pl said:
My point in using the arduino was to be able to control the volume digitally in the daw. If we use a standard pot and digital volume control, level and visual feedback by the pot won't match any more. Concerning the microcontroller, we could use any controller. The arduino was just an idea as it is good for rapid prototyping purposes. Integrating an atmel controller directly on the board might be the best solution. I'd really like to integrate a headphone preamp. Maybe one you can listen to any input no matter which speaker out is selected. Doing so, the signal must be split before the input relais. 6 attenuation relais give 63 binary steps so we can manage much more than a resolution of 32 :)

I've got a design for a monitor controller almost ready to go. OK, none of this passive relay-switched stuff, but whatever. Three stereo ins, plus a USB DAC, and three stereo outs (small and large monitors, control room) as well as headphone outs. I use PGA2320s for the output level controls. A Silicon Labs ARM is the brains. There are front-panel buttons for input and output select, an encoder for level control, and a graphic LCD for level metering and status and what-not (because they're FUN, so there).

The idea is that any input can route to any output, switched by DG409s. It supports muting and dimming of outputs, and it remembers each output's level. So if you normally listen to the small monitors at some level, then switch to the big monitors, listen, turn them up, and then go back to the small monitors, the small monitor volume hasn't changed from what it was.

The USB connection is both for audio as well as DAW/host-computer control.

The ARM does everything : reads the encoder and the buttons, handles the USB, sets all of the controls, talks to the gLCD, and its analog inputs are used for the level metering.

I'm sort of spinning on it, because I'm not exactly happy with the enclosure concept (rectangle Hammond box). It's all one big board about 6" x 10" and I kinda don't want to split it into two boards. I don't want to spring for a custom enclosure.

One other thought I had was to make it a single 1U chassis with a hand-held remote thingie (another fab nightmare), or maybe just have the buttons and the knob somewhat inconveniently located on the front panel.

Or maybe the remote hand part can be a small box with nothing more than a tiny micro to scan buttons and the encoder and send changes to the ARM over some easy serial interface. Hmmm.

oh well.
-a
 
Reads interesting, Andy.

As you are using the PGA as well, how is your debalancing done?
Also interested in which gLCD you choose. I have been doing some
stuff with those Chinese WaveShare QVGAs over the last months.

Best,
Carsten
 
culteousness1 said:
I don't really see the point in arduino, Jakob.

I see your point, but - we really do need no more than the power in there, and it would make more diy'ers comfortable with AVR interfacing. I'm well aware there are much more powerful systems available for less cost, but Arduino has a huge "non-programmer" user and support base, and is possibly the least intimidating step into hardware programming..

Jakob E.
 
Just for the silly perspective ...

If you used an arduino you could really open up some interesting possibilities ....

Adding WIFI would allow volume and talkback from a phone ... which could also enable listenback control from other peoples phones in the studio ...

This may allow for a very interesting and seamless talkback system from producers, musicians and engineers. 

Seeing as everyone seems to have a phone, now all anyone needs to do is hit a button on their phone and program is dimmed and talkback microphones are open. 

Just thinking out loud.

Michael
 
The guy who etches pcbs for me regularely told me that he uses bluetooth modules (cost about 5€). These can easily be integrated and would open up the possibility to ditch the cable for the remote control, or even conntect the controller to a pc directly...
 
culteousness1 said:
Reads interesting, Andy.

As you are using the PGA as well, how is your debalancing done?

The usual THAT parts for input and output.

Also interested in which gLCD you choose. I have been doing some stuff with those Chinese WaveShare QVGAs over the last months.

One of the EA-DOG parts from Electronic Assembly. SPI interface. Easy to use.

-a
 
MHanson said:
Seeing as everyone seems to have a phone, now all anyone needs to do is hit a button on their phone and program is dimmed and talkback microphones are open. 

What, you allow phones in the studio while recording?

So the singer is giving his best take and RING RING RING!
-a
 
Andy Peters said:
What, you allow phones in the studio while recording?

I'm not the phone police ... until I hear one ring or vibrate ... and usually I don't have to say a word when that happens. 

Most everyone knows to silence them. 

The only time I really ever see/hear a problem seems to be when someone is in the control room and their phone starts making my speakers chirp.  That always seemed to be Motorolla phones and I don't see those very often anymore. 

So yes, I allow phones.  ;)

Michael


In truth, I think my foot switches are probably the best option still, but it might be an interesting option.
 
I've been thinking about building a similar Arduino based 6 channel attenuator recently, and came across this link. It details the code needed to control a 0-63dB attenuator via BCD output. Could obviously be scaled to any number of steps.

http://forum.arduino.cc/index.php?PHPSESSID=jk34odcnjam13175pgf30b9t77&topic=8270.msg66190;topicseen#msg66190

Something else that I've been pondering is the volume control pot taper. A linear pot on the A/D is going to give you about -32 db at the midpoint, which is still a pretty low level. Seems like the first half of the knob rotation would be mostly useless. It would be worth experimenting with a reverse log or slugged linear pot to find a happy taper. Could also be done in the software I suppose, even creating different sized steps as is often done on rotary switch attenuators.

Craig
 
craigb said:
I've been thinking about building a similar Arduino based 6 channel attenuator recently, and came across this link. It details the code needed to control a 0-63dB attenuator via BCD output. Could obviously be scaled to any number of steps.

http://forum.arduino.cc/index.php?PHPSESSID=jk34odcnjam13175pgf30b9t77&topic=8270.msg66190;topicseen#msg66190

I'm not sure why you need BCD unless the attenuators are coded that way, and I don't know why you'd code the attenuators that way ...

Something else that I've been pondering is the volume control pot taper. A linear pot on the A/D is going to give you about -32 db at the midpoint, which is still a pretty low level. Seems like the first half of the knob rotation would be mostly useless. It would be worth experimenting with a reverse log or slugged linear pot to find a happy taper. Could also be done in the software I suppose, even creating different sized steps as is often done on rotary switch attenuators.

You have a processor (Arduino). Use a rotary encoder.

-a
 
Something else that I've been pondering is the volume control pot taper. A linear pot on the A/D is going to give you about -32 db at the midpoint, which is still a pretty low level.

Sounds to me as something that would be really easy to fix in arduino software

I like the real-potentiometer route, because it gives you a continous and stable (even at power-off) indication of expected volume

Jakob E.
 

Latest posts

Back
Top