Başlangıç

Soniqo Cloud

Barındırılan API mi tercihiniz? Aynı döküm, sentez ve klonlama yönetilen hizmet olarak — OpenAI ve ElevenLabs uyumlu. soniqo.audio/cloud →

Apple Silicon Mac’inizde sesi metne dönüştürmek ve konuşma üretmek için speech CLI aracını kurun. macOS ve iOS uygulamalarına konuşma işleme eklemek için Swift SDK’yı kullanın.

CLI gereksinimleri

CLI kurulumu

Homebrew (CLI)

speech ve HTTP/WebSocket sunucusu speech-server kurulumu için yerel ARM sürümü Homebrew’u (/opt/homebrew) kullanın.

brew install speech
speech --help

İlk görev: M4A dosyasını metne dönüştürme

Örnek kaydı indirin, ardından terminalde metne dönüştürün:

İlk çalıştırmada internete bağlanın. Seçtiğiniz model HuggingFace’ten indirilir ve Mac’inizde önbelleğe alınır. Kurulumdan sonra aynı modelle yerel kayıtları internet bağlantısı olmadan metne dönüştürebilirsiniz.

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

M4A’dan metne dönüştürme kılavuzuna geçin.

Hızlı Başlangıç: Metinden Konuşmaya

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

Yerel konuşma API’sini çalıştırma

Yerel API istekleri için HTTP/WebSocket sunucusunu başlatın:

speech-server --port 8080

Swift SDK

Swift Package Manager ile macOS 15+ veya iOS 18+ uygulamanıza Swift modüllerini ekleyin.

Swift Package Manager

speech-swift'i Package.swift bağımlılıklarınıza ekleyin:

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

Ardından ihtiyaç duyduğunuz modülleri hedefinize ekleyin:

.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
    ]
)

Mevcut Modüller

ModülAçıklama
Qwen3ASRKonuşmadan metne (Qwen3-ASR)
WhisperASRkonuşmadan metne (Whisper Large-v3 Turbo, CoreML)
ParakeetASRKonuşmadan metne (Parakeet TDT, CoreML)
Qwen3TTSMetinden konuşmaya (Qwen3-TTS)
CosyVoiceTTSMetinden konuşmaya (CosyVoice3, çok dilli)
KokoroTTSMetinden konuşmaya (Kokoro-82M, CoreML, iOS uyumlu)
Qwen3ChatCihaz içi LLM sohbeti (Qwen3.5-0.8B, MLX + CoreML)
PersonaPlexKonuşmadan konuşmaya (PersonaPlex 7B)
SpeechVADVAD (Silero + Pyannote), konuşmacı ayrıştırma, konuşmacı embedding'leri
SpeechEnhancementGürültü azaltma (DeepFilterNet3, CoreML)
AudioCommonOrtak protokoller, ses I/O, HuggingFace indirici

Swift ile sesi metne dönüştürme

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)

Swift ile konuşma üretme

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"))

Kaynaktan Derleme

Kaynaktan derlemek için Metal Toolchain içeren Xcode 16.3+ ve Swift 6+ kurun. Depoyu klonlayın, CLI aracını derleyin ve çalışma dizinindeki yürütülebilir dosyayı kontrol edin:

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

make build, MLX Metal shader kütüphanesini otomatik olarak derler. Bu olmadan, JIT shader derlemesi nedeniyle GPU üzerindeki çıkarım yaklaşık 5 kat daha yavaş çalışır.

Gölgelendiriciler, yeni SDK sürümleriyle bile varsayılan olarak macOS 15.0 ve Metal 3.2 için derlenir. Özel derlemelerde MACOSX_DEPLOYMENT_TARGET ve MLX_METAL_LANGUAGE_VERSION bu değerleri değiştirir; yüksek hedef sürümler eski sistemleri dışlayabilir. Derleyici, SDK, bayrak, betik veya kaynak değişiklikleri önbelleği geçersiz kılar. Derleme veya bağlama başarısız olursa önceki kitaplık ve önbellek özeti korunur.

Model İndirmeleri

Modeller ilk kullanımda HuggingFace'ten otomatik olarak indirilir ve ~/Library/Caches/qwen3-speech/ içinde önbelleğe alınır.

Tüm modeller ilk kullanımda HuggingFace'ten indirilir. Yaklaşık boyutlar:

ModelBoyutRAM Kullanımı
Qwen3-ASR 0.6B (4-bit MLX)680 MB~1.0 GB peak
Qwen3-ASR 0.6B (8-bit MLX)1.0 GB~1.3 GB peak
Qwen3-ASR 0.6B (CoreML INT8)180 MB~1.4 GB peak
Qwen3-ASR 1.7B (4-bit MLX)2.1 GB~3 GB peak
Qwen3-ASR 1.7B (8-bit MLX)3.2 GB~2.7 GB peak
Parakeet-TDT v3 (CoreML INT8)500 MB~900 MB peak
Whisper Large-v3 Turbo (CoreML FP16)1.6 GB~384 MB peak
Omnilingual CTC 300M (4-bit MLX)193 MB~400 MB peak
Omnilingual CTC 300M (CoreML INT8)312 MB~550 MB peak
Qwen3-TTS 0.6B (4-bit)1.7 GB~2 GB tepe
Qwen3-TTS 1.7B (4-bit)3.2 GB~4 GB tepe
CosyVoice3 (4-bit LLM)1.2 GB~1.5 GB tepe
Kokoro-82M (CoreML INT8)89 MB~200 MB tepe
Qwen3.5-Chat 0.8B (INT4 MLX)418 MB~700 MB tepe
Qwen3.5-Chat 0.8B (INT8 CoreML)981 MB~1.2 GB tepe
PersonaPlex 7B (8-bit) önerilen9.1 GB~11 GB tepe
PersonaPlex 7B (4-bit)4.9 GB~6.5 GB tepe
Pyannote VAD5.7 MB~20 MB tepe
Silero VAD v51.2 MB~5 MB tepe
WeSpeaker ResNet3425 MB~50 MB tepe
DeepFilterNet3 (FP16)4.2 MB~10 MB tepe

Sonraki Adımlar