MIDI to FSK and back?

midi

#1

Hi everyone,

I'm interested in getting a 4-track casette recorder for some lo-fi sounds. I understand that people used to use frequency-shift keying, an algorithm for converting digital data to audio and vice versa, to encode midi clock etc on one track of a casette.

Rather than spend ages hunting down (for example) a Tascam MTS-30, I'd rather just implement the same (or a similar) algorithm myself on an axoloti, as it strikes me that all the necessary hardware is already onboard.

Does anyone have detailed knowledge of whether/how this is possible? Or, can you provide me with details of where I might find the appropriate documentation?

From a brief glance at wikipedia, I feel like I make an encoding algorithm very easily (eg. using octave-switching of oscillators, and an array of band-pass filters/ a mixer) to encode different clock states (start, stop, 24ppq) as audio.

What I find more difficult to grasp is the decoding step: Clearly I can separate the oscillators using the same bandpass filters used to encode, but what are common ways to "call" when a frequency shift within a band has occured?

Has anyone else done this? Or have any useful advice?

EDIT:

Have just realised that one possible decoder solution might be to use 2 bandpass filters per encoded signal, centred on the expected frequencies that the carrier switches between, and compare the amplitudes of the outputs of these filters in order to find the 0 or 1. Am I on the right track?

Second EDIT:
Just did a first draft of the implementation described above, which seems like it should function (although not tested).midi_fsk.axp (11.4 KB)


#2

Let me know how this project turns out! It sounds awesome.