[sdiy] Smart FSK specs

Adam Inglis 21pointy at tpg.com.au
Sun Apr 21 07:51:57 CEST 2013


On 14/04/2013, at 10:35 AM, Adam Inglis wrote:

> I wonder if anyone can point me to some info regarding the specs of  
> Smart FSK? There doen't seem much out there that I can find -  
> specifically I'm trying to understand how Song Position Pointer info  
> is embedded in the pulse stream.
>
> For a few years now I've been using a system in my studio where I  
> synthesize regular FSK using a soft synth in Ableton Live, and send  
> this audio out on a dedicated channel to the Tape Sync input of my  
> hardware midi sequencer (Roland MC50mkII),  locking it to the DAW.
> (Alongside this is a second audio track driving an Innerclock Sync  
> Lock using a similar principle, thus relieving the DAW of any clock  
> or midi duties, resulting in impeccable timing sync. Details are on  
> my webpage:
> http://www.adambaby.com/studiotech_sync.html    )
>
> Generating regular FSK is simple - its just alternating tones an  
> octave apart at 24 PPQN, same resolution as midi and Roland DIN  
> sync. The tones frequencies roughly correspond to midi notes D6 and  
> D7.
> I'm wondering, and this may be quite naive, if it also possible to  
> synthesize "Smart" FSK, so that the hardware could chase a linear  
> arrangement started at any point in the song. Of course, the speed  
> of the pulses may well push it beyond the capabilities of a midi  
> file driving a soft synth.
>
>
> Any info welcome!
> Adam




OK, so I've managed to get this working.

The midi spec for Song Position Pointer (SPP) says that it is a 3 byte  
message, a status byte followed by 2 data bytes.The data bytes are  
basically a 14 bit counter that counts "1" for every sixteenth note  
that has passed since the start of the song. Once a machine has  
received and recognized a SPP message, it then begins to count midi  
clocks from that point. It doesn't continue to process SPP.
At the resolution of midi clock (24PPQN), a sixteenth note is  
represented by 6 clocks. (I'm not sure how a 14 bit counter can be  
represented by 6 pulses)

Looking at the waveform of Smart FSK, I noticed that the high  
frequency pulses were different to that of regular FSK. In FSK they  
are all of equal duration, in Smart FSK there are short ones and  
longer ones, but their leading edges are all still regularly spaced as  
in FSK.
So, the timing pulses also actually contain a binary code.
Since I had no way of knowing how Roland implemented this code in the  
pulse-generating/pulse-reading hardware in the MC50, I transcribed the  
pulses from a couple of bars onto paper, made an eyeball guess at the  
mark:space ratios, then wrote a midi file to mimic the pulses with  
notes, as I've been doing with FSK. In this case the short notes had a  
resolution of a 512th triplet note!

Well, it worked. The MC50 chased Live and locked on within a bar or  
less, at the correct position in the song.

Now of course, it would be really tedious to have to manually write  
every bar for a whole song, although once done you could save it as a  
midi file and use it as a template. What I'm doing for the present is  
just writing say seven or eight sections spread out over the song,  
interspersed with regular FSK, to allow me to skip around a track  
fairly quickly. There seem to be a few quirks and caveats that I will  
explore and document in time.

Messing around with this kind of audio-based sync has got me thinking.  
There seems to be a resurgence of hardware boxes such as sequencers  
and drum machines, and gradually also, an awareness of the  
deficiencies in midi timing.
We might start seeing more of this kind of interface reappearing on  
hardware in the future. Obviously Innerclock Systems are ahead of the  
curve here, with their Sync Gen products. Interesting also that Korg  
have an audio-based sync system for their monotribes and new Volca  
range. The extra sophistication that something like Smart FSK offers  
could help make the DAW<->hardware workflow experience seamless.

(For any one interested I hope to have an Ableton template set up on  
my website soon. I might put up the basic midi files as well, but I  
have found that not all platforms can properly reproduce a midi file  
with such minutely short notes)

Adam



More information about the Synth-diy mailing list