Generate
.wavfile from user input
- from binary:
wave [input] [output] - from source code:
cargo r [input] [output]
<input>: input text file,input.txtby default<output>: output wav file,output.wavby default
see input.md
- writer.rs
- write
.wavfile headers - get file size from metadata
- write
- stores/waveform.rs
- generate waveform for
.wavgiven frequency and frame count
- generate waveform for
- parsers/capture.rs
- use
Rc<T>to avoid duplicate data stored in heap
- use
- parsers/input.rs
- use
Peekable<T>for token lookaheads
- use
- parsers/note.rs
- convert pitch in scientific notation to its frequency in
O(1)time - use
HashMap<K,V>to cache the frequencies
- convert pitch in scientific notation to its frequency in
- parsers/repeat.rs
- use
Rc<RefCell<T>>to avoid duplicates and allow mutable references - use
BTreeMap<K,V>for ordered map - higher order functions
- use
- note
- find a shorter example of tie
- implement double dotted
.. - implement slur (idk how)
- explain tuplet
- implement dynamics (
ppmpff>etc) - implement Tenuto (idk how)
- implement trill
- implement upper/lower mordent