realtime mp3 (or other compression) for mix buss use?
-
- KVRer
- 4 posts since 18 Sep, 2006
Hello there hard working and brilliant people putting your hard earned programming skills to good use and benefit of everyone else (and hopefully a livelihood of your own)! (and I am NOT being sarcastic here - just in case your flame-o-meter is already reaching the red).
If you will permit me I'd like to hear your feedback on the following concept:
For years now it has been customary far mixing and mastering engineers to check their work on other formats then the (at the time of writing) 2-speaker stereo system - this being the case to ensure an equal fidelity on other systems such as mono or more recently surround (which is I should ad not a testing option used by very many people because of the sheer logistics it involves). So far so good.
In my job as an audio engineer I find an increasing amount of my work end up reaching the end use in form of compressed audio format such as mp3 or the Itunes borne mp4. Also much of the audio ends up being presented on forums such as myspace where the compression is very high and the fidelity therefore lower.
Because of this I am more and more getting to a point where I feel it mandatory to check my mixes in compressed format, just as I would check them for mono-compatibility. This is a bit tedious at the moment though as it seems my only option is to do a mix down and test this audio file for "compression-compatibility". It would be great if I could insert a plug-in on the master mix buss in my DAW that would allow me to hear and adjust the mix in real time in a compressed format.
So my simple questions are these:
1 Is there already a plug in out there that would do something like this? I have searched everywhere I could think of and so far I have only seen various forms of bit/samplerate changing plug ins, but they don't do exactly what I was thinking.
2 Would developing such a plug-in be a simple task or am I just hoping for way too much?
I am in no way trying to come up with a business plan here, so I wont be able to back anyone going into such a task, but I do feel there will be a demand for such a plug, and I for one would love having it in my arsenal. So even though nobody is already developing or will consider development of such a plug-in, maybe you could give me some pointers as to the difficulty of such a task?
Any answer will be most welcome!
Thanks
J.A. Hvitnov
Copenhagen, Denmark
If you will permit me I'd like to hear your feedback on the following concept:
For years now it has been customary far mixing and mastering engineers to check their work on other formats then the (at the time of writing) 2-speaker stereo system - this being the case to ensure an equal fidelity on other systems such as mono or more recently surround (which is I should ad not a testing option used by very many people because of the sheer logistics it involves). So far so good.
In my job as an audio engineer I find an increasing amount of my work end up reaching the end use in form of compressed audio format such as mp3 or the Itunes borne mp4. Also much of the audio ends up being presented on forums such as myspace where the compression is very high and the fidelity therefore lower.
Because of this I am more and more getting to a point where I feel it mandatory to check my mixes in compressed format, just as I would check them for mono-compatibility. This is a bit tedious at the moment though as it seems my only option is to do a mix down and test this audio file for "compression-compatibility". It would be great if I could insert a plug-in on the master mix buss in my DAW that would allow me to hear and adjust the mix in real time in a compressed format.
So my simple questions are these:
1 Is there already a plug in out there that would do something like this? I have searched everywhere I could think of and so far I have only seen various forms of bit/samplerate changing plug ins, but they don't do exactly what I was thinking.
2 Would developing such a plug-in be a simple task or am I just hoping for way too much?
I am in no way trying to come up with a business plan here, so I wont be able to back anyone going into such a task, but I do feel there will be a demand for such a plug, and I for one would love having it in my arsenal. So even though nobody is already developing or will consider development of such a plug-in, maybe you could give me some pointers as to the difficulty of such a task?
Any answer will be most welcome!
Thanks
J.A. Hvitnov
Copenhagen, Denmark
- KVRAF
- 16881 posts since 8 Mar, 2005 from Utrecht, Holland
This has been asked before. I don't think there is such a plugin available yet. One of the hurdles to take is the MP3 encoding part. Dunno weather e.g. lame_enc.dll could be used for this, but I recall that licensing the mp3 encoding engine is what holds back most devs of attempting to build something like this.
NB: I found an old thread about the same subject:
http://www.kvraudio.com/forum/viewtopic ... 56&start=0
NB: I found an old thread about the same subject:
http://www.kvraudio.com/forum/viewtopic ... 56&start=0
We are the KVR collective. Resistance is futile. You will be assimilated. 
My MusicCalc is served over https!!
My MusicCalc is served over https!!
-
- KVRer
- Topic Starter
- 4 posts since 18 Sep, 2006
Allright. Thanks a lot for the info.
I suspected that the mp3 encoding might still be copyrighted or whatever the equivalent programmer term would be and I can see that constitutes quite a challenge.
I'll check out that old thread thank you!
I suspected that the mp3 encoding might still be copyrighted or whatever the equivalent programmer term would be and I can see that constitutes quite a challenge.
I'll check out that old thread thank you!
- KVRAF
- 16881 posts since 8 Mar, 2005 from Utrecht, Holland
As said in the other thread, there's not much you can do to your material to compensate for mp3 encoding. But keep the following in mind:
- 192kbps encoding filters out anything above 19kHz
- 128kbps encoding filters out anything above 16kHz
- 96kbps encoding filters out anything above 11kHz
Last edited by BertKoor on Fri Aug 22, 2008 11:04 am, edited 2 times in total.
We are the KVR collective. Resistance is futile. You will be assimilated. 
My MusicCalc is served over https!!
My MusicCalc is served over https!!
- KVRAF
- 8512 posts since 12 Feb, 2006 from Helsinki, Finland
One more tip: depending on the codec used to encode the stuff, the "filtering" at a given frequency, might not actually be what you'd normally think of "filtering" but rather simply the lack of including those frequencies in the encoded version.. in other words, if you got lots of energy at the "cutoff" frequency, you might at times get pretty nasty artifacts that somewhat resemble ringing, but unlike normal filter ringing jumps around making it even more annoying.
Better codecs can prefilter the stuff when told to, such that you get a smooth transition instead, but we all know everyone isn't using Lame.
Better codecs can prefilter the stuff when told to, such that you get a smooth transition instead, but we all know everyone isn't using Lame.
-
- KVRer
- Topic Starter
- 4 posts since 18 Sep, 2006
I agree. Nonetheless mp3 will be the end format for a lot of users, so I'd still like to be able to a<>b it thoughBertKoor wrote:Mix/master it the best you can do, and accept that the mp3 version is of lower quality. Their loss, not your fault...
I am aware of the filtering issues (and particularly the aliasing it causes). But thank for the rules of thumb. I suppose pre-filtering the material meant for mp3 compression will make sense to avoid aliasing then.
However I have a strong hunch that there's more than the filtering going on. To my understanding most of the mp3 compression is based on removing masked audio from the program material. As I understand it it does so by representing every sample in the time domain by one sample in the frequency domain (the on e most dominant at that exact sample point).
This - at least to my understanding should imply that there will be quite an impact on the end result with careful mid-range eq'ing for instance, but this can off course be tested in the manner I test things now: Encoding snippets of the mix and listening to them for effects of any changes I make.
I'd sure love to loose a few steps in that process though
- KVRAF
- 16881 posts since 8 Mar, 2005 from Utrecht, Holland
So we know there's a demand for a plugin that converts the audio stream to MP3 and back again to 32bits PCM, just to evaluate directly what the effect is.
Is there any plugin developer interested in implementing it, or care to elaborate on why it's not feasible?
Is there any plugin developer interested in implementing it, or care to elaborate on why it's not feasible?
We are the KVR collective. Resistance is futile. You will be assimilated. 
My MusicCalc is served over https!!
My MusicCalc is served over https!!
- KVRAF
- 8512 posts since 12 Feb, 2006 from Helsinki, Finland
Hooking to the dynamic Lame library shouldn't be hard, especially since for this purpose I don't think some latency (which is inevitable, I believe) would matter anything. Unfortunately, personally I do have too many project already; maybe one day.
- KVRAF
- 9600 posts since 17 Sep, 2002 from Gothenburg Sweden
Without actually knowing much about mp3s (so i could be way off) i can see two things that might make it unpossible.BertKoor wrote:Is there any plugin developer interested in implementing it, or care to elaborate on why it's not feasible?
1. When coding/decoding something you most likely are more interested with a fast decoding than coding. IE The conversion from mp3 to wav is far more critical than vice versa. So it could be it's simply to CPU heavy to do in real time.
2. Could be it's simply not a real time process. It might be the case (though i doubt it) that for example the whole file needs to be analyzed before conversion. In that case it's simply unpossible to do in realtime.
But as i said those are educted guesses at best.
- KVRAF
- 8512 posts since 12 Feb, 2006 from Helsinki, Finland
My understanding is that we are interested in going both ways in real-time, without actually storing the compressed stream anywhere at all. The encoding is the more CPU hungry of the two.jupiter8 wrote:Without actually knowing much about mp3s (so i could be way off) i can see two things that might make it unpossible.BertKoor wrote:Is there any plugin developer interested in implementing it, or care to elaborate on why it's not feasible?
1. When coding/decoding something you most likely are more interested with a fast decoding than coding. IE The conversion from mp3 to wav is far more critical than vice versa. So it could be it's simply to CPU heavy to do in real time.
You can stream MP3s. Internet radios do that all the time.2. Could be it's simply not a real time process. It might be the case (though i doubt it) that for example the whole file needs to be analyzed before conversion. In that case it's simply unpossible to do in realtime.
- KVRian
- 1013 posts since 6 Aug, 2005 from England
Well I guess a plug-in could emulate the frequency masking and display possible chosen frequency peak values, and the discarded frequencies. It would give you a bit of an idea as to what's being lost in the compression, but not that accurate as an mp3 final. Hmmm, but maybe displaying what the ear/brain actually masks could be handy in mixing generally... .. .
Another option is to ask people to make 'thinner' music!
Cheers,
Dave H
Another option is to ask people to make 'thinner' music!
Cheers,
Dave H
Dave Hoskins. http://www.quikquak.com
-
- KVRAF
- 1718 posts since 3 Sep, 2003
Encoding MP3 would be tough in real time I think. It's a complex procedure.
http://arstechnica.com/articles/paedia/ ... sion.ars/2
http://arstechnica.com/articles/paedia/ ... sion.ars/2
- KVRAF
- 16881 posts since 8 Mar, 2005 from Utrecht, Holland
The procedure can be handled by e.g. lame_enc.dll, it's already sorted out. For this application, latency is acceptable.Rock Hardbuns wrote:Encoding MP3 would be tough in real time I think. It's a complex procedure.
We are the KVR collective. Resistance is futile. You will be assimilated. 
My MusicCalc is served over https!!
My MusicCalc is served over https!!
- KVRist
- 49 posts since 25 Apr, 2007 from Helsinki, Finland
I've implemented this functionality (real-time monitoring of mp3 encoding) for a project using lame encoder. Encoder is fed with PCM buffer, frame is encoded, data from encoder is stored into a data buffer and data buffer is decoded back into PCM buffer. There were some issues with buffering but they were manageable.
If somebody really would like to have this implemented as a VST plugin, send me email...
- jussi
jussi3001@yahoo.com
If somebody really would like to have this implemented as a VST plugin, send me email...
- jussi
jussi3001@yahoo.com
- KVRAF
- 16881 posts since 8 Mar, 2005 from Utrecht, Holland
Bump! Another request for this plugin: http://www.kvraudio.com/forum/viewtopic.php?p=3326693
We are the KVR collective. Resistance is futile. You will be assimilated. 
My MusicCalc is served over https!!
My MusicCalc is served over https!!
