accordion keyboard softsynth for the uxn varvara machine

3f14cb3 amogus

3 months ago

116d01d photosensitivity warning

3 months ago

#accordion fucker

a synth written for the UXN Varvara virtual machine, built around using a computer keyboard as a chromatic button keyboard. works with any keymap as long as keys are arranged in columns of at least 4 (including numbers).


#how to use

when you just launch accordion fucker, it'll be in keymap mode. press each key you wanna use for playing, up-to-down in each column and then left-to-right, and then press escape when you're done. so, for example, on QWERTY the usual layout would be 1qaz2wsx3edc4rfv5tgb6yhn7ujm8ik,9ol.0p;/-['= anyway you need to do that every time you boot it up :)

then, you're in playin mode. press anything in the first registered row (on the above QWERTY layout, any number) to enter stradella mode. the pressed button becomes the C bass button. the first row is bass, second row is major chords, third row is minor chords, and fourth row is dominant seventh chords without the third. press escape to exit stradella mode.

press any other registered key to enter chromatic mode. with the above QWERTY layout, it makes the registered keys exactly like a 4-row bayan/B-griff chromatic button accordion keyboard. you can prob fuck with the layout if you play C-griff and it should work. in general, pitch increases by a semitone as you go down a column, and by a minor third as you go down a row. the first and fourth rows play the same notes.

chromatic mode centers the key's tonic on the seventh registered key; on the above QWERTY layout that's S. the key tonic is selected by how you enter chromatic mode: the note of button you press, interpreted in a key of C, becomes the key tonic. so, on the above QWERTY layout, press S to enter chromatic mode in a key of C, or W for key of B, or I for key of F (up an octave). press escape to exit chromatic mode.

press any arrow key to enter edit mode. the up arrow edits the chromatic/melody synth, while the others edit the three synths in use for stradella/harmony. while in edit mode, you may use the following keys followed by a hexadecimal number to set the given synth config:

  • a: set attack in the adsr profile 0-f
  • d: set delay in the adsr profile 0-f
  • s: set sustain in the adsr profile 0-f
  • r: set release in the adsr profile 0-f
  • v: set volume 0-f
  • w: set waveform. 1=sine, 2=square, 3=triangle, 4=saw, 0=accordion fucker

#on the emancipation of volume

hey all accordion fucker here with an important notice. having all 4 synths play at once, at max volume, will NOT play properly. it'll sound glitchy and cool as hell. varvara (at least, the SDL version) just can't handle that much synth. if you're getting cool-as-hell glitch effects (which also look poggers on an oscilloscope), but don't want them, just turn down some of the volumes.

#seafaring animals

there is some rudimentary compatability with ORCA and other programs. if a byte is recieved on stdin, accordion fucker will interpret any byte recieved as an input for stradella mode. specifically, it will interpret the byte as a number denoting which key in the keymap you pressed (eg 0x10 will be as if you pressed the 16th key in a keymap) in stradella mode where C is centered on the 4th key. so, on the above QWERTY layout, 0x10 should play D, and 0x12 should play Dm.