Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
ae62b43
Add experimental Supertonic GGUF CPU path
ogad-tether May 1, 2026
f92f06e
Fix Supertonic vector estimator RoPE theta and validate end-to-end pa…
ogad-tether May 1, 2026
e929039
Add Supertonic 2 perf bench (C++ vs ONNX Runtime)
ogad-tether May 1, 2026
f676f8a
Add stable English Supertonic GGUF path
ogad-tether May 1, 2026
1363f0f
Use open-close language tags for Supertonic 2
ogad-tether May 1, 2026
560dee1
Add GGML-backed Supertonic vocoder checkpoint
ogad-tether May 4, 2026
b17afb2
Trace Supertonic vector text attention through output projection
ogad-tether May 4, 2026
6c0ab2f
Keep vector trace boundary at attention output
ogad-tether May 4, 2026
b4705ce
Trace Supertonic vector attention residual boundary
ogad-tether May 4, 2026
19a131f
Promote Supertonic vector estimator to GGML path
ogad-tether May 4, 2026
dd7d8f4
Promote Supertonic duration and text paths to GGML
ogad-tether May 4, 2026
e4c934f
Add Supertonic GGML production controls
ogad-tether May 4, 2026
6a6b688
Split Supertonic production outputs from traces
ogad-tether May 4, 2026
8c756eb
Move Supertonic speech text attention to GGML
ogad-tether May 4, 2026
fb1347b
Add JSON output to Supertonic benchmark
ogad-tether May 4, 2026
14cd878
Align Supertonic ONNX benchmark reporting
ogad-tether May 4, 2026
8e099a3
Document Supertonic production gates
ogad-tether May 4, 2026
19a16df
Port Supertonic text relpos attention to GGML
ogad-tether May 4, 2026
14ea376
Cache Supertonic vector static layouts
ogad-tether May 4, 2026
63cbd5f
Cache Supertonic text relpos graphs
ogad-tether May 4, 2026
15b9e60
Profile and split Supertonic vector attention
ogad-tether May 4, 2026
f6db0eb
Split Supertonic vector text attention islands
ogad-tether May 4, 2026
b733206
Split Supertonic vector style attention islands
ogad-tether May 4, 2026
556337f
Reuse Supertonic vector attention packing
ogad-tether May 4, 2026
0f468ef
Update Supertonic production status
ogad-tether May 4, 2026
6ef6642
Cache Supertonic vector text attention graphs
ogad-tether May 4, 2026
8e06762
Clean Supertonic duration production path
ogad-tether May 4, 2026
2de4174
Cache Supertonic vector attention graph islands
ogad-tether May 4, 2026
cf7d7ba
Cache Supertonic speech text attention graphs
ogad-tether May 4, 2026
13e3a2a
Optimize Supertonic GGML CPU runtime
ogad-tether May 5, 2026
da20099
Add Supertonic GGUF setup flow
ogad-tether May 5, 2026
97a1812
Document Supertonic GGML progress
ogad-tether May 5, 2026
a88d1d4
Route Supertonic GGUFs through tts-cli
ogad-tether May 5, 2026
06da42a
Address Supertonic PR review feedback.
ogad-tether May 6, 2026
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
68 changes: 68 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

include(GNUInstallDirs)
include(CheckIncludeFileCXX)

if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
set(TTS_CPP_STANDALONE_DEFAULT ON)
Expand Down Expand Up @@ -44,6 +45,13 @@ set(TTS_CPP_LIB_SOURCES
src/campplus.cpp
src/s3tokenizer.cpp
src/t3_mtl.cpp
src/supertonic_gguf.cpp
src/supertonic_preprocess.cpp
src/supertonic_vocoder.cpp
src/supertonic_duration.cpp
src/supertonic_text_encoder.cpp
src/supertonic_vector_estimator.cpp
src/supertonic_engine.cpp
)

