Another dependency the app should not be asking the platform for:
- audio_decode — MP3 (layer 3, LSF tables, synthesis) and Ogg Vorbis
(codebooks, floor, residue, MDCT) decoders, with tag reading. Both are
checked against oracle fixtures rather than against our own expectations.
- audio_encode — an Ogg Vorbis encoder: MDCT, psychoacoustics, floor and
Huffman coding, setup tables, plus `oggenc` and `audiobench` binaries.
- audio_picture — waveform and spectrogram rendering, and compositing.
- audio_lyrics — word-level lyric alignment (DTW plus a DP snap) and the
baked schema behind karaoke timing.
- audio_sidechannels — the side-channel plumbing between them.
libs/voice grows a CUDA backend and an alignment path beside its CPU decoder,
with a `whisper_parity` binary to keep the two honest.
37 lines
1 KiB
TOML
37 lines
1 KiB
TOML
[package]
|
|
name = "makepad-voice"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "Pure Rust CPU-only SIMD+threaded Whisper inference"
|
|
license = "MIT"
|
|
|
|
[features]
|
|
default = []
|
|
metal-precompile = []
|
|
|
|
[dependencies]
|
|
# THE CUDA store. Must NOT be target-specific: cargo 1.92 drops target-cfg deps
|
|
# when this crate is a path dep of another standalone `[workspace]`, and the
|
|
# `links = "makepad_ai_cuda"` handshake (DEP_MAKEPAD_AI_CUDA_KERNELS, read in
|
|
# build.rs) only arrives for an unconditional dependency. On macOS/iOS the
|
|
# crate compiles to empty stubs — no CUDA symbols are referenced or linked.
|
|
makepad-ai-cuda = { path = "../ai/cuda" }
|
|
|
|
[target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies]
|
|
makepad-objc-sys = { path = "../objc-sys", version = "1.0.0" }
|
|
|
|
[[bin]]
|
|
name = "whisper-test"
|
|
path = "src/bin/whisper_test.rs"
|
|
|
|
[[bin]]
|
|
name = "vad-test"
|
|
path = "src/bin/vad_test.rs"
|
|
|
|
[[bin]]
|
|
name = "apple-speech-test"
|
|
path = "src/bin/apple_speech_test.rs"
|
|
|
|
[[bin]]
|
|
name = "whisper-parity"
|
|
path = "src/bin/whisper_parity.rs"
|