SMENC(1)

πŸ“¦ version 0.6.1, in arch rolling, nixos 26.05, nixpkgs unstable

πŸ’– SMENC(1) β€” the smenc manual page πŸ’–

Okay bestie, welcome to the smenc manual page. We’re gonna encode a wav file into a SpectMorph model and look cute doing it. πŸŽ€

✨ NAME ✨

smenc β€” program to encode a wav file into a SpectMorph model. That’s the whole assignment. Periodt. πŸ’…

πŸ¦‹ SYNOPSIS πŸ¦‹

smenc [OPTIONS] WAV-File [SM-File]

🌸 DESCRIPTION 🌸

smenc is the command line tool for creating SpectMorph models from audio files. Usually the input file should contain a single note of some instrument, like a single C4 note. Lowkey, lower notes require different analysis parameters than higher notes, so it’s usually a good idea to use the -m option to let the encoding algorithm know which note is being encoded.

There’s also a quality / time tradeoff, which means you can use -O0, -O1, or -O2 to specify how accurate the analysis should be. Higher numbers mean better quality, but longer analysis time. It’s giving β€œbeauty takes time,” honestly. ✨

For multi-channel inputs, each channel is encoded separately. If you do not specify the output filename, the encoder will, for instance, create piano-ch0.sm and piano-ch1.sm from the stereo file piano.wav. If you do specify an output filename, you need to include a %c into the name, like piano-ch%c.sm, which will be substituted with the channel number. Iconic behavior, fr fr. 🫢

πŸ‘‘ OPTIONS πŸ‘‘

smenc follows the usual GNU command line syntax, with long options starting with two dashes ('-').

  • -h, --help β€” shows a brief help message. Your β€œwhat is this” button. πŸ’–
  • -v, --version β€” prints out smenc version. Slay, now you know what you’re running.
  • -f <frequency> β€” specify fundamental frequency in Hz. This information is optional, but should be supplied when known, to increase the accuracy of the model. It is equivalent to specifying the midi note; only one of -m and -f should be used. Don’t use both, bestie. 🚫
  • -m <midi-note> β€” specify the midi note of the input; this will be used to set the fundamental frequency in Hz. Adding this information is not required, no cap, but it increases the accuracy of the analysis algorithm. Only one of -m and -f should be used. Again: pick one. πŸ’…
  • -O <level> β€” for all frames of the input file, once smenc has found out which sine waves can be used to describe the frame, it needs to estimate the magnitude and phase of each sine wave for this frame. The optimization level chooses the algorithm used for finding the magnitude and phase; the higher the level, the more accurate the result will be. However, it defaults to -O0, since this is the fastest algorithm: estimating the magnitude/phase from the FFT result. A good choice is -O1, which is somewhat slower, but also somewhat better. So -O0 = speed, -O1 = glow-up, -O2 = full main character energy. πŸ”₯ iykyk.
  • -s β€” right now, smenc defaults to including lots of information in the output replaying the file. Therefore the files created by smenc are very large by default. To limit the file size, using the -s option instructs smenc to create a "stripped" model, that contains only the information needed to play it. These stripped models are usually much smaller than unstripped models. Big file energy? Not anymore. πŸ’€
  • --no-attack β€” by default, smenc tries to find an attack envelope at the beginning of the input, which describes at which time point the attack occurs and how fast the attack is. This option disables that step (which uses quite a bit of CPU time). Saving CPU? We love to see it. ⭐
  • --no-sines β€” skip analysis of the sine part of the signal (partial tracking). No sine analysis today, bestie.
  • --loop-start β€” set start loop point (in samples) β€” loop type is set to timeloop. πŸŽ€
  • --loop-end β€” set end loop point (in samples) β€” loop type is set to timeloop. πŸŽ€

🌈 SEE ALSO 🌈

smplay.1 <https://testbit.eu/wiki/Smplay.1>


πŸ’– Catch you later β€” this SMENC(1) page is Revision 576, dated 2011-07-19. Mwah! πŸ’–

πŸ“¦ where this page comes from