add_library(mtl_tokenizer STATIC src/mtl_tokenizer.cpp)
Expand All @@ -61,6 +69,7 @@ if (TTS_CPP_BUILD_LIBRARY)
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/src
${CMAKE_CURRENT_SOURCE_DIR}/ggml/include
${CMAKE_CURRENT_SOURCE_DIR}/ggml/src
)
target_compile_features(tts-cpp PUBLIC cxx_std_17)
target_link_libraries(tts-cpp PUBLIC ggml)
Expand Down Expand Up @@ -103,6 +112,9 @@ if (TTS_CPP_BUILD_EXECUTABLES)
add_executable(mel2wav src/mel2wav.cpp)
target_link_libraries(mel2wav PRIVATE ggml)
target_include_directories(mel2wav PRIVATE ggml/include src)

add_executable(supertonic-cli src/supertonic_cli.cpp)
target_link_libraries(supertonic-cli PRIVATE tts-cpp)
endif()

if (TTS_CPP_BUILD_TESTS)
Expand Down Expand Up @@ -195,6 +207,62 @@ if (TTS_CPP_BUILD_TESTS)
if (GGML_METAL)
target_compile_definitions(test-metal-ops PRIVATE GGML_USE_METAL)
endif()

if (NOT TTS_CPP_BUILD_LIBRARY)
message(FATAL_ERROR "Supertonic tests require TTS_CPP_BUILD_LIBRARY=ON")
endif()

function(add_supertonic_harness target source)
add_executable(${target} ${source})
target_link_libraries(${target} PRIVATE tts-cpp)
target_include_directories(${target} PRIVATE ggml/include src include)
endfunction()

add_supertonic_harness(test-supertonic-preprocess src/test_supertonic_preprocess.cpp)
add_supertonic_harness(test-supertonic-vocoder src/test_supertonic_vocoder.cpp)
add_supertonic_harness(test-supertonic-vocoder-trace src/test_supertonic_vocoder_trace.cpp)
add_supertonic_harness(test-supertonic-vocoder-pointwise src/test_supertonic_vocoder_pointwise.cpp)
add_supertonic_harness(test-supertonic-duration src/test_supertonic_duration.cpp)
add_supertonic_harness(test-supertonic-duration-trace src/test_supertonic_duration_trace.cpp)
add_supertonic_harness(test-supertonic-text-encoder src/test_supertonic_text_encoder.cpp)
add_supertonic_harness(test-supertonic-text-encoder-trace src/test_supertonic_text_encoder_trace.cpp)
add_supertonic_harness(test-supertonic-vector src/test_supertonic_vector.cpp)
add_supertonic_harness(test-supertonic-vector-trace src/test_supertonic_vector_trace.cpp)
add_supertonic_harness(test-supertonic-pipeline src/test_supertonic_pipeline.cpp)
add_supertonic_harness(supertonic-bench src/supertonic_bench.cpp)
endif()

set(TTS_CPP_POINTWISE_ACCEL_TARGETS
tts-cpp
test-supertonic-vector
test-supertonic-vector-trace
test-supertonic-vocoder
test-supertonic-vocoder-trace
test-supertonic-vocoder-pointwise
test-supertonic-pipeline
supertonic-bench)

if (APPLE)
find_library(TTS_CPP_ACCELERATE_FRAMEWORK Accelerate)
if (TTS_CPP_ACCELERATE_FRAMEWORK)
foreach(_tts_accel_target ${TTS_CPP_POINTWISE_ACCEL_TARGETS})
if (TARGET ${_tts_accel_target})
target_link_libraries(${_tts_accel_target} PRIVATE ${TTS_CPP_ACCELERATE_FRAMEWORK})
target_compile_definitions(${_tts_accel_target} PRIVATE TTS_CPP_USE_ACCELERATE)
endif()
endforeach()
endif()
else()
check_include_file_cxx(cblas.h TTS_CPP_HAS_CBLAS_H)
find_package(BLAS)
if (TTS_CPP_HAS_CBLAS_H AND BLAS_FOUND)
foreach(_tts_cblas_target ${TTS_CPP_POINTWISE_ACCEL_TARGETS})
if (TARGET ${_tts_cblas_target})
target_link_libraries(${_tts_cblas_target} PRIVATE ${BLAS_LIBRARIES})
target_compile_definitions(${_tts_cblas_target} PRIVATE TTS_CPP_USE_CBLAS)
endif()
endforeach()
endif()
endif()

if (TTS_CPP_INSTALL AND TTS_CPP_BUILD_LIBRARY)
Expand Down
Loading