hclarke / cmd_synth Goto Github PK
View Code? Open in Web Editor NEWcommand line synth
command line synth
right now, everything has the same duration. would be nice to support things like concatenation and crossfading
this would require:
a command to just pop the top of the stack would help with debugging
for debugging, would be nice to have a function to print each item on the stack to stderr
first arg should be duration, as it is now. additional args should be treated as commands run before the program starts
example: synth 1 440 sin
, with an empty stdin, should produce a 1 second sound with a 440 hz sin wave
square, triangle, sawtooth waves
would be nice: triangle wave with a skew/bias parameter to cover sawtooth, triangle, reverse sawtooth, and everything else like that
they could be aliases for constants.
similar to 440 @A
or they could be a one-argument function that takes the octave
like ```[ 12 mul exp 440 mul ] @A
leaning toward the latter
should be able to save the top of the stack to a variable, and use it later
store: @foo
load: foo
the command line args should represent what piano key was hit and for how long
eg. synth 1 220
or synth 1 -1 A
or prettier: synth sustain=1 note=A octave=-1
available to the input as note
or something
need log and exp to do harmonics well. could be base 2 for octaves, or base 1.05946 for semitones
it'd be nice to have a component that has a list of commands. when evaluated, it should run all of its commands, and then evaluate the top element of the stack
example program:
[ 0.5 mul ] @half
440 sin
half
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.