SpectMorph 1.0.0-beta1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



SpectMorph 1.0.0-beta1 has been released.

The main changes are:
- WavSource: added formant preserving algorithms for repitching vocals
- KeyTrack: new operator to combine instruments by note range
- Envelope: new operator to generate arbitrary modulation envelopes
- LFO: support arbitrary user defined curves

There is a tutorial on YouTube for the new features:
- https://www.youtube.com/embed/mwVUsuOTcN0

Feedback for any issues you might experience with the beta version is appreciated.

What is SpectMorph?
-------------------
SpectMorph is a free software project which allows to analyze samples of
musical instruments, and to combine them (morphing). It can be used to
construct hybrid sounds, for instance a sound between a trumpet and a
flute; or smooth transitions, for instance a sound that starts as a
trumpet and then gradually changes to a flute.

SpectMorph ships with many ready-to-use instruments which can be
combined using morphing.

SpectMorph is implemented in C++ and licensed under the GNU LGPL version 2.1 or later

Integrating SpectMorph into your Work
-------------------------------------
SpectMorph is currently available for Linux, Windows and macOS (Intel and Apple Silicon), with CLAP/LV2/VST plugins. Under Linux, there is also JACK Support.

Links:
------
Website:  https://www.spectmorph.org
Download: https://www.spectmorph.org/downloads

There are many audio demos on the website, which demonstrate morphing
between instruments.

List of Changes in SpectMorph 1.0.0-beta1:
------------------------------------------
#### New Features

* WavSource: support two formant preserving algorithms for repitching vocals.
* New operators:
  - KeyTrack - can be used to combine instruments by note range.
  - Envelope - to generate arbitary modulation envelopes.
* User defined curve editor for KeyTrack, Envelope and LFO.
* Add presets using the new operators:
  - KeyTrack Choir Ah/Oh
  - StringBrass Fusion
* JACK CC values are now interpreted per channel (allows polyphonic modulation).
* Support double click to reset properties to default value.

#### Fixes
* Apply midi channel bend to new voices.
* Make portamento affect filter cutoff key tracking.
* Fix problems with WavSource paths stored by LV2 plugin (make Ardour archives work). * Fix getting the initial click events / focus plugin UI on macOS under Bitwig.
* Fix invalid access to past last vector element (#24).
* Make PandaResampler work without problems in ASAN builds.
* Refactor leak debugger to fix possible crashes caused by global destructors.
* Do not ship sample data in "1 Instrument WavSource" preset.

#### Internals: Improvements
* Generate and store spectral envelopes in each AudioBlock for formant correction. * Improve the strategy for portamento synthesis (more accurate and less CPU usage).
* Propagate portamento frequency to sources.
* Randomize start phase per default to improve "Harmonic Resynthesis" quality. * JACK: use two audio outputs to be able to implement stereo support later on. * Add fast vectorizable log2 approximation (based on Tims version from Anklang). * Phases in LiveDecoder, IFFTSynth: change from float to uint for performance reasons.
* Various minor performance optimizations.
* Minor LV2 meta data updates (port groups, avoid port resizing extension).
* Use newer compilers: g++-14 for windows, g++-13 for static linux plugins.
* Support automatically downloading instruments from configure.
* Avoid using std::mutex in hard RT code.

#### Internals: Minor Changes
* Refactoring:
  - Deduplicate morphing code from MorphGrid and MorphLinear.
  - Use shared pointers for GenericIn/GenericOut classes (RAII).
  - Get rid of `sm_clamp` / `sm_bound` (-> std::clamp).
* Improve CI support (use debug-cxx, asan, ubsan, test static build, avoid fftw planning). * Add post install test which tests audio output for all presets after installation.
* Validate LV2 feature arrays.
* Support user defined scripts in testmidisynth test.
* Improve error messages for preset loader.
* Build cleanups: remove libbse code, simplify Qt build (remove smsampleedit).
* Update CLAP version to 1.2.1.
--
Stefan Westerfeld, http://space.twc.de/~stefan
_______________________________________________
Linux-audio-user mailing list -- linux-audio-user@xxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to linux-audio-user-leave@xxxxxxxxxxxxxxxxxxxx



[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux