Maskinöversättning · Engelskt original
Kom igång
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
- macOS 15+ (Sequoia eller senare)
- Apple Silicon (arm64)
- 8 GB RAM minimum (16 GB rekommenderas för större modeller)
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
| Modul | Beskrivning |
|---|---|
Qwen3ASR | Tal-till-text (Qwen3-ASR) |
WhisperASR | Tal-till-text (Whisper Large-v3 Turbo, CoreML) |
ParakeetASR | Tal-till-text (Parakeet TDT, CoreML) |
Qwen3TTS | Text-till-tal (Qwen3-TTS) |
CosyVoiceTTS | Text-till-tal (CosyVoice3, flerspråkig) |
KokoroTTS | Text-till-tal (Kokoro-82M, CoreML, iOS-ready) |
Qwen3Chat | On-device LLM chatt (Qwen3.5-0.8B, MLX + CoreML) |
PersonaPlex | Tal-till-tal (PersonaPlex 7B) |
SpeechVAD | VAD (Silero + Pyannote), diarisering, högtalarinbäddningar |
SpeechEnhancement | Buller undertryckande (DeepFilterNet3, CoreML) |
AudioCommon | Delade 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
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:
| Modell | Storlek | RAM 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 VAD | 5,7 MB | ~20 MB topp |
| Silero VAD v5 | 1.2 MB | ~5 MB topp |
| WeSpeaker ResNet34 | 25 MB | ~50 MB topp |
| DeepFilterNet3 (FP16) | 4,2 MB | ~10 MB topp |
Nästa steg
- Fortsätt med M4A-to-text guiden
- CLI Reference - alla tillgängliga kommandon och alternativ
- Qwen3-ASR Guide — detaljerad dokumentation av tal till text
- Qwen3-TTS Guide — detaljerad text-till-taldokumentation
- API & Protocols — delade protokoll och typer