Will pay a developer make a utility to 'clean' wav files

Audio Plugin Hosts and other audio software applications discussion
Post Reply New Topic
RELATED
PRODUCTS

Post

Often when you download drums and other samples from the internet (sample packs, sample CDs, etc) there are various small flaws with the included sounds that could be easily corrected automatically with a batch process. The issues I'm referring to include:
  1. Unnecessary digital silence before and after the sound. Drum sample packs occasionally have 'problem' samples with short a delay before the transient, or a large amount of digital / analog silence afterwards that does nothing but eat disk space - or worse yet - can even eat headroom)
  2. Needlessly quiet sounds. I prefer normalizing most of my drum samples to utilize full dynamic range so that when I audition them, the volume of my samples stay consistent. It makes it much easier to compare several drum hits together on the fly since your brain can more easily focus on the frequency content of your samples rather than also having to adapt to volume changes.
  3. Incorrect 'root note' data. This is a FL Studio only issue as far as I know, but it causes drums to be automatically played on something other than C5 in FL's playlist and sampler. This is a minor annoyance, but the 2-3 seconds of time I spend resetting the root note of an incorrect sample can add up. I've been working in FL for over 10 years now, and sometimes I wonder distinctly how much time in my life I have actually wasted just on that task alone. Root Note Fixer is a tool posted on the Image Line forums to fix this specific issue, and is great, but obviously it doesn't really do anything else.
  4. Unnecessary markers and/or loop points. If the creator of any of your samples was using an application that automatically inserts markers/loop points on export, all of their samples will have markers/loop points even if the sound is a one-shot. Sometimes samples have random markers for no apparent reason at all... either way, it's annoying!
There are many applications both freeware and paid that can automatically fix/handle each of these issues separately. But I have yet to come across anything that can tackle all of them at once, wrapped in single efficient utility. I think many other slightly OCD producers would value this functionality too, so what I'd like to offer is the following:

I will personally paypal $100 to the first person that can simply refer me to a batch processing application or script that can completely handle all of the below functionality labelled as "Must:", without having to learn any complicated scripting languages or coding. I.E. you can't just link me to SoX (http://sox.sourceforge.net/). If there is no existing application out there that can handle the below functionality, I would like to offer a bounty of $400 to the first developer who CAN make it. I know that this isn't an incredible amount of money, and I apologize if the amount makes any DSP developer reading this feel patronized, but it's really all I can afford at the moment. (If anyone else also sees value in an application like this, please feel free to contribute!)

Basic overview:
A lightweight windows application that will auto-trim, normalize, and optionally strip different types of metadata out of .wav files via batch processing.

Features:
  1. Must: Ability to automatically trim both digital and non-digital silence (specified by DB threshold on a per-job basis) at the beginning and end of all wave files in the batch at near sample accuracy.
  2. Must: Ability to perform the above trimming functionality on very short samples, I.E. single hit drum oneshots.
  3. Must: Ability to apply peak-based normalization to all wave files in the batch at a specified DB ceiling.
  4. Must: Toggleable ability to reset the root note of all wave files in the batch to C5
  5. Must: Toggleable ability to remove all markers and regions from the wave file.
  6. Must: Toggleable ability to remove all loop points from the wave file.
  7. Must: Toggleable ability to remove ALL metadata from the wave file, including 'ACID' information.
  8. Must: Needs to run on Windows 7 x64
  9. Must: Have a 'somewhat' intuitive and lightweight user interface with drag and drop functionality (I.E. If I want to process a folder of samples, all I need to do is drag that folder to said application). Application shouldn't take more than 10 seconds to open.
  10. Must: Ability to be given a target directory to process (obviously), but ALSO have a toggleable ability to recursively scan all sub-directories in the target folder for .wav files to include in the batch.
  11. Must: Batch process must be mostly non-destructive (except the normalization functionality), and preserve all essential aspects of the WAV like bit depth, samplerate, codec, etc.
  12. Must: Ability to choose whether to A. Rename processed files or B. Overwrite existing files.
  13. Bonus: Ability to select a target folder for the batch VIA shell context menu in Windows Explorer (I.E. I can right click any folder and select an option like 'Clean all .wavs in this folder' to start the batch).
  14. Bonus: Ability to select a single wave file or multiple wave files to include in the batch VIA shell context menu in Windows Explorer (I.E. I can right click any single or multiple wave files and click an option like 'Clean all selected WAVs')
  15. Bonus: Can optionally convert all .mp3/.aiff/.ogg/.flac files found in the target folder to wave, and also optionally delete the original .mp3/.aiff/.ogg/.flac files after conversion, before running the batch.
  16. Bonus: Extended ability to move / rename processed files - options to either: A. Rename processed files with specified prefix/suffix B. Overwrite existing files C. Move all processed files to a new folder D. In the case that 'recursive mode' is enabled, move all processed files to a new folder and replicate the existing folder structure of the processed target directory.
  17. Bonus: Ability to save 'presets' that remember all settings for the normalization/auto-trimming/metadata removal functionality, so that a batch can be run in one click by selecting a saved preset.
