MXTune
pitch correction plugin for VST
Install / Use
/learn @liuanlin-mx/MXTuneREADME
MXTune
hot keys
- alt+mouse wheel: x zoom
- ctrl+mouse wheel: y zoom
- (mouse wheel) or (W, S): y move
- (shift+mouse wheel) or (A, D): x move
- left button drag: add note
- right button : delete note
attribution
- The core algorithm comes from Tom Baran's Autotalent(http://web.mit.edu/tbaran/www/autotalent.html) (pitch_detector_talent.cpp,pitch_shifter_talent.cpp,auto_tune.cpp)
- TalentedHack(http://code.google.com/p/talentledhack/)
- JUCE is licensed under the GPL v3 or a commercial license. See juce.com for more details.
build
windows(msys2)
msys2
pacman -S mingw-w64-x86_64-toolchain
pacman -S make cmake autoconf automake-wrapper libtool mingw-w64-x86_64-python3 mingw-w64-x86_64-waf mingw-w64-x86_64-fftw mingw-w64-x86_64-rubberband
JUCE
-
Download Juce (https://github.com/juce-framework/JUCE 5.4.7)
-
modify:
JUCE/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp:2442/* extern "C" BOOL WINAPI DllMain (HINSTANCE instance, DWORD reason, LPVOID) { if (reason == DLL_PROCESS_ATTACH) Process::setCurrentModuleInstanceHandle (instance); return true; } */ -
modify:
JUCE/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp:3174extern "C" __declspec (dllexport) IPluginFactory* GetPluginFactory()
-
-
run Projucer.exe
-
File->Open MXTune/JUCE/mx_tune.jucer
-
File->Global Paths
- modify "Path to JUCE" and "JUCE Modules"
-
File->Save All
VST SDK
-
Download the VST SDK (http://www.steinberg.net/en/company/developers.html)
-
copy vstsdk2.4/pluginterfaces to VST_SDK/VST3_SDK/
-
copy VST_SDK/VST3_SDK to MXTune/
-
modify:
-
VST3_SDK\base\source\fstring.cpp:226
#define vsnprintf _vsnprintf -> //#define vsnprintf _vsnprintf -
VST3_SDK\pluginterfaces\base\ipluginbase.h:423
extern "C" __declspec (dllexport) Steinberg::IPluginFactory* GetPluginFactory ();
-
build SoundTouch
./bootstrap
./configure --prefix=/mingw64 --enable-static --disable-shared
make CXXFLAGS="-DSOUNDTOUCH_PREVENT_CLICK_AT_RATE_CROSSOVER=1"
make install
build aubio
python3 /mingw64/bin/waf configure --enable-fftw3f --disable-tests --disable-examples --disable-wavread --disable-wavwrite --prefix=/mingw64
python /mingw64/bin/waf install -j4
build MXTune
mkdir build-cmake
cd build-cmake
cmake .. -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc -G "Unix Makefiles"
make -j4
macOS
-
Prerequisites:
- CMake
- Git
- Xcode
- Xcode command-line tools
- Homebrew
-
Install Xcode from Mac App Store
-
Install Xcode command-line tools:
xcode-select --install
brew install pkg-config brew install autoconf brew install automake brew install libtool brew install cmake
### JUCE
Download Juce (https://github.com/juce-framework/JUCE 7.0.5)
run Projucer
File->Open MXTune/JUCE/mx_tune.jucer
File->Global Paths modify "Path to JUCE" and "JUCE Modules"
File->Save All
### VST SDK
Download the VST SDK (http://www.steinberg.net/en/company/developers.html)
copy vstsdk2.4/pluginterfaces to VST_SDK/VST3_SDK/
copy VST_SDK/VST3_SDK to MXTune/
### build Audio
./configure --enable-static --enable-float --enable-single ./waf configure --enable-fftw3f --disable-tests --disable-examples --disable-wavread --disable-wavwrite --notest sudo ./waf install
### build SoundTouch
make CXXFLAGS="-DSOUNDTOUCH_PREVENT_CLICK_AT_RATE_CROSSOVER=1 -fdata-sections -ffunction-sections" sudo make install
### build rubberband
make -f otherbuilds/Makefile.macos sudo cp -R rubberband /usr/local/include sudo cp lib/* /usr/local/lib sudo cp build/meson-private/rubberband.pc /usr/local/lib/pkgconfig/
### build MXTune
mkdir build-cmake cd build-cmake cmake .. make -j6 sudo cp libmx_tune.dylib /Library/Audio/Plug-Ins/VST/mx_tune.vst
## linux
- ```sudo apt install libfftw3-dev```
- ```./build_linux.sh```
Related Skills
node-connect
338.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
338.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.4kCommit, push, and open a PR
