58 lines
4.1 KiB
Text
58 lines
4.1 KiB
Text
A flexible music programming language powered by math.
|
||
|
||
usage:
|
||
|
||
blip [play [FILENAME | -c SHEET_MUSIC] [-i EXPR] [-l EXPR] -n NOTE[,...] [-v CHAR=VALUE] | export [FILENAME | -c SHEET_MUSIC] [-i EXPR] [-l EXPR] -n NOTE[,...] [-v CHAR=VALUE] [-f FORMAT] [-o FILENAME] | help [syntax | examples | example <n> | formats]]
|
||
|
||
|
||
modes:
|
||
play - play a song
|
||
FILENAME
|
||
name of the file to use as the sheet music [default: standard in]
|
||
-c SHEET_MUSIC
|
||
sheet music to read instead of reading a file
|
||
-n NOTE[,...], --notes NOTE[,...]
|
||
available notes: a list of comma-separated alphabetical note names
|
||
-i EXPR, --instrument EXPR
|
||
signal expression (instrument) to generate music samples (you can use the floating-point number t for the current time in seconds, n for the indice of the currently playing note in the list of available notes starting with 0 and N for the number of available notes) [default: "sin(2*pi()*(442+442*((n+1)/N))*t)"]
|
||
-l EXPR, --length EXPR
|
||
expression to generate note length in seconds [default: "2^(2-log(2, l))*(60/T)"]
|
||
-v VARIABLE=VALUE, --variable VARIABLE=VALUE
|
||
add a variable named VARIABLE (an single letter) for the sheet music and all expressions and set its initial value to VALUE (you can override n, t, l and T which is the only way to set the initial tempo)
|
||
-m NAME:EXPANSION, --macro NAME:EXPANSION
|
||
add a macro named NAME (single character, must not be alphanumeric) which expands to EXPANSION when called in the sheet music
|
||
-s NAME:VARIABLE=EXPR, --slope NAME:VARIABLE=EXPR
|
||
add a slope expression named NAME which replaces the value of VARIABLE with the result of EXPR each frame (EXPR can use all available variables and instrument variables plus the variables α for the initial value of VARIABLE, β for the final value and Δ for the total duration of the specific slope)
|
||
|
||
export - export a song to an audio file or stdout
|
||
FILENAME
|
||
name of the file to use as the sheet music [default: standard in]
|
||
-c SHEET_MUSIC
|
||
sheet music to read instead of reading a file
|
||
-n NOTE[,...], --notes NOTE[,...]
|
||
available notes: a list of comma-separated alphabetical note names
|
||
-i EXPR, --instrument EXPR
|
||
signal expression (instrument) to generate music samples (you can use the floating-point number t for the current time in seconds, n for the indice of the currently playing note in the list of available notes starting with 0 and N for the number of available notes) [default: "sin(2*pi()*(442+442*((n+1)/N))*t)"]
|
||
-l EXPR, --length EXPR
|
||
expression to generate note length in seconds [default: "2^(2-log(2, l))*(60/T)"]
|
||
-v VARIABLE=VALUE, --variable VARIABLE=VALUE
|
||
add a variable named VARIABLE (an single letter) for the sheet music and all expressions and set its initial value to VALUE (you can override n, t, l and T which is the only way to set the initial tempo)
|
||
-m NAME:EXPANSION, --macro NAME:EXPANSION
|
||
add a macro named NAME (single character, must not be alphanumeric) which expands to EXPANSION when called in the sheet music
|
||
-s NAME:VARIABLE=EXPR, --slope NAME:VARIABLE=EXPR
|
||
add a slope expression named NAME which replaces the value of VARIABLE with the result of EXPR each frame (EXPR can use all available variables and instrument variables plus the variables α for the initial value of VARIABLE, β for the final value and Δ for the total duration of the specific slope)
|
||
-f, --format FORMAT
|
||
audio format to use [default: mp3 or raw if the codec is unavailable]
|
||
see "help formats"
|
||
-o, --output FILENAME
|
||
output file [default: standard out]
|
||
|
||
help - help menu
|
||
syntax
|
||
show a help message about expression and sheet music syntax
|
||
examples
|
||
show a list of expression and sheet music examples
|
||
example <n>
|
||
show the nth example from the list provided by --examples
|
||
formats
|
||
show a list of available formats for audio export
|