At present, the analysis part is essentially complete but I have a major bit of design work figuring out the details of how the filtering design will work. I can tell you that the analysis engine does time based analysis on a nominally 1/20th of a second basis and also provides for calculating averages as per current Har-Bal (it does time based analysis first and can then calculate averages from that, typically less than a second to do the average of a typical song).
By doing time based analysis it allows for the ability to arbitrarily partition a track into segments and have average analyses for each plus individual filters for each segment. Not only does the analysis engine do time based analysis but it also does analysis for mid,side,left and right channels. The engine is written in a general sense so it can (theoretically) also handle 5.1 and 7.1 setups.
It is the time based filtering aspects of the filter design process that still needs sorting out as far as the back end design is concerned.Time based analysis also offers other possibilities, possibly most notably is an integrated compressor. The time based analysis gives you access to a smooth volume envelope that can then be used to drive compression. That envelope will be altered through filtering but there is sufficient information to predict the change in envelope from the filter characteristic and the spectrum by time.
All in all, it should make for a clean sounding compression. Another possibility that I've catered for in the design proposal is controlling errant peaks in a track. The spectrum analysis has information in it that will allow you to quickly locate the time segments that are responsible for particular peaks in the peak spectrum trace. With that time selection centred on a particular errant peak you will be able to build a filter to just control that, yielding a process which you might refer to as my take on multi-band compression.
One thing I'm also working on doing is separating the filter design process from the filtering process. This will allow for a separate standalone and free Har-Bal player, allowing people with Har-bal licenses to design filters and make them available for people to hear without the need for them to purchase the software. Finally, the way I do the filtering will be generalised into a cross coupled filter block which allows support for independent filtering of mid, side, left and right channels as well as Haas zone ambiance processing and integrated room EQ (compensating for room acoustics). That is all achievable with a filter structure that has only twice the computational complexity of what Har-Bal has at present. Har-Bal Air as it is now, will be replaced with a more powerful and natural sounding Haas zone ambiance process. That way you use it will be the same but it will sound better and have a greater range of possibilities, one of which is stereo'ising mono sources.
On the GUI side of things the geometric mean trace will cease to be and is being replaced by a realtime trace which displays the spectrum at a particular 1/20th second time slice. I've actually prototyped this behaviour and it works quite well. It needs some optimisation though. That's a fair summary of where I'm at an where I'd like to go. Hopefully it should give you some idea as to why I'm taking so long doing this re-write.
Cheers,
Paavo.
Wednesday, December 31, 2008
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment