Konekäännös · Englanninkielinen alkuperäinen
Pakotettu kohdistus
MLX ja CoreML käyttävät samoja Whisper-tyylisiä syöteominaisuuksia: 128 Slaney-normalisoitua mel-astiaa täsmälleen 400-pisteen STFT:stä 16 kHz:n kohdalla, 160-näytteen hyppy ja jaksottainen Hann-ikkuna.
Qwen3-ForcedAligner tarjoaa sanatason aikaleiman linjauksen audiolle. Se suorittaa ei-autoreaggressiivisen yhden etumatkan, jotta jokainen sana voidaan yhdenmukaistaa transkriptiossa sen tarkan sijainnin mukaan ääniaaltomuodossa.
Miten se toimii
Dekooderi luokittelee jokaisen sanan aloitus- ja päättymisaikaleimat. Korjauksessa käytetään pisintä, joka ei heikennä subsekvenssiä (LIS, jossa on samat arvot sallittu), jakamattomien rajojen säilyttäminen ja varhaisimpien ankkurien valitseminen, kun ketjut ovat yhtä pitkiä. Tilaamattomat arvot käyttävät lähintä naapurin korjausta tai interpolointia. MLX sulkee pois ankkureistaan audiokestoa pidemmät ennustukset.
| Omaisuus | Arvo |
|---|---|
| Tasausmenetelmä | Aikaleiman luokittelu ilman vähenevää korjausta |
| Aikaleiman resoluutio | 80 ms |
| Tulosluokat | 5000 |
| Päättelytila | Ei-autoreaggressiivinen (yksisuuntainen syöttö eteenpäin) |
MLX ja CoreML runtimes sijoittaa kaksi aikaleimaa kunkin sanan jälkeen: word<timestamp><timestamp>. Ensimmäinen ennustaa sanan alkua ja toinen sen loppua.
CLI-käyttö
Aseta äänitiedosto. Jos transkriptiota ei anneta, ääni kirjoitetaan automaattisesti ensin käyttäen Qwen3-ASR:
.build/release/speech align recording.wav
Anna tunnettu transkriptio ohittaa automaattinen transkription:
.build/release/speech align recording.wav --text "The quick brown fox jumps over the lazy dog"
Valinnat
# Specify transcript text directly
.build/release/speech align recording.wav --text "known transcript"
# Choose ASR model for auto-transcription step
.build/release/speech align recording.wav --model 1.7b
# Specify aligner model variant
.build/release/speech align recording.wav --aligner-model default
# Set language
.build/release/speech align recording.wav --language en
Kielituki
Ohita --language malli on virallisesti koulutettu 11 kielillä (en, zh, ja, ko, es, fr, de, ru, se, pt, ar); esiprosessori myös segmentoituja japanilaisia morfemeja, korealaisia sanoja, kiinan per-merkki, ja thai / Lao / khmer / Burmalainen / Tiibeti natiivisti kautta Apple's NLTokenizer. Yhdistävät merkit (Devanagari matras, thai vokels, jne.) säilytetään niin sanoja kuten नमस्ते sekä สวัสดี Pysy koskemattomana.
Mallivaihtoehdot
Useita malliversioita on saatavilla, kaupankäynnin koko tarkkuutta:
| Variantti | Malli ID | Koko |
|---|---|---|
| MLX 4-bittinen (oletusarvo) | aufklarer/Qwen3-ForcedAligner-0.6B-4bit | ~979 MB |
| MLX 8-bittinen | aufklarer/Qwen3-ForcedAligner-0.6B-8bit | ~1,3 GB |
| MLX bf16 | aufklarer/Qwen3-ForcedAligner-0.6B-bf16 | ~1,8 GB |
| CoreML INT4 | aufklarer/Qwen3-ForcedAligner-0.6B-CoreML-INT4 | ~662 Mt |
| CoreML INT8 | aufklarer/Qwen3-ForcedAligner-0.6B-CoreML-INT8 | ~1,1 GB |
CoreML yhdenmukaistamisen oletusarvot .cpuAndNeuralEngine koodaimen osalta ja .cpuAndGPU tekstin dekooderin osalta. SPEECH_COREML_COMPUTE_UNITS ohittaa molemmat. Julkaistut dekooderipaketit voivat tuottaa virheelliset aikaleimat Neural Engine tai kaikki nolla-aikaleimat, joilla on cpuOnly.
Eksplisiitti cpuOnly INT8- ja FP16 -mallien kuormat text_decoder_cpu_v1, jonka RMS normalisointi käyttää Float32 alkuperäisillä oppinut painot. Suorita yksi online-lataaminen ladata tämän nippu; vanha offline välimuisti sisältää edelleen perintö dekooderi. GPU suoritus jatkaa käyttöä text_decoder. INT8 normalisointi korjaus vastaa kaikkia 22 referenssirajat macOS 15.8.2; fysikaalinen iPhone validointi pysyy erillisenä.
Valitse variantti, jossa --aligner-model:
.build/release/speech align recording.wav --aligner-model aufklarer/Qwen3-ForcedAligner-0.6B-8bit
Tuotosmuoto
Asennuslaite tulostaa yhden rivin sanaa kohden aloitus- ja loppuaikaleimalla sekunneissa:
[0.24 - 0.48] The
[0.48 - 0.72] quick
[0.72 - 1.04] brown
[1.04 - 1.36] fox
[1.36 - 1.68] jumps
[1.68 - 1.92] over
[1.92 - 2.08] the
[2.08 - 2.40] lazy
[2.40 - 2.80] dog
Jokainen aikaleimapari ilmoittaa sanan alkamis- ja päättymisajan äänen, 80 ms resoluutio.
Pitkän audiokäsittely
Luokiteltu pää voi periaatteessa käsitellä enintään 400 sekuntia (5000 luokkaa × 80 ms), mutta toimituksessa Qwen3-ForcedAligner-0.6B malli on luotettavasti koulutettu noin 270 sekuntia . Tuon kohdan jälkeen malli lähettää meluisia aikaleimaindeksejä ja LIS-jälkikäsittely romahtaa kaikki jäljityssanat samaan aikaleimaan.
CLI käsittelee tämän automaattisesti: pitkä ääni on pilkottu kyllästyspisteessä ja uudelleen linjattu. Näet yhden rivin viestin, kun pilkkominen potkaisee:
Audio 306.2s saturated after word 690 (272.6s); chunking remaining 33.6s (pass 2)
Aseta ALIGN_DEBUG=1 dumpaan raa'an vs. korjatun aikaleiman indeksit tutkittaessa vääriä lähtöjä.
Tunnettu rajoitus: johtava ei-puhe
Kun ääni alkaa ei-puheella (musiikkiin perustuva intro, pitkä hiljaisuus), malli usein leimaa ensimmäisen sanan lähellä 0 sekuntia, koska luokittelijalla ei ole käsitystä siitä, että "puhe ei ole vielä alkanut" . Työnnä: leikkaa johtava ei-puhe ennen linjaamista tai suorita VAD esipassi Silero löytääksesi varsinaisen puheen alun.
Kun ei ole annettu --text, linjauslaite ajaa ensin täyden Qwen3-ASR -transkriptiopassin, minkä jälkeen tuloksena oleva teksti linjautuu. Tämä tarkoittaa ensimmäistä ajokuormaa sekä ASR -mallissa että linjausmallissa. Tarjottaessa --text