Skip to content

Library in c++ for effect pitch changes, backend of Audacity

License

Notifications You must be signed in to change notification settings

sonio-ai/libsbsms

 
 

Repository files navigation

Usage

# Clone repo
git clone <repo-key>
cd libsbsms

# Requirements: mad and sndfile
brew install libmad libsndfile

# Compilation
cd example
mkdir build
cd build
cmake .. # in my case, added -DCMAKE_OSX_ARCHITECTURES=x86_64 because of my weird brew setup
make sbsms-convert

# Usage
./sbsms-convert <input-file> <output-file> <1> <1> <-36> <-36>
./sbsms-convert ~/Downloads/download.wav ~/Downloads/testing2.wav 1 1 -36 -36

Content

=======

libsbsms is a library for high quality time and pitch scale modification. It is based on octave subband sinusoidal modeling and resynthesis. It stitches tracks between subbands, and it has multiple stages of analysis and resynthesis.

This branch is mostly for maintaning use in Audacity and its descendant.

I am working on a real-time version now, VST3 ready, rebuilt from the bottom up, for interactive spectrograms, which will go into a different repo. Eventually I want a Cubase like sequencer/arranger, as well. I'm open to input for applications - just start an issue if you have any ideas.

There is a simple command line program 'sbsms-convert` in ./example which performs a sliding time stretch and pitch shift of a .wav or .mp3 file and outputs a .wav file.

API

======= When reading the output from sbsms, you must determine a stopping condition for yourself, as the library zero pads the output ad infinitum and never returns 0 samples. The simplest method for doing so is found in example/sbsms-convert.cpp.

About

Library in c++ for effect pitch changes, backend of Audacity

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.7%
  • CMake 1.1%
  • C 1.1%
  • Makefile 0.1%