Hi everyone, I'm a newbie here, and tried this in both the Ardour forum as well as the Planet CCRMA mailing list, with no luck. I'm hoping I can find someone with interest.
I am a hobbyist, love mixing music, but not a recording engineer by any stretch of the imagination. However, I am slowly building a recording studio for my own addiction fix for enjoyment. One thing that I found that doesn't seem to exist is a software based powerful monitor management. Matter of fact, there is only ONE hardware based hardware management product that meets what I am looking for.
Specifically, what I need is this:
(1) Ability to switch from one set of monitors to another, with the push (or click) of a button.
(2) Ability to set, internally to the program, volumes to normalize monitors to each other.
(3) Ability to push low frequencies to a "sub out" channel.
(4) Ability to program this "sub out" channel with both a low pass frequency as well as a signal level for each set of monitors
(5) Ability to turn sub on and off, no matter which monitors I am using, at the push of a button.
Ideally, this would be able to be minimized to a ribbon either on the top or side of the screen, with a vu meter for output, a slider for master volume, and buttons for each set of monitors as well as sub on/off.
The only hardware based solution I have found is the Dangerous Music Monitor ST, at a cost of $1900. It also has other features, which while I admit would be nice, are not needed for me. I simply cannot afford that.
The only thing software-wise that is even close (that I have found) is setting up a bunch of busses in Ardour. Right now I have Bus 1 and 2 coming from the master out (both stereo busses). Then, Bus 1 is sent to Bus 3 (left channel) and 4 (right channel), each with a LADSPA low pass filter on it. Bus 1 outputs also go to out 1 and 2 (first set of monitors). Bus 2 outputs go to busses 5 and 6, as well as outs 3 and 4 (second set of monitors). Bus 3 is sent to out 5, Bus 4 is sent to out 6 (five and six are the subwoofer out channels). This way, I can set busses 3 and 4 for the low pass frequency for my first set of monitors, and busses 5 and 6 for my second set of monitors. It's kludgy and takes a whole lot of resources.
What I see is a very stripped down version of Ardour to build "monitor" channels, the LADSPA LPF merged in, and a cleaned up GUI.
I am sure others in the Linux audio community could use something like this, and I would write it myself and provide it, but my programming skills ended with PASCAL in 1992. Hopefully someone here can find someone to take interest.
Then again, maybe I'm barking up the wrong tree.
At least, hopefully, someone can let me know if I'm really off base.
Thanks!
Bob
Monitor Management Software
Moderators: MattKingUSA, khz
-
- Established Member
- Posts: 3
- Joined: Thu Dec 16, 2010 3:05 am
-
- Established Member
- Posts: 3
- Joined: Thu Dec 16, 2010 3:05 am
-
- Established Member
- Posts: 36
- Joined: Mon Aug 09, 2010 10:17 pm
- Location: Guangzhou, China
- Contact:
Re: Monitor Management Software
Write a custom solution in SuperCollider? It's basically In.ar() and Out.ar() ugens, plus a few filters. All of those are cpu-cheap. SC synth is a jack client; pipe your other stuff into SC and SC --> hardware outs. Number of Jack ins and outs are configurable.
Cost, $0 (plus time to get it working). But, it would be built to your exact specs
Cost, $0 (plus time to get it working). But, it would be built to your exact specs
James Harkins /// dewdrop world
http://www.dewdrop-world.net
blog: http://www.dewdrop-world.net/words
audio clips: http://www.dewdrop-world.net/audio
more audio: http://soundcloud.com/dewdrop_world/tracks
http://www.dewdrop-world.net
blog: http://www.dewdrop-world.net/words
audio clips: http://www.dewdrop-world.net/audio
more audio: http://soundcloud.com/dewdrop_world/tracks
-
- Established Member
- Posts: 3
- Joined: Thu Dec 16, 2010 3:05 am
Re: Monitor Management Software
I've never played with supercollider - looks like it's time for me to do so. Thanks for the suggestion!
-
- Established Member
- Posts: 36
- Joined: Mon Aug 09, 2010 10:17 pm
- Location: Guangzhou, China
- Contact:
Re: Monitor Management Software
The good thing about something like SC is it frees you up from the really boring (and bug-prone) details of getting individual sample values and doing things to them directly. But it does take some time to learn, so give yourself time and be patient.
If I were writing this, I would use a simple SynthDef (which describes a grouping of Unit Generators that performs some audio processing task) to read from a stereo pair, do level scaling and write to a different stereo pair. SynthDefs can define "arguments" (aka, more properly, "control inputs") so you can specify the input and output busses, level etc. independently for each routing that you need.
You can make as many "Synth" instances out of that SynthDef as you need -- on-demand, glitch free (SC is designed to add and remove Synths dynamically -- a common use for synthesis is one Synth per note). By keeping the SynthDef very simple, it becomes a modular design that easier to manipulate later. To enable stereo in --> monitor pair A, make a Synth. Stereo in --> monitor pair B, make another Synth with a different output bus and different level scaling.
Have a look at the Order of Execution help file. If your routing ever gets more complicated and you have one synth that depends on the result from another (say, a submix), then the order of synths is important. Your case looks pretty simple.
You probably want a GUI. You'll need http://www.sciss.de/swingOSC/ for that. IMO "EZSlider" is a lifesaver (there's also EZKnob if you prefer -- I hardly ever use it because I'm not crazy about trying to rotate things with the mouse). It really simplifies the relationship between the display and the real values you want to use.
Good luck!
If I were writing this, I would use a simple SynthDef (which describes a grouping of Unit Generators that performs some audio processing task) to read from a stereo pair, do level scaling and write to a different stereo pair. SynthDefs can define "arguments" (aka, more properly, "control inputs") so you can specify the input and output busses, level etc. independently for each routing that you need.
Code: Select all
SynthDef(\stereo, { |in, out, level = 1|
Out.ar(out, In.ar(in, 2) * level)
}).add;
Have a look at the Order of Execution help file. If your routing ever gets more complicated and you have one synth that depends on the result from another (say, a submix), then the order of synths is important. Your case looks pretty simple.
You probably want a GUI. You'll need http://www.sciss.de/swingOSC/ for that. IMO "EZSlider" is a lifesaver (there's also EZKnob if you prefer -- I hardly ever use it because I'm not crazy about trying to rotate things with the mouse). It really simplifies the relationship between the display and the real values you want to use.
Good luck!
James Harkins /// dewdrop world
http://www.dewdrop-world.net
blog: http://www.dewdrop-world.net/words
audio clips: http://www.dewdrop-world.net/audio
more audio: http://soundcloud.com/dewdrop_world/tracks
http://www.dewdrop-world.net
blog: http://www.dewdrop-world.net/words
audio clips: http://www.dewdrop-world.net/audio
more audio: http://soundcloud.com/dewdrop_world/tracks