Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 41 additions & 2 deletions justfile
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,7 @@ lint-plugins:
@cd plugins/native/matcha && cargo fmt -- --check && cargo clippy -- -D warnings
@cd plugins/native/pocket-tts && cargo fmt -- --check && cargo clippy -- -D warnings
@cd plugins/native/nllb && cargo fmt -- --check && CMAKE_ARGS="-DCMAKE_INSTALL_PREFIX=$$(pwd)/target/cmake-install" cargo clippy -- -D warnings
@cd plugins/native/supertonic && cargo fmt -- --check && cargo clippy -- -D warnings
@echo "✓ All native plugins passed linting"

# Auto-fix formatting and linting issues in native plugins
Expand All @@ -274,6 +275,7 @@ fix-plugins:
@cd plugins/native/matcha && cargo fmt && cargo clippy --fix --allow-dirty --allow-staged -- -D warnings
@cd plugins/native/pocket-tts && cargo fmt && cargo clippy --fix --allow-dirty --allow-staged -- -D warnings
@cd plugins/native/nllb && cargo fmt && CMAKE_ARGS="-DCMAKE_INSTALL_PREFIX=$$(pwd)/target/cmake-install" cargo clippy --fix --allow-dirty --allow-staged -- -D warnings
@cd plugins/native/supertonic && cargo fmt && cargo clippy --fix --allow-dirty --allow-staged -- -D warnings
@echo "✓ All native plugins fixed"

# --- Profiling ---
Expand Down Expand Up @@ -801,12 +803,49 @@ upload-helsinki-plugin: build-plugin-native-helsinki
@curl -X POST -F plugin=@target/release/libhelsinki.so \
http://127.0.0.1:4545/api/v1/plugins

# Download Supertonic TTS models
download-supertonic-models:
@echo "Downloading Supertonic TTS models..."
@mkdir -p models
@if [ -f models/supertonic-v2-onnx.tar.bz2 ]; then \
echo "✓ Supertonic archive already exists at models/supertonic-v2-onnx.tar.bz2"; \
else \
echo "Downloading supertonic-v2-onnx.tar.bz2..." && \
curl -L -o models/supertonic-v2-onnx.tar.bz2 \
https://huggingface.co/streamkit/supertonic-models/resolve/main/supertonic-v2-onnx.tar.bz2 && \
echo "✓ Supertonic archive downloaded"; \
fi
@if [ -d models/supertonic-v2-onnx ]; then \
echo "✓ Supertonic models already extracted at models/supertonic-v2-onnx"; \
else \
echo "Extracting models..." && \
cd models && tar xf supertonic-v2-onnx.tar.bz2 && \
echo "✓ Supertonic v2 models ready at models/supertonic-v2-onnx (5 languages, 10 voices)"; \
fi

# Setup Supertonic TTS (download models)
setup-supertonic: download-supertonic-models
@echo "✓ Supertonic TTS setup complete!"

# Build native Supertonic TTS plugin
[working-directory: 'plugins/native/supertonic']
build-plugin-native-supertonic:
@echo "Building native Supertonic TTS plugin..."
@cargo build --release

# Upload Supertonic plugin to running server
[working-directory: 'plugins/native/supertonic']
upload-supertonic-plugin: build-plugin-native-supertonic
@echo "Uploading Supertonic plugin to server..."
@curl -X POST -F plugin=@target/release/libsupertonic.so \
http://127.0.0.1:4545/api/v1/plugins

# Build specific native plugin by name
build-plugin-native name:
@just build-plugin-native-{{name}}

# Build all native plugin examples
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-pocket-tts build-plugin-native-sensevoice build-plugin-native-nllb build-plugin-native-vad build-plugin-native-helsinki
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-pocket-tts build-plugin-native-sensevoice build-plugin-native-nllb build-plugin-native-vad build-plugin-native-helsinki build-plugin-native-supertonic

## Combined

Expand Down Expand Up @@ -840,7 +879,7 @@ copy-plugins-native:
cp examples/plugins/gain-native/target/release/libgain_plugin_native.* .plugins/native/ 2>/dev/null || true

# Official native plugins (repo-local)
for name in whisper kokoro piper matcha vad sensevoice nllb helsinki; do
for name in whisper kokoro piper matcha vad sensevoice nllb helsinki supertonic; do
for f in \
plugins/native/"$name"/target/release/lib"$name".so \
plugins/native/"$name"/target/release/lib"$name".so.* \
Expand Down
28 changes: 28 additions & 0 deletions marketplace/official-plugins.json
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,34 @@
}
]
},
{
"id": "supertonic",
"name": "Supertonic",
"version": "0.1.0",
"node_kind": "supertonic",
"kind": "native",
"entrypoint": "libsupertonic.so",
"artifact": "plugins/native/supertonic/target/release/libsupertonic.so",
"description": "Multilingual TTS using Supertonic (66M params, 5 languages, up to 167x real-time)",
"license": "MPL-2.0",
"models": [
{
"id": "supertonic-v2-onnx",
"name": "Supertonic v2 ONNX models",
"default": true,
"source": "huggingface",
"repo_id": "streamkit/supertonic-models",
"revision": "main",
"files": [
"supertonic-v2-onnx.tar.bz2"
],
"expected_size_bytes": 244451376,
"license": "MIT",
"license_url": "https://github.com/supertone-inc/supertonic/blob/main/LICENSE",
"sha256": "29e18bfdcbfbdd8bef25204b19be21d13fda36d4e66fe31c74e2a01dad457cec"
}
]
},
{
"id": "vad",
"name": "VAD",
Expand Down
Loading
Loading