Quantas sílabas em “Fogo”?

X

Privacidade & Cookies

Este site usa cookies. Ao continuar, você concorda com o seu uso. Aprenda mais, incluindo como controlar cookies.

Peguei!

Anúncios

Estive olhando para o programa VirtualSinger, e uma coisa que acho interessante é como ele lida com sílabas. Basicamente, ele usa hífenes para descobrir quantas notas uma palavra está espalhada, mas automaticamente re-hifeniza usando a regra que cada nota recebe um único núcleo de som vogal.

Na superfície, esta é uma solução bastante simples… mas há palavras que parecem inocentes que causam problemas tentando determinar como devem ser tratadas.

“Fogo” é uma daquelas palavras que causam dor, porque foneticamente, a sua /F AY ER/, que tem duas vogais de “núcleo” – /AY/ e /ER/. Na maioria das vezes é pronunciada como uma única sílaba.

Então como isto deve ser tratado? Tanto no VirtualSinger como no synSinger, você pode recorrer a soletrar os fonemas, mas isso é uma abordagem bastante feia.

synSinger é uma abordagem híbrida. Primeiro, constrói a palavra a partir de notas, e depois verifica uma cópia local do CMU Dictionary. Se corresponder: óptimo! Problema resolvido.

Mas se não houver correspondência, as coisas podem ficar complicadas. Ele então passa a palavra para uma versão modificada do Recitador que converte a palavra em fonemas emparelhados com as letras originais. Por exemplo, a palavra CATTLE torna-se C:K A:AE T:T T T:T L:L E:EH. Ele então reconstrói a palavra usando a ortografia original, inserindo os hífens em relação à posição que o usuário selecionou.

A palavra FOGO se tornaria F:F I:AY R:ER E:. Então se o usuário inseriu FIRE, o resultado é FAYER, e se eles escreveram FI-RE, o resultado é FAY-ER. Tudo isso acontece nos bastidores, e na maioria das vezes simplesmente funciona como o usuário espera.

Felizmente, há algo que o synSinger não faz bem que o VocalWriter faz bem: lidar com melismas. Ou seja, múltiplas notas atribuídas a uma única sílaba.

VocalWriter usa o caracter ‘=’ para representar “expandir o último núcleo”. É particularmente agradável, porque isto pode ser escrito como “THE FIG- =- =-” e será automaticamente expandido para “DHAX FIH-IH-IHG” com as consoantes de fuga colocadas correctamente.

synSinger não suporta isto, por isso se quiser escrever algo assim, tem de ser feito foneticamente. E se você estiver trabalhando com um diphthong, você teve que encontrar uma vogal aproximada para as sílabas iniciais antes do diphthong final.

Eu modifiquei recentemente o synSinger para que se um diphthong se seguir a si mesmo, apenas o último se expanda completamente. Isto faz com que seja um pouco menos doloroso de usar, mas ainda em nenhum lugar tão agradável como VirtualVoice.

Então eu estou olhando para adicionar a função ao synSinger, então ele “apenas funciona” ao invés de ter que recorrer a escrever fonemas.

Anúncios

Leave a Reply