Traducere automată · Originalul în engleză

Primii pași

Soniqo Cloud

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

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
Qwen3ASRDiscurs-la-text (Qwen3-ASR)
WhisperASRSpeech-to-text (Whisper Large-v3 Turbo, CoreML)
ParakeetASRSpeech-to-text (Parakeet TDT, CoreML)
Qwen3TTSText-to- speech (Qwen3-TTS)
CosyVoiceTTSText-to- speech (CosyVoice3, multilingv)
KokoroTTSText-to- speech (Kokoro-82M, CoreML, iOS-ready)
Qwen3ChatLLM chat (Qwen3.5-0.8B, MLX + CoreML)
PersonaPlexDiscurs-la-discurs (PersonaPlex 7B)
SpeechVADVAD (Silero + Pyannote), diarizare, inserții difuzoare
SpeechEnhancementSupresia zgomotului (DeepFilterNet3, CoreML)
AudioCommonProtocoale 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
Important

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:

ModelDimensiuneRAM 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) recomandat9,1 GB~11 GB vârf
PersonaPlex 7B (4-bit)4,9 GB~6,5 GB vârf
Pyannote VAD5.7 MB~20 MB vârf
Silero VAD v51,2 MO~5 MB vârf
WeSpeaker ResNet3425 MO~50 MB vârf
DeepFilterNet3 (FP16)4.2 MO~10 MB vârf

Următoarele etape