Hello, in a personal project that I did a couple of years ago, I developed a c# wrapper around the lame mp3 encoder, because I had developed an audio uploading tool to let end-users upload mp3 files, similar to what you have on lingq.
I had similar restrictions on the service to ensure that mp3 files had a consistent bit rate, bit depth, and sampling frequency. I also used lame’s built in high-pass and low-pass filtering to remove unwanted noise and keep file sizes down to a reasonable level.
Additionally, it used sox, http://sox.sourceforge.net/, to attempt to trim silence, and to attempt to normalize low gain audio levels.
When users would upload an mp3, I would first process the mp3 through sox, and then use use lame to convert to a final, standard mp3 format.
My audio upload process would invoke lame on the user’s uploaded audio, then save the lame output as the final audio.
If you’re interested in incorporating something like this into the lingq mp3 upload process, I’d be glad to discuss this with you. It was a personal project and I have full ownership of all source code. Let me know!
I forgot one important thing - this approached allowed users to upload mp3 files of varying bit rates, depths, etc., so that there were fewer restrictions on the format of the uploaded mp3s. I didn’t do extensive scalability testing of the solution, but the whole process ran synchronously when users would upload their audio. However the audio files were usually short in duration.
Thanks, Shan! I’ll pass this around internally to see if it’s something that might be of interest
I would suggest to process not all audio files. There may be files with excellent or good quality which do not need any processing like normalizing or noise reduction.
I mean, it would be useful to check the files content to ensure they need some improvements. Additional conversions may add other noises.
But it is a good idea to normalize some records. I had to normalize some of them on my local computer to use them comfortably in an MP3 player together with all other files.
You’re right, Ress. We won’t be making any sudden updates here, and we’ll make sure that if we do implement shanplourde’s handy script above that it only has positive effects on the audio that is updated
Yeah the normalizing etc I think would be low value add. Allowing users to upload mp3s at other sample rates etc. would be the bigger usability benefit if anyone cares. I just feel bad that I have this handy dandy old lame and Sox stuff lying around doing nothing useful