Traducere automată · Originalul în engleză
Primii pași
Preferați un API găzduit? Aceeași transcriere, sinteză, și clonarea rula ca un serviciu administrat soniqo.audio/cloud →
Instalați speech CLI pentru transcriere și genera audio pe dvs. Apple Silicon Mac Foloseşte-l. Swift SDK pentru a adăuga procesarea vorbirii la macOS şi iOS aplicații.
Cerințe privind CLI
- macOS 15+ (Sequoia sau mai târziu)
- Apple Silicon (arm64)
- 8 GB RAM minimum (16 GB recomandată pentru modele mai mari)
Instalați CLI
Homebrew (CLI)
Utilizați ARM nativ Homebrew (/opt/homebrew) să instaleze speech şi speech-server Server HTTP/WebSocket.
brew install speech
speech --help
Prima sarcină: transcrie un fișier M4A
Descărcați înregistrarea eșantionului, apoi transcrieți-l în terminalul dumneavoastră:
Conectați-vă la internet pentru prima cursă. Modelul selectat descărcări de la HuggingFace și rămâne cached pe dvs. Mac. După configurare, puteți transcrie înregistrări locale offline cu acel model.
curl -fL https://soniqo.audio/audio/samples/cli/transcription-sample.m4a -o transcription-sample.m4a
speech transcribe transcription-sample.m4a --engine parakeet
Continuaţi cu ghidul M4A-to-text .
Start rapid: Text-to-Speech
speech speak "Hello, world!" --output hello.wav
Rulați un discurs local API
Porniți serverul HTTP/WebSocket pentru cereri locale API:
speech-server --port 8080
Swift SDK
Adăugaţi modulele Swift la aplicaţia dvs. macOS 15+ sau iOS 18+ cu Swift Package Manager.
Swift Pachet manager
Adăugaţi speech-swift la dumneavoastră Package.swift dependenţe:
dependencies: [
.package(url: "https://github.com/soniqo/speech-swift", branch: "main")
]
Apoi adăugați modulele de care aveți nevoie la țintă:
.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
]
)
Module disponibile
| Modul | Descriere |
|---|---|
Qwen3ASR | Discurs-la-text (Qwen3-ASR) |
WhisperASR | Speech-to-text (Whisper Large-v3 Turbo, CoreML) |
ParakeetASR | Speech-to-text (Parakeet TDT, CoreML) |
Qwen3TTS | Text-to- speech (Qwen3-TTS) |
CosyVoiceTTS | Text-to- speech (CosyVoice3, multilingv) |
KokoroTTS | Text-to- speech (Kokoro-82M, CoreML, iOS-ready) |
Qwen3Chat | LLM chat (Qwen3.5-0.8B, MLX + CoreML) |
PersonaPlex | Discurs-la-discurs (PersonaPlex 7B) |
SpeechVAD | VAD (Silero + Pyannote), diarizare, inserții difuzoare |
SpeechEnhancement | Supresia zgomotului (DeepFilterNet3, CoreML) |
AudioCommon | Protocoale partajate, audio I/O, HuggingFace descarcător |
Transcriere audio cu 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)
Generează speech cu 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"))
Clădire din surse
Pentru o sursă de construcţie, instalaţi Xcode 16.3+ cu Metal Toolchain şi Swift 6+. Clonaţi depozitul, construiţi CLI, apoi verificaţi binar în checkout:
git clone https://github.com/soniqo/speech-swift.git
cd speech-swift
make build
.build/release/speech --help
make build compils the MLX Metal shawer library automatly. Without it, GPU inference rules ~5x letter due to JIT shaker compilation.
Shader construiește implicit la macOS 15,0 și Metal 3.2, chiar și cu SDK-uri mai noi. Suprascrieți-le cu MACOSX_DEPLOYMENT_TARGET și MLX_METAL_LANGUAGE_VERSION pentru construcțiile personalizate; țintele mai mari pot exclude sistemele mai vechi. Compiler, SDK, steagul, scriptul, sau modificările de sursă invalidează cache-ul. compilarea sau conectarea eșuată păstrează biblioteca anterioară și hash cache.
Modele de descărcări
Modelele sunt descărcate automat de la HuggingFace la prima utilizare și se înregistrează în ~/Library/Caches/qwen3-speech/.
Toate modelele sunt descărcate de la HuggingFace la prima utilizare. Dimensiuni aproximative:
| Model | Dimensiune | RAM Utilizare |
|---|---|---|
| Qwen3-ASR 0,6B (4-bit MLX) | 680 MO | ~1,0 GB vârf |
| Qwen3-ASR 0,6B (8-bit MLX) | 1.0 GB | ~1,3 GB vârf |
| Qwen3-ASR 0,6B (CoreML INT8) | 180 MO | ~1.4 GB vârf |
| Qwen3-ASR 1.7B (4-bit MLX) | 2.1 GB | ~3 GB vârf |
| Qwen3-ASR 1.7B (8-bit MLX) | 3.2 GB | ~2,7 GB vârf |
| Parakeet-TDT v3 (CoreML INT8) | 500 MO | ~900 MB vârf |
| Whisper Large-v3 Turbo (CoreML FP16) | 1,6 GB | ~384 MB vârf |
| Omnilingual CTC 300M (4-bit MLX) | 193 MO | ~400 MB vârf |
| Omnilingual CTC 300M (CoreML INT8) | 312 MO | ~550 MB vârf |
| Qwen3-TTS 0,6B (4-bit) | 1.7 GB | ~2 GB vârf |
| Qwen3-TTS 1.7B (4-bit) | 3.2 GB | ~4 GB vârf |
| CosyVoice3 (4-bit LLM) | 1,2 GB | ~1,5 GB vârf |
| Kokoro-82M (CoreML INT8) | 89 MO | ~ 200 MB vârf |
| Qwen3.5-Chat 0.8B (INT4 MLX) | 418 MO | ~700 MB vârf |
| Qwen3.5-Chat 0.8B (INT8 CoreML) | 981 MO | ~1.2 GB vârf |
| PersonaPlex 7B (8-bit) recomandat | 9,1 GB | ~11 GB vârf |
| PersonaPlex 7B (4-bit) | 4,9 GB | ~6,5 GB vârf |
| Pyannote VAD | 5.7 MB | ~20 MB vârf |
| Silero VAD v5 | 1,2 MO | ~5 MB vârf |
| WeSpeaker ResNet34 | 25 MO | ~50 MB vârf |
| DeepFilterNet3 (FP16) | 4.2 MO | ~10 MB vârf |