I tried to use normalize (in Audacity and in ffmpeg), but it seems there is still room for improvement. Is it possible to do something better than normalize?
Better is subjective, and taste differs, but a chain of effects might include the following:
- High pass filter, maybe set at 20Hz. Depends on the material, but if you have a recording done with microphones the very lowest frequencies often are aeroplanes or lorrys or air condition and not the signal you want. When the signal is spoken word, go higher in frequency setting.
- Compressor. You need to work out the settings on the compressor (check on Youtube for help). Best settings depends on the material. Too aggressive settings will make it sound bad. Advanced compressing techniques uses multiple frequency bands and takes more experience from the operator, but may achieve better results (but not always, depends on the material).
- Additional gain. Often used is the gain makeup on the compressor.
- Finally a hard digital limiter set att maybe -1 dB in order to never go above digital 0dB. Used to remove the few very top "peaks". This works together with the additional gain stage -- to much additional gain and the sound ges "squashen", to little and you are far away from getting max sound level.
The main change comes from the compressor stage and the best settings depends on the type of material you are working with. One setting to rule them is not really workable.
In addition, often the very best results is from using a human "compressor". Use automation in your program and "ride the faders" to increase soft areas (faders up) and decreas highs (faders down). But it does take training to gain experience and patience to do the job.