██     ██ ███████ ██      ██      ███████    ███████ ██   ██ ███████ 
██     ██ ██      ██      ██      ██         ██       ██ ██  ██      
██  █  ██ █████   ██      ██      █████      █████     ███   █████   
██ ███ ██ ██      ██      ██      ██         ██       ██ ██  ██      
 ███ ███  ███████ ███████ ███████ ███████ ██ ███████ ██   ██ ███████ 

welle.exe is a text-based step-sequencer for your terminal.

Download (Version 1.0.2, 2021-12-28)

- windows
- mac os
- linux x64

v1.0.2 credits when loading sample pack, textfield always in focus
v1.0.1 improved help/tutorial/website
v1.0.0 initial release


welle is a 8-step sequencer.

On the left you see, from top to bottom:
- Settings (play, pause, basic/advanced ui, bpm and volume)
- User made "parts"

On the right you see, from top to bottom: 
- Sample packs
- Samples in the sample pack

In the large center area you see, from top to bottom:
- Command history and command outputs
- A textfield where you type commands
- Active samples

You start by typing the name of any sample on the left, followed by a rhytmic 

  # means that the sample is played.
  - means a pause.

kick #-- means "play the kick drum, pause, pause, repeat". The sequence is 
automatically extended to eight steps. So it's the same as typing
kick #--#--#-

You can make the sound higher or lower by putting a positive or negative number after the #, 
for instance
kick #10-- or
kick #-10-- (it looks confusing, but is totally fine!)

This is the basic usage. For more, try it out! There is built-in tutorial 
which you can start by typing "tutorial". 

Command Reference

SAMPLE COMMANDS samples List all available samples kick Plays the sample named kick kick #- Sets the pattern for kick to #-#-#-#- kick #5- Same as above, but the kick is pitched up by 5 semitones kick 0.5 Sets the volume of the kickdrum to 0.5 (50%) kick &2 Randomizes the positions of the steps every two loops kick &0 Turns off randomization kick #- &2 Sets the kick pattern to #-, but also activates randomization kick 0.5 #- &2 Like above, but also sets the volume to 0.5 kick 1 &0 Sets volume to 1 (100%) and randomization off .kick Pauses playback for the kickdrum >kick Turns playback for the kickdrum back on /kick Removes the kickdrum PART COMMANDS parts List all user stored parts =a Stores all current patterns and the bpm as "a" (use any name that you like). After doing that the a Recalls what you stored as "a" /a Deletes your stored preset BPM COMMANDS bpm Displays the current beats per minute (default is 120bpm) bpm 100 Change to 100 bpm bpm 200 10 Speed up to 200 bpm slowly over the course of 10 seconds FILE COMMANDS save my_file Saves all your current patterns and parts to my_file.json load my_file Loads patterns and parts from my_file.json load Displays all files available for loading RECORD COMMANDS record start Begin recording to a high quality wav file record stop Stop recording. This will then also display where the file was saved SAMPLE PACK COMMANDS use osci Switches to the "osci" sample pack. This replaces all your current samples GENERAL / delete everything . pause playback > resume playback volume show current volume volume 0.5 set global volume to 0.5 (50%)


welle.exe is a port of jens vetter's web version at welle.live The following external libraries are used: - https://github.com/ArthurSonzogni/FTXUI Terminal UI (MIT License) - https://github.com/mackron/miniaudio Audio I/O (Unlicense / MIT License) - https://github.com/SpartanJ/efsw File system watcher (MIT License) Each sample pack contains a file called "readme.txt" with information about how the sample pack was obtained. Here is a quick overview: - buchla by Omadowin - diskette by Matteo Grilli "Ambient Diskette" - electronique by Valentine "55,5 Sample Pack" - glass by kaffekrus "Glass Recordings" - sounds-for-life by Valentine "55,5 Sample Pack" - default by Jens Vetter - hardstyle by Biochron - osci by Hansi Raber 2021, hansi raber, asdfg.me