As notas
Como igual xa vistes nun dos anteriores posts fixen un pequeno “modelo” de notas de copiloto para o Dirt Rally (1 e 2) ao cal cada quen poidera engadir outras palabras de forma fácil. Desta forma cada un podería adaptalas ao estilo que preferira. O maior problema era que, ao usar só as palabras dispoñibles no diccionario da RAG/ILG moitas das frases creadas quedaban inconexas. Por exemplo, algo moi común é que o copiloto che diga que non cortes ou non atalles nunha curva porque pode ser que teña unha cuneta, unha pedra ou algo perigoso. Ben, só coas palabras gravadas non se poden conxugar a maioría de verbos polo que a frase final podería quedar como “Curva 1 dereita non atallar” que lle da un toque máis robótico do que xa ten. Con esta nova opción poderemos crear as palabras axeitas, como por exemplo conxugando verbos. Con isto poderemos conseguir, por exemplo: “Curva 1 dereita non atalles”.
Pero, como?
Xa fai un tempo, igual vos cadrou de ver por twitter o modelo que adestrou Marcos. Todo isto está baseado nel. Este modelo foi creado empregando Tacotron 2. Non vou finxir ser un experto nestas cousas pero a grosso modo usa dúas redes neuronais diferentes, unha das cales toma o texto de entrada o transfórmao nun espectrograma. A segunda, unha Wavenet modificada, representa o audio correspondente ao espectrograma xerado anteriormente. Desta forma, adestrando o sistema coa voz de Luis Iglesia poderemos imitar a súa voz.
Que facer entón?
Co modelo que me deu Marcos, xa adestrado, o único que tiven que facer eu foi poñelo á disposición de todos. Para facer isto só é necesario empregar o servizo Colab de Google. Este servizo permítenos usar máquinas con GPUs moi potentes, requisito case indispensable para usar este tipo de modelos, a pesar de que esteñan adestrados. A versión gratuita só permite unhas horas de computación de cada vez, pero como o obxectivo é só a xeración a partir dun modelo xa pre-adestrado ningúen debería ter problema.
O notebook
Colab estrúturase mediante notebooks ou cadernos. Estes arquivos permiten compartir código que se executará nas máquinas. Para xerar logo as nosas palabras o primeiro paso é acceder ao notebook en concreto.
A continuación e como paso previo deberemos asegurarnos de que o entorno de execución ten unha GPU como acelerador. Para facer isto deberemos ir ao menú superior, facer clic no menú de Entorno de execución e a continuación cambiar o tipo de entorno de execución. Con isto mostrarásenos unha selección dos que están dispoñibles. O máis común e que apareza como seleccionado None, debemos logo facer clic no desplegable e seleccionar GPU.
Paso a paso
Dentro do caderno veremos diferentes bloques. Dentro destes bloques hai código que se executará cando se fai clic no pequeno botón de “play” que teñen na esquina superior dereita. Decidín agochar o código por defecto para que ninguén se sinta intimidado a primeira vista. Porén se alguén quere velo so ten que facer clic dereito formulario > mostar código. Os dous primeros bloques (Descarga de arquivos necesarios e Instalación de librarías e compoñentes) podemos executalos sen darlle moitas voltas, facendo clic no botón e esperando.
En cambio o terceiro bloque, require que introduzamos as palabras que desexemos serar. Por defecto trae só dúas pero é posible introducir calquera outra cantidade delas. O tempo de execución variará en función das que decidas poñer iso si, máis palabras máis espera. Unha vez introducidas as palabras é fundamental facer clic no botón de executar para que se garden. Se cambiaches de idea con respecto ás palabras que queres introducir podes executar este bloque cantas veces queiras sen repercusións, pero é importante destacar que só se xerarán aquelas que estiveran persentes no campo a última vez que se executou o bloque.
Por último os dous bloques finais, xerar os arquivos de audio e descargar os arquivos, poden ser de novo executados sen realizar ningunha outra acción. O último bloque descargará todos os arquivos xerados pero é posible que se son moitos ou nunca descargaches nada desta páxina ou navegador se queixe e che pida permiso para descargalos ou incluso os bloquee. Se ves que xa acabou de executarse o bloque e non se descargou nada o máis posible que sexa por iso.
Cabe destacar que cada bloque ao acabar a súa execución mostará un mensaxiño confirmándoo pero tamén se pode ver facilmente polo aspecto dos botóns:
Consellos e melloras sobre os resultados
O modelo non é perfecto e como tal pode dar lugar a erros. Moitos deles pódense solucionar con algúns trucos. Por exemplo cambiando ou quitando o til dalgunha letra pode fozar ao sistema a pronunciar doutra forma a palabra (aínda que gramaticalmente non sexa correcto) e arreglar así algun problema. Outro truquiño é cambiar Vs por Bs e ao revés.
Para ir acabando…
Con estes arquivos de audio o proceso para agregalos sería o mesmo que o visto no anterior post. Cabe destacar que poden ou non requerer limpeza segundo como sexa o resultado do sistema.
Este método de producción de sons, ademáis de para estas notas de copiloto, tamén pode ter outras aplicacións como por exemplo xerar a pronuncia de palabras para un dicionario ou como un simple TTS en galego.