Maskinöversättning · Engelskt original

Kom igång

Soniqo Cloud

Föredrar en värd API? Samma transkription, syntes och kloning som en hanterad tjänst - OpenAI- och ElevenLabs-kompatibel. soniqo.audio/cloud /

Installera speech CLI för att transkribera och generera ljud på din Apple Silicon Mac. Använd Swift SDK för att lägga till talbehandling till macOS och iOS apps.

KLI-krav

Installera CLI

Homebrew (CLI)

Använda infödda ARM Homebrew (/opt/homebrew) att installera speech och speech-server HTTP/WebSocket server.

brew install speech
speech --help

Första uppgiften: transkribera en M4A fil

Ladda ner provinspelningen, sedan transkribera den i din terminal:

Anslut till internet för den första körningen. De valda modellnedladdningarna från HuggingFace och stannar cachade på din Mac. Efter installationen kan du transkribera lokala inspelningar offline med den modellen.

curl -fL https://soniqo.audio/audio/samples/cli/transcription-sample.m4a -o transcription-sample.m4a
speech transcribe transcription-sample.m4a --engine parakeet

Fortsätt med M4A-to-text guiden.

Snabbstart: Text-till-tal

speech speak "Hello, world!" --output hello.wav

Kör ett lokalt tal API

Starta HTTP/WebSocket-servern för lokal API förfrågningar:

speech-server --port 8080

Swift SDK

Lägg till Swift moduler till din macOS 15+ eller iOS 18+ app med Swift Package Manager.

Swift Package Manager

Lägg till speech-swift till dina Package.swift beroenden:

dependencies: [
    .package(url: "https://github.com/soniqo/speech-swift", branch: "main")
]

Lägg sedan till de moduler du behöver för ditt mål:

.target(
    name: "MyApp",
    dependencies: [
        .product(name: "Qwen3ASR", package: "speech-swift"),
        .product(name: "Qwen3TTS", package: "speech-swift"),
        .product(name: "SpeechVAD", package: "speech-swift"),
        // ... add any modules you need
    ]
)

Tillgängliga moduler

ModulBeskrivning
Qwen3ASRTal-till-text (Qwen3-ASR)
WhisperASRTal-till-text (Whisper Large-v3 Turbo, CoreML)
ParakeetASRTal-till-text (Parakeet TDT, CoreML)
Qwen3TTSText-till-tal (Qwen3-TTS)
CosyVoiceTTSText-till-tal (CosyVoice3, flerspråkig)
KokoroTTSText-till-tal (Kokoro-82M, CoreML, iOS-ready)
Qwen3ChatOn-device LLM chatt (Qwen3.5-0.8B, MLX + CoreML)
PersonaPlexTal-till-tal (PersonaPlex 7B)
SpeechVADVAD (Silero + Pyannote), diarisering, högtalarinbäddningar
SpeechEnhancementBuller undertryckande (DeepFilterNet3, CoreML)
AudioCommonDelade protokoll, ljud I/O, HuggingFace downloader

Transkribera ljud med Swift

import Qwen3ASR

let model = try await Qwen3ASRModel.fromPretrained()
// audioSamples: [Float] PCM at 16 kHz (e.g. decoded from a WAV)
let text = model.transcribe(audio: audioSamples, sampleRate: 16000)
print(text)

Generera tal med Swift

import Qwen3TTS
import AudioCommon

let model = try await Qwen3TTSModel.fromPretrained()
let audio = model.synthesize(text: "Hello, world!", language: "english")
try WAVWriter.write(samples: audio, sampleRate: 24000, to: URL(filePath: "hello.wav"))

Byggnad från Source

För en källbyggnad, installera Xcode 16.3 + med Metal Toolchain och Swift 6+. Klon repository, bygg CLI, sedan checka binären i kassan:

git clone https://github.com/soniqo/speech-swift.git
cd speech-swift
make build
.build/release/speech --help
Viktigt

make build sammanställer MLX Metal shader bibliotek automatiskt. Utan det, GPU inferens löper ~ 5x långsammare på grund av JIT shader sammanställning.

Shader bygger standard för macOS 15.0 och Metal 3.2, även med nyare SDKs. åsidosätta dessa med MACOSX_DEPLOYMENT_TARGET och MLX_METAL_LANGUAGE_VERSION för anpassade byggnader; högre mål kan utesluta äldre system. Compiler, SDK, flagga, skript eller källförändringar ogiltigförklara cache. Misslyckad sammanställning eller länkning bevarar föregående bibliotek och cache hash.

Modell nedladdningar

Modeller hämtas automatiskt från HuggingFace vid första användning och cachad i ~/Library/Caches/qwen3-speech/.

Alla modeller laddas ner från HuggingFace vid första användning. Ungefär storlekar:

ModellStorlekRAM Användning
Qwen3-ASR 0,6B (4-bitars MLX)680 MB~1.0 GB-topp
Qwen3-ASR 0,6B (8-bitars MLX)1.0 GB~1.3 GB-topp
Qwen3-ASR 0,6B (CoreML INT8)180 MB~1.4 GB-topp
Qwen3-ASR 1.7B (4-bitars MLX)2.1 GB~3 GB-topp
Qwen3-ASR 1.7B (8-bitars MLX)3.2 GB~2.7 GB-topp
Parakeet-TDT v3 (CoreML INT8)500 MB~ 900 MB topp
Whisper Large-v3 Turbo (CoreML FP16)1,6 GB~384 MB topp
Omnilingual CTC 300M (4-bitars MLX)193 MB~400 MB topp
Omnilingual CTC 300M (CoreML INT8)312 MB~ 550 MB topp
Qwen3-TTS 0,6B (4-bitars)1.7 GB~2 GB-topp
Qwen3-TTS 1.7B (4-bitars)3.2 GB~4 GB-topp
CosyVoice3 (4-bit LLM)1,2 GB~1.5 GB-topp
Kokoro-82M (CoreML INT8)89 MB~200 MB topp
Qwen3.5-Chat 0.8B (INT4 MLX)418 MB~700 MB topp
Qwen3.5-Chat 0.8B (INT8 CoreML)981 MB~1.2 GB-topp
PersonaPlex 7B (8-bit) rekommenderas 9.1 GB~11 GB-topp
PersonaPlex 7B (4-bitars)4,9 GB~6.5 GB-topp
Pyannote VAD5,7 MB~20 MB topp
Silero VAD v51.2 MB~5 MB topp
WeSpeaker ResNet3425 MB~50 MB topp
DeepFilterNet3 (FP16)4,2 MB~10 MB topp

Nästa steg