Prerequisite is a Linux system already optimized and configured for real-time audio performance.
The Tickle is a USB 2.0 class compliant audio and MIDI device. Use the lsusb
command to see if it is connected:
$ lsusb | grep tickle
Bus 003 Device 028: ID 04b4:bef0 Cypress Semiconductor Corp. tickle
more info
The audio device provides one channel of audio output towards the host and no audio sink. The command aplay --list-devices
only shows sinks, so it will not list the Tickle device. The counterpart arecord --list-devices
will.
$ arecord --list-devices
card 5: tickle [tickle], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
Or more:
cat /proc/asound/cards | grep "tickle
5 [tickle ]: USB-Audio - tickle
chair.audio tickle at usb-0000:00:14.0-6, full speed
The Tickle only knows one sample rate: 44100 Hz. Since you also need an audio output to hear the amazing sounds it will make, you will experience clock deviation which will inevitably result in dropouts. The only way to avoid this is adaptive resampling. This also allows the host to run with a higher sample rate. We recommend to either use the Jack2 environment or PipeWire on your machine. If you use Jack2, we recommend to use the zita-a2j
tool for adaptive resampling. After Jack is started (for example using a GUI like QjackCtl or Cadence) run the Zita ALSA to Jack bridge command
$ zita-a2j -d hw:tickle -c 1 -r 44100 -j Tickle
Starting synchronisation.
zita-a2j flags explanation
-d device
-c number of channels
-r sample rate
-j Jack name
QjackCtl provides a Graph view which lets you explore and manage Jack-audio and ALSA-MIDI connections. The Jack-audio (green) Tickle device going into input0 of pure_data is provided by the zita-a2j resampler started with the aforementioned command.
If your QjackCtl does not provide the Graph window you might want to update. Activating the rncbc PPA helps to stay updated on ubuntu based systems.
Next step: Try out the Pure Data examples.