Is it technically possible to use timecode vinyl to control stuff on axoloti/ksoloti?

I’m just brainstorming additional features for my setup. Always though, it would be nice to be able to record a snippet and then beeing able to scratch it on a recordplayer. These features can be found with workarounds in DJing software as kind of a gimmick, cause most people prepare their samples. Since recording onto a table works and also controling the position of sample does, it would probably be possible to “scratch” with a knob or fader.

So know I’m wondering if I could use a timecode vinyl to control it. I have no idea how timecode works, tbh. Has anybody done anything similar and give me some pointers? Saying “it’s not possible” if your sure of it, would also help :slight_smile:

1 Like

I had no idea this existed. Is it a digital version of an audio track, pressed on vinyl? If yes, how is it scanned?

Thanks for the reply :slight_smile: I’m not sure exactly. All I know is it is a special vinyl that can be used with any record player, and only the audio is read by software for speed and direction info, so it’s only relative movement. I’m guessing it’s kind of a continuous noise that changes pitch when played faster and slower or scratched and can be acoustically read to replicate movement digitally. It was quite common for DJs who wanted that vinyl feel but play music digitally. In scratching usually samples could be set to beginning with an extra button ,to find the right spot.

Hope this helps :sweat_smile:

This is likely beyond my technical capabilities at the moment, but I found this which may be useful.

Mixxx - How Does Timecode Vinyl Actually Work? (Pt. 1).

1 Like

Thanks @wriggy_b , this is very insightful :slight_smile: I’ll post, if I find more :slight_smile:

You can use timecode as control voltage. I have done this with digital and analog modules in synthesizers and software but not with axoloti/ksoloti.

As the above article explains, algorithms use zero crossing detection and digital logic to sync to audio files.

A quick way to make use of time code vinyl is just to use it control voltage. Route the audio to the input of a module that converts any wave into a pulse/square wave. I use a suboctave generator from a sh101 or patch from a make noise maths. Then route the output to a clock divider with multiple outputs. Then route the outputs of the clock divider into the trigger inputs of a sampler, drum machine or gate inputs of envelope generators in synths. The when you touch the vinyl you will be able to control the clock divider based on settings. This patch will only be able to control the speed, not the direction of the samples or drum patch but it’s very basic compared to the algorithm used in dj software when using timecode as an input so it’s limited.

A patch resembling Dj software would use logic to detect playback direction as well as changes in speed of the timecode. The timecode would be acting as master clock signal similar to the patch I described above. Instead though, there would be logic to compare the signal of the timecode to the BPM of the audio file in a sampler that can have a virtual playback head controlled by going forwards for normal playback and backwards when sent a negative control voltage derived from the detection logic used to tell when the timecode vinyl direction has changed. I am new to axoloti/ksoloti so I would be curious about implementing and optimizing this in this platform but I admit, I do have other projects I will be spending my time on.

For BPM sync a quick way to do that is to have an audio file containing a pulse wave synced to the music or sound or noise you’re using. This pulse wave track would be silent until there’s a kick drum or some other part of the sound you want to sync music with. The pulse itself should be high amplitude but not clipping. This is to avoid having to do BPM detection with the original audio file to save compute resources as the file just plays from disk to ram and can be very low resolution as long as the waveform remains relatively similar.

If you control the sampler playing the BPM track with the cv from the timecode audio input controlling playback speed and the logic algorithm to detect playback direction outputing control voltage that signals the vinyl is in reverse to the “reverse” input of the module you use, let’s say you’re using beatplayer2, and use the BPM track as a clock input to the clock controlling the sample playback speed of the sampler playing your audio file, as long as the BPM track and audio track start and retrig at that same time, this seems like a starting patch that could work.