Solutions I've tried already:
  1. Soundforge 10's batch functionality. Soundforge is great for auto trimming and normalization, but will not natively remove markers and loop points in this process, and it's metadata manipulation is primitive. I have not found an easy way to strip ACID data or remove "Root Note" data through this process. I think if you have it reconvert to wav in the batch it may erase the metadata but I haven't tried that yet. Either way, Soundforge is not an optimal solution for several reasons: The program is very heavy for such a simple task, it takes a relatively long time to start up, batches are on a per-folder basis without any sort of recursive scanning for subfolders, and batch 'presets' have to be saved and loaded separately as a file. It's a sluggish solution that makes automating the process for several nested folders and libraries of sound files cumbersome.
  2. Root Note Fixer Coded by Reflex and posted on the Image Line forum in 2008, RootNoteFixer will simply correct the 'Root Note' metadata for all samples that are incorrectly set to 0. It's a great utility that I use a lot, but obviously is limited in scope.
  3. Goldwave's batch processing. Same drawbacks as Soundforge. No recursive search.
  4. Wavosaur's batch processing. Same drawbacks as Soundforge. No recursive search.
  5. Audacity's batch processing. Same drawbacks as Soundforge. No recursive search.
  6. Sample Manager (http://www.audiofile-engineering.com/samplemanager/). Holy crap! This is almost exactly what I need! Unfortunately, it's Mac only. :( Maybe someone here with a mac can benefit from this tool.
  7. dBpoweramp. dBpoweramp is an amazing tool and can *almost* do what I need. You can convert samples between many different formats on the fly with Windows' right click context menu, re-sample, and even run DSP effect chains, including normalization and silence trimming/removal. Unfortunately dBpoweramp's trimming functionality just doesn't work on very short audio files. I couldn't personally get it to work with any drum sample I fed it. It also won't strip ACID data / other metadata, but I think you can get around that by converting the sample to FLAC, and then back to WAV.
This is a monumentally long forum post, so apologies for that. But I would like to solve this time consuming workflow issue once and for all.

Post

If the samples are 16-bit, there will be some slight quantization noise added even if all processing is done by converting the sample to 32-bit floating point. Depending if you want to keep the original bit depth, you may also want to add dithering to the list.

Post

sounds like it could be a handy tool

maybe something similar exists as a frontend for sox (its what i'd do - just build a frontend that concatenates a sox command + arguments)
like : http://sourceforge.net/projects/qsox/

Post


Post

Thanks for the suggestions. I have definitely not seen qsox, going to look into that. It's unfortunate that BarbaBatch (or sample manager) doesn't run on Windows. Frankly, I'm kind of surprised that a tool like this doesn't exist already. If I had any development skills at all I would be doing my best to create some kind of front end to SoX, but it would likely take me several months to get to that point.

Post

Sometimes you just have to put the man hours in and do it manually. No-one is going to code it for you.

Post

I did a brass library from free samples once in a sampler.

You adjust start sample when the action starts, usually silent about 10-20ms in beginning or just avoiding some noise.
And tune to root note I also did manually in sampler when mapping the sample.
Even adjusting EQ response curve on some of them - they were converted from some format that probably did that to samples when created.

No batch utility is going to do this automatic and to liking.
You are to map these in sampler anyway, right?
At least what I think about it....

Post

Kriminal wrote:Sometimes you just have to put the man hours in and do it manually. No-one is going to code it for you.
You never know, but if these threads (I saw it on image-line first) stoke up enough interest, there may be someone who takes up the if it has commercial potential, might focus someone already in the game.

Feel a kickstutterer coming.........
Hats off to Futuremotion for a well presented agenda though. And good luck. Me I'll do the man hours.

Post

Kriminal wrote:Sometimes you just have to put the man hours in and do it manually. No-one is going to code it for you.
Thanks for posting, I actually agree with your overall sentiment and very much appreciate your response. Despite the fact I requested this publicly, I am always a proponent of doing things yourself whenever possible. Setting extremely challenging (and seemingly unrealistic) goals is invaluable to personal growth. As a self-starter and someone who has been self-employed for about 5-6 years now, I usually spend between 13-20 hours a day between production and my day job. Who knows, if nobody is actually interested in doing this, I may actually end up doing it myself.

The reason I posted this was in hopes that enough people around here have encountered the same workflow issues I have to make the proposition of creating an application like this sound enticing enough to a skilled developer. Normalization and silence trimming algorithms have been around for a long time, none of this is unexplored territory. It just hasn't been wrapped into streamlined UI. Lots of successful business ideas are deceptively simple in concept and/or execution, because the chief requirement of a successful business idea is that it solves a problem that a lot of people share. Or maybe I'm the only one with this problem. Who knows? :)

Post

lfm wrote:I did a brass library from free samples once in a sampler.

You adjust start sample when the action starts, usually silent about 10-20ms in beginning or just avoiding some noise.
And tune to root note I also did manually in sampler when mapping the sample.
Even adjusting EQ response curve on some of them - they were converted from some format that probably did that to samples when created.

No batch utility is going to do this automatic and to liking.
You are to map these in sampler anyway, right?
At least what I think about it....
Not looking to do any kind of tuning, nor EQ. Just simply 1. Trim digital silence or everything above a specified threshold. 2. Normalize to a specified threshold. 3. Optionally remove various metadata. 4. In batch.

Nothing terribly creative or subjective about the idea, it's just a routine process that I typically go through when manually preparing samples. The less time I spend tweaking these things means more time spent creating actual music when I am inspired.

Post

bob bobwood wrote:
Kriminal wrote:Sometimes you just have to put the man hours in and do it manually. No-one is going to code it for you.
You never know, but if these threads (I saw it on image-line first) stoke up enough interest, there may be someone who takes up the if it has commercial potential, might focus someone already in the game.

Feel a kickstutterer coming.........
Hats off to Futuremotion for a well presented agenda though. And good luck. Me I'll do the man hours.
I wish it was important enough for a Kickstarter. :) Thanks!

