Expand description
Turn an audio stem or a written sound description into a starting point in a target synth, Vital or Serum 2.
The library holds all logic. The sound-to-patch binary parses the
command line with cli::Cli, calls the library and prints the result.
The library itself never prints.
§Modules
audio: stem intake. Decodes a file at its native rate, mixes it to mono and resamples it for a consumer with a fixed rate.cli: the command-line definition, shared by the binary and by the generators of the man pages and the shell completions.confidence: how far a layer trusts an estimate, as a level with reasons and a spread, or no estimate.dsp: the signal core: windows, STFT, peak picking, active frames, the analytic signal and decay fits.estimate: the layer estimators that read the note list and the f0 track: the pitch layer with its glides, pitch drops and vibrato, and the envelope layer with the note envelopes and the sidechain pump, and the voices layer with the count of voices and the joins of a mono line.music: the music dictionary for notes, embedded fromdictionary/music/, with the key, note-name, numeral and chord-symbol parsers, the snap rule and the rhythm arithmetic.notes: the note list that every layer reads, the transcriber with its profiles and its register detection, the f0 track, the cleanup with the quiet-note guard, the notes step of a stem, the MIDI reader and writer, and the harmonic masks built from the list.preset: preset files behind one adapter per synth: the format traits, the parameter registry with its laws, the template, the edit list and its applier, the mapper trait that turns layer values into edits, and the Vital adapter.render: rendering a preset and its notes to audio: the recipe, the render job and record, the renderer trait, a fake renderer for tests, the plug-in state of a preset and the renderer that drives the plug-in host process.report: the outputs of a stem:layers.json, the spectrogram image and the finalnotes.midwith theanalyzepipeline that writes them, and the firstnotes.midwith thenotescommand.synth: the target synth, the shared--synthargument and what each synth offers in structure.units: unit newtypes, checked once when built, with their conversions, serde and the unit-string parser.
Modules§
- audio
- Stem intake: decoding, mono, resampling and the
Stem. - cli
- The command-line definition.
- confidence
- How far a layer trusts one of its estimates.
- dsp
- The signal core that every estimator uses.
- estimate
- The layer estimators that read the note list and the f0 track.
- music
- The music dictionary for notes: scales, keys, chords, progressions, rhythm and technique words, each with a checkable note rule, and the parsers and functions that read them.
- notes
- The note list that every layer reads, the transcriber, the f0 track and the MIDI files that produce and store it, and the harmonic masks built from it.
- preset
- Preset files of the target synths, behind one adapter per synth.
- render
- Rendering a preset and its notes to audio through a synth.
- report
- The outputs of a stem:
layers.json,spectrogram.pngand the finalnotes.midfromanalyze, and the firstnotes.midfromnotes. - synth
- The target synth: the
Synthenum, the shared--synthargument and the structure each synth offers,SynthCapabilities. - units
- Unit newtypes: a value is checked once, when it is built, and is valid by type afterwards.
- words
- The word dictionary: what a producer’s sound word means.