@@ -260,6 +260,7 @@ lint-plugins:
260260 @ cd plugins/ native/ vad && cargo fmt -- --check && cargo clippy -- -D warnings
261261 @ cd plugins/ native/ matcha && cargo fmt -- --check && cargo clippy -- -D warnings
262262 @ cd plugins/ native/ nllb && cargo fmt -- --check && CMAKE_ARGS=" -DCMAKE_INSTALL_PREFIX=$$(pwd)/target/cmake-install" cargo clippy -- -D warnings
263+ @ cd plugins/ native/ supertonic && cargo fmt -- --check && cargo clippy -- -D warnings
263264 @ echo " ✓ All native plugins passed linting"
264265
265266# Auto-fix formatting and linting issues in native plugins
@@ -272,6 +273,7 @@ fix-plugins:
272273 @ cd plugins/ native/ vad && cargo fmt && cargo clippy --fix --allow-dirty --allow-staged -- -D warnings
273274 @ cd plugins/ native/ matcha && cargo fmt && cargo clippy --fix --allow-dirty --allow-staged -- -D warnings
274275 @ cd plugins/ native/ nllb && cargo fmt && CMAKE_ARGS=" -DCMAKE_INSTALL_PREFIX=$$(pwd)/target/cmake-install" cargo clippy --fix --allow-dirty --allow-staged -- -D warnings
276+ @ cd plugins/ native/ supertonic && cargo fmt && cargo clippy --fix --allow-dirty --allow-staged -- -D warnings
275277 @ echo " ✓ All native plugins fixed"
276278
277279# --- Profiling ---
@@ -773,12 +775,49 @@ upload-helsinki-plugin: build-plugin-native-helsinki
773775 @ curl -X POST -F plugin=@target/ release/ libhelsinki.so \
774776 http:// 127.0.0.1 :4545 / api/ v1/ plugins
775777
778+ # Download Supertonic TTS models
779+ download-supertonic-models :
780+ @ echo " Downloading Supertonic TTS models..."
781+ @ mkdir -p models
782+ @ if [ -f models/ supertonic-v2-onnx.tar.bz2 ]; then \
783+ echo " ✓ Supertonic archive already exists at models/supertonic-v2-onnx.tar.bz2" ; \
784+ else \
785+ echo " Downloading supertonic-v2-onnx.tar.bz2..." && \
786+ curl -L -o models/ supertonic-v2-onnx.tar.bz2 \
787+ https:// huggingface.co/ streamkit/ supertonic-models/ resolve/ main/ supertonic-v2-onnx.tar.bz2 && \
788+ echo " ✓ Supertonic archive downloaded" ; \
789+ fi
790+ @ if [ -d models/ supertonic-v2-onnx ]; then \
791+ echo " ✓ Supertonic models already extracted at models/supertonic-v2-onnx" ; \
792+ else \
793+ echo " Extracting models..." && \
794+ cd models && tar xf supertonic-v2-onnx.tar.bz2 && \
795+ echo " ✓ Supertonic v2 models ready at models/supertonic-v2-onnx (5 languages, 10 voices)" ; \
796+ fi
797+
798+ # Setup Supertonic TTS (download models)
799+ setup-supertonic : download-supertonic-models
800+ @ echo " ✓ Supertonic TTS setup complete!"
801+
802+ # Build native Supertonic TTS plugin
803+ [working-directory : ' plugins/native/supertonic' ]
804+ build-plugin-native-supertonic :
805+ @ echo " Building native Supertonic TTS plugin..."
806+ @ cargo build --release
807+
808+ # Upload Supertonic plugin to running server
809+ [working-directory : ' plugins/native/supertonic' ]
810+ upload-supertonic-plugin : build-plugin-native-supertonic
811+ @ echo " Uploading Supertonic plugin to server..."
812+ @ curl -X POST -F plugin=@target/ release/ libsupertonic.so \
813+ http:// 127.0.0.1 :4545 / api/ v1/ plugins
814+
776815# Build specific native plugin by name
777816build-plugin-native name :
778817 @ just build-plugin-native-{{ name}}
779818
780819# Build all native plugin examples
781- build-plugins-native : build-plugin-native-gain build-plugin-native-whisper build-plugin-native-kokoro build-plugin-native-piper build-plugin-native-matcha build-plugin-native-sensevoice build-plugin-native-nllb build-plugin-native-vad build-plugin-native-helsinki
820+ build-plugins-native : build-plugin-native-gain build-plugin-native-whisper build-plugin-native-kokoro build-plugin-native-piper build-plugin-native-matcha build-plugin-native-sensevoice build-plugin-native-nllb build-plugin-native-vad build-plugin-native-helsinki build-plugin-native-supertonic
782821
783822## Combined
784823
@@ -812,7 +851,7 @@ copy-plugins-native:
812851 cp examples/ plugins/ gain-native/ target/ release/ libgain_plugin_native.* .plugins/ native/ 2 >/ dev/ null || true
813852
814853 # Official native plugins (repo-local)
815- for name in whisper kokoro piper matcha vad sensevoice nllb helsinki; do
854+ for name in whisper kokoro piper matcha vad sensevoice nllb helsinki supertonic ; do
816855 for f in \
817856 plugins/ native/ " $name"/ target/ release/ lib" $name" .so \
818857 plugins/ native/ " $name"/ target/ release/ lib" $name" .so.* \
0 commit comments