aseqjoy(1)
β¨ aseqjoy(1) β the joystick-to-MIDI glow-up you didn't know you needed β¨
okay so bestie, picture this: you have a joystick. you have MIDI. aseqjoy is the matchmaker π (it's a User Commands page, section 1, and it's lowkey iconic)
πΈ NAME πΈ
aseqjoy β Joystick to ALSA MIDI Sequencer Converter. that's the whole vibe. that's the assignment.
π¦ SYNOPSIS π¦
aseqjoy [options]
like, that's it. options only. she's simple like that π
π DESCRIPTION π
so here's the tea: aseqjoy maps each axis of a joystick device to a specific MIDI controller. move the joystick along an axis and aseqjoy will emit MIDI controller messages via ALSA's sequencer API. the value of the controller message = the joystick's position along that axis (eg Β΄leftΒ΄ -> 0, Β΄middleΒ΄ -> 63, Β΄rightΒ΄ -> 127). and ngl, if you run aseqjoy with the Β΄-rΒ΄ commandline switch you get fine MIDI control change messages instead, with 14 bit resolution. fancy fr fr β¨
aseqjoy uses the ALSA sequencer API to emit the MIDI events. therefore (the page says "Therefor", we're keeping it real) it creates an output port named after the joystick used. then you can use, for example, aconnect, QjackCtrl or the alsa-patch-bay to connect an aseqjoy instance to an input port of your choice. build ur lil MIDI web, main character energy πΈοΈπ
Note: some joysticks may have to be calibrated (with jscal) before they can be used efficiently. like, do ur skincare routine first, then the makeup. π§βοΈ
π OPTIONS π
-hβ display help info. the classic. the emergency exit. π«Ά-d[joystick] β select the joystick to use for aseqjoy, where [joystick] is an integer value from from0to3, effectively selecting devicesjs0tojs3. (yes, "from from". the original said it twice. we stan a typo queen π)-vβ verbose mode β aseqjoy will output information about the MIDI events sent. she's telling you everything, bestie. no secrets. π-0[controller] β select the MIDI controller ID for axis 0. as a default value aseqjoy will use10+ the axis ID, so for axis 0 that would be10+0=10. math ate π₯-1[controller],-2[controller],-3[controller] β just like-0this will set the controller IDs for axes1,2,3. sibling energy, all four of them π-rβ use fine MIDI control change messages instead (14 bit insstead of 7 bit resolution). (again β "insstead". we keep the originals exactly, typos and all, because accuracy is the whole point π )
π OPERATION π
after aseqjoy has started successfully, all motion detected by the selected joystick device will cause MIDI controller messages to be emitted via the corresponding ALSA sequencer output port. the controller IDs are either the default values (10, 11, 12 ...) or the ones given as commandline options. u chose ur destiny β¨
pressing a joystick button will cause aseqjoy to switch the MIDI channel. on startup channel '1' is selected. pressing joystick button 2 will cause channel 2 to be selected. other buttons work accordingly. button = channel switcher, it's giving DJ booth π§
π LICENSE π
aseqjoy comes under the terms of the GNU General Public License Version 2 or (at your option) any later version β for details please refer to the file COPYING included with the aseqjoy source code. free as in freedom, periodt. π«Ά
π AUTHOR π
Man page and software by Alexander Koenig <alex@lisas.de>. absolute legend, we love a one-person show π
π SEE ALSO π
go read those too, bestie, they're part of the lore πβ¨
okay and that's the whole page!! this was written by the aseqjoy girlies for aseqjoy version 0.0.2, dated May 2016 β yes, 2016, she's vintage, she's timeless, she still slays. mwah π
π¦ where this page comes from
- debian bookworm: aseqjoy 0.0.2-1+b1 Β· GPL-2.0-or-later
- debian trixie: aseqjoy 0.0.2-1+b2 Β· GPL-2.0-or-later
- ubuntu jammy: aseqjoy 0.0.2-1 Β· GPL-2.0-or-later
- ubuntu noble: aseqjoy 0.0.2-1build3 Β· GPL-2.0-or-later
- ubuntu resolute: aseqjoy 0.0.2-1build4 Β· GPL-2.0-or-later
- ubuntu stonking: aseqjoy 0.0.2-1.1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms