Milmoor wrote:Zodius, I've been thinking about the delays in the lights in effect to the sound (Synestesia). I understand why you need some time to analyse and to drive amBX. Would it be possible to delay the actual playback of the sound instead? This is how LCD TV's work with their screen enhancements, just delay the sound for the same period of time. You'd have to buffer the sound somehow, but it would provide you with time for perfect syncing. The delay would not be a problem for music playback. Gamers won't like it and movies will be more challenging: it's possible in most players to set delay options, but that's player specific.
I see your thinking, but I can't imagine there being anyway to delay the playback of every piece of sound played on your computer so that the light effects go off at just the right time.
As the program only works at 10 frames per second, there is an inherent delay of 100ms between sound and screen events, plus the reactive pulses introduce a greater perceived delay. However, I do admit that the actual delay of Synesthesia is probably around 300ms to 500ms, and slowly grows over hours of use (despite my best efforts).
Your mention of this topic got me thinking about it again though, and maybe I've been going about it wrong, as although the recording is in sync with the stereo-mix, its the internal playback that is the problem. So I've had a bit of a play about, and changed a few things to see if I could get a better result, and I believe I have (I will need to do more testing though).
Essentially what I've done is rather than record the stereo-mix continually, I record it in 100ms chunks. This helps in two ways. Firstly, there is always the same amount of sound recorded, and secondly, the internal playback position can be set to the end of that chunk rather than trying to keep the playback position behind the recording position.
As I said, I need to do a lot more testing, but this seems to produce more responsive effect, and also removes the "five seconds of flashing" I mentioned a while back when I introduced the manual sensitivity options, where if you go into a higher sensitivity and stop the music, the lights will dim and then suddenly flash in a variety of colours. People can test this effect if the wish, change to a manual setting that fits your currently playing music, and then go to 256x and stop your music. Fixing this alone is a good thing, but if this change also reduces delay and prevents the buildup of delay over time then its a definite keeper.
Thanks for making me look at this again Millmoor