The structure of this text may not be good, I´m going to improve it:
Maybe the idea of the binary code is good for You, Ross, for a timestretching algorithm.
1.Other important basics: An biological introduction:
The cells of the ear only resonates at sinus tones- they are round, pleasant. They resonates especially at the main frequency, but a little bit on the frequencies next to it, so they are not as precise.
Squared tones have only the full spectrum of sinus tones. Boring? No. If you base your program/synths/timestretching algorithm on one sinus oscillator that imitates the spectrum it will be perceived as pleasant, not, if you base on square waves, as it is friendly to the computer. The reason is that squares every time has additional very high sinus waves, that are percieved and are unpleasant.
The most good waves are round:
I´ve seen on the xils-lab side an analog sawtooth wave form. It was only round on the peak. I can imagine that it would be high frequencies that make it not round.
2. The binary code in this case:
Conclusion of previous said: It´s not the high frequencies that you should implement in an algorithm, but the round!
BUT: You can build up every waveform out of sinus and every number out of the binary code. Boring: No!
1. SINUS instead of square
Every program is built on 0 and 1 but if you have sixtythree zeros and one "sinus wave" (no "1"= "square wave") its getting complicated. The space of zeros is no problem, but the sinus wave must be calculated until "1"="sinus wave".
2. SPACES instead of only frequency/ phase
I think the additive synthesis is build on frequencies and phase, but doesn´t implent that much noises are built on spaces between the waveforms! If you have a comb for your hair and use it to make noise, there are the spaces between the comb-needles.
The binary code can not imitate the volume of the sinus wave. It would be calculated again, but that shouldn´t be.
4.Beginning of code is the first 1. That´s important because you often had to show the program the first beat
5.Hold. Hold a Value
Algorithm must be build on sinus waves, that imitate the first beat. But the high frequencies can be limitet. Those calculate the rising, they do not repeat and swing one time. They have silence after them. But the volume of the sinus waves is important and if the sinus-waves are hold at zero or at the volume.
Why do I tell you all this?
The computer love square waves, But You Ross has to made things round from the ground of. Maybe it would be as punchy, with no high frequency sinus waves, but round is better than sinus waves build on squared waves. Then HOLDTIME, VOLUME the binary code must calculate. Maybe little Vibrations must be ignored, but its more pleasant for the ear to have a floating point strategie, than falling and rising sinuswaves that imitates at worst silence. So your code should ignore little volume changes
Sinus Rises Sinus Falls
Volume of Hold(floating point)
Ignore very High Frequencies, but all based on Sinus
Ignore Little Volumes from floating point (the code shouldn´t mirror them)