-
Notifications
You must be signed in to change notification settings - Fork 0
/
todo.txt
32 lines (27 loc) · 1.6 KB
/
todo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Usage:
morse-writer -i book.txt -o output.wav -s 20 -f 500 -w sine -p 1.5
-i = input file to be rendered
-o = output wav file
-s = speed in WPM (defaults to 20)
-f = signal frequency in Hz (defaults to 600)
-p = punchiness. float. the greater, the more distorted the signal will be (defaults to 0)
What it does:
- reads the specified file and renders it as wav into the specified output file
- unknown characters are translated to ?
TODO:
DONE - configurable samplerate
DONE - farnsworth speed
DONE - configurable output channels (mono/stereo)
- configurable phase difference when stereo
- configurable panning when stereo
- configurable dash/dot ratio
DONE - refactor to keep all settings the renderer needs in a MorseCodeRendererSettings struct
DONE - use rtaudio for realtime audio output (https://github.com/thestk/rtaudio)
- figure out a function for punchiness that is speed independent. Make a study of how the spectrum is affected at different speeds/punchiness settings using spek.cc specrogram software
- settle on a crossplatform gui framework to be used - wxWidgets?
- figure out how the training game will look like. Expose rendering engine and forms to script. Investigate what does it take to make the game rounds scriptable. The gameplay should be simple and addictive.
- start to think of a scoring method which takes in account how far you've gone, overall accuracy and the number of characters recognised.
- store statistics about top misinterpreted characters and use them to bias the selection of "random" characters.
Questions:
- how to test Oscillator?
- how to test renderer?