diff options
Diffstat (limited to 'doc/SPEC_EDITOR.md')
| -rw-r--r-- | doc/SPEC_EDITOR.md | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/doc/SPEC_EDITOR.md b/doc/SPEC_EDITOR.md new file mode 100644 index 0000000..cde0cdd --- /dev/null +++ b/doc/SPEC_EDITOR.md @@ -0,0 +1,44 @@ +# spectrogram editing tool in a browser + +The sub-project is about have an editing tool in a browser +that will allow generating, editing, compacting .spec files + +## the idea + +We want a web page (html+javascript) capable of: + * loading a .wav file and showing the spectrogram (IDCT_SIZE=512) + * compacting this spectrogram if needed + * generating the .spec file + * allowing some editing on the spectrogram + * and most importantly: allowing the compression of this spectrogram using elementary bricks like bezier-curves (with a large stroke width / + brushes), rectangle, noise addition, etc. + +These tools must be available in the web editor (in javascript) as well as +in c++ equivalent too. + +The idea is the compress the .wav spectrogram using elementary bricks and +simple representation (as well as being dynamic) during the demo: we +generate the audio on the fly by 'drawing' the spectrograms and passing them +to the synth + +## the work + +Analyze the requirement for the HTML tool. It must remain simple and easy to +use. Don't over-engineer it. +Still, the tool must have a decent load/save offer, to: + * load the .wav + * save the .spec + * save/export the descriptive compressed version in vectorial form (like the SVG format, in fact) + * be able to load this vectorial form + +Then we need a reader for the vectorial form in c++ to use in the demo. +We also need to elementary tools / bricks to: draw a line / bezier curve / +rectangle, ellipse, etc. in frequency domain, to generate the spectrogram on +the flight. +We also need controllable random noise generation to add some 'texture' to +the spectrogram. + +## the files +the HTML/JS tool should be under tools/editor +the c++ code should be added to the library under src/audio/ + |
