Câte silabe are „Fire”?
Privacy & Cookies
Acest site folosește cookies. Continuând, sunteți de acord cu utilizarea acestora. Aflați mai multe, inclusiv cum să controlați cookie-urile.
M-am uitat la programul VirtualSinger, și un lucru care mi se pare interesant este modul în care gestionează silabele. Practic, folosește cratimele pentru a-și da seama pe câte note se întinde un cuvânt, dar reface automat silabele folosind regula că fiecare notă primește un singur sunet vocalic nucleu.
La suprafață, aceasta este o soluție destul de îngrijită… dar există cuvinte care par nevinovate și care cauzează probleme în încercarea de a determina cum ar trebui să fie tratate.
„Foc” este unul dintre acele cuvinte care cauzează necazuri, deoarece din punct de vedere fonetic, este /F AY ER/, care are două vocale „nucleu” – /AY/ și /ER/. Cu toate acestea, de cele mai multe ori este pronunțat ca o singură silabă.
Atunci, cum ar trebui să fie tratat acest lucru? Atât în VirtualSinger, cât și în synSinger, se poate recurge la silabisirea fonemelor, dar aceasta este o abordare destul de urâtă.
Abordarea lui synSinger este una hibridă. În primul rând, construiește cuvântul din note, iar apoi verifică o copie locală a dicționarului CMU. Dacă se potrivește: grozav! Problemă rezolvată.
Dar dacă nu există nicio potrivire, lucrurile pot deveni riscante. Apoi transmite cuvântul către o versiune modificată a Reciter care convertește cuvântul în foneme asociate cu literele originale. De exemplu, cuvântul CATTLE devine C:K A:AE T:T T:T T:T L:L E:EH. Apoi reconstruiește cuvântul folosind ortografia originală, inserând cratimele în raport cu poziția pe care a selectat-o utilizatorul.
Cuvântul FIRE ar deveni F:F I:AY R:ER E:. Deci, dacă utilizatorul a introdus FIRE, rezultatul este FAYER, iar dacă a scris FI-RE, rezultatul este FAY-ER. Toate acestea se întâmplă în spatele scenei și, de cele mai multe ori, funcționează pur și simplu așa cum se așteaptă utilizatorul.
Din păcate, există un lucru pe care synSinger nu îl face bine și pe care VocalWriter îl face foarte bine: gestionarea melistelor. Adică note multiple atribuite unei singure silabe.
VocalWriter folosește caracterul ‘=’ pentru a reprezenta „extinde ultimul nucleu”. Este deosebit de drăguț, pentru că acest lucru poate fi scris ca „THE FIG- =- =- =-” și va fi extins automat în „DHAX FIH-IH-IHG” cu consoanele din urmă plasate corespunzător.
synSinger nu suportă acest lucru, așa că dacă vreți să scrieți așa ceva, trebuie să o faceți fonetic. Și dacă lucrezi cu un diftong, trebuia să găsești o vocală aproximativă pentru silabele inițiale înainte de diftongul final.
Am modificat recent synSinger astfel încât, dacă un diftong urmează după el însuși, doar ultimul se extinde complet. Acest lucru îl face un pic mai puțin chinuitor de folosit, dar încă nicăieri la fel de frumos ca VirtualVoice.
Așa că mă gândesc să adaug funcția la synSinger, astfel încât să „funcționeze pur și simplu”, în loc să trebuiască să recurg la scrierea fonemelor.
.
Leave a Reply