Post

Futuremotion wrote: Not looking to do any kind of tuning, nor EQ. Just simply 1. Trim digital silence or everything above a specified threshold. 2. Normalize to a specified threshold. 3. Optionally remove various metadata. 4. In batch.

Nothing terribly creative or subjective about the idea, it's just a routine process that I typically go through when manually preparing samples. The less time I spend tweaking these things means more time spent creating actual music when I am inspired.
Kontakt has some automapping of samples that is built to work on how you name the samples.

But it's full of bugs - and if root note part in name start with zero like - _05_ - it becomes zero. Name had to be _5_ is to work. At least this was the case with K4.3.

And their import GIG stuff - is terrible and does not map properly. I got plenty overlapping mappings etc where I know other samplers like Vsampler did this right.

But this automapping principles might be what you are looking for. They can do a complete folder full of samples for you, pretty much.

Post

Futuremotion wrote: Not looking to do any kind of tuning, nor EQ. Just simply 1. Trim digital silence or everything above a specified threshold. 2. Normalize to a specified threshold. 3. Optionally remove various metadata. 4. In batch.

Nothing terribly creative or subjective about the idea, it's just a routine process that I typically go through when manually preparing samples. The less time I spend tweaking these things means more time spent creating actual music when I am inspired.
fmjsoft Awave Studio can pretty much do all, if not most of it.
And whatever it can't do, just send the developer a request.

I have done this several times over and he was nice enough to implement some of my suggestions and requests.
My main tools: Kontakt, Omnisphere, Samplemodeling + Audio Modeling. Akai VIP = godsend. Tari's libraries also rock.

Post


Post

The full version of Wavelab (relatively expensive) can do many of the functions you require in the way you require that they be done, but I'm pretty damn sure it will not do the dead air trimming.

Post Reply

Return to “Hosts & Applications (Sequencers, DAWs, Audio Editors, etc.)”