A standalone synthesizer that is controlled through text files in an extendable way.
It is a digital synthesizer that has no GUI and is controlled through text files instead. Thus, some things might be done much faster and some things might be completely automated.
The list of implemented and planned features is as follows:
- Balance between freedom for user and simplicity of input formats
- Support of additive synthesis, subtractive synthesis, and AM/PM synthesis
- Sound effects (e.g., phaser, overdrive, reverb, etc)
- Custom envelopes
- Noises and drums
- Rich collection of presets
To install a stable version, run:
pip install sinethesizer
This synthesizer converts MIDI files and special text files to WAV files with resulting audio tracks.
For a MIDI file, it can be done with the following command:
python -m sinethesizer \ -i path/to/track.midi \ -p path/to/presets.yml \ # Or -p path/to/dir_with_presets -m path/to/midi_config.yml \ -o path/to/output.wav
However, MIDI files are binary and, therefore, quite opaque. Also, integration between them and this synth is not complete: for example, control changes are ignored and event-level effects can not be applied. Here, TSV (Tab-Separated Values) files of special schema can be used as a native and more transparent alternative to MIDI. To process such a file, run:
python -m sinethesizer \ -i path/to/track.tsv \ -p path/to/presets.yml \ # Or -p path/to/dir_with_presets -o path/to/output.wav
Below table provides links to detailed information about input files that are required from a user.
|-i path/to/track.tsv||Track definition||Scale|
|-p path/to/presets.yml||Instruments definition||Demo instruments|
|-m path/to/midi_config.yml||Settings of MIDI file interpretation||Demo MIDI config|
If something is still unclear, you can read the source code — it is structured and has built-in documentation. Also your questions are welcome.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for sinethesizer-0.6.1-py3-none-any.whl