Recoñecemento de voz do estado de Linux

Introdución

Paso moito tempo investigando artigos e moitas veces penso sobre o tema dun artigo mentres camiñaba ata a estación de tren ou cando terminaba en xeral.

Unha noite mentres camiñaba a 1,5 millas da estación da miña obra, pensaba que "non sería bo que eu puidese gravar o que quería dicir e despois transcribe automaticamente a un ficheiro de texto que puidese editar e formatar máis tarde" .

Pasei moitas longas horas mirando as diferentes opcións dispoñibles para o recoñecemento de voz e o ditado, incluída a gravación directa a través dun micrófono usando o software de dita en Linux, gravando o arquivo a formato MP3 ou WAV e converténdoo a través da liña de comandos, así como a utilización de Chrome e aplicacións de Android.

Este artigo destaca os meus descubrimentos despois de días de traballo duro.

Opcións de Linux

Tratar de atopar o software de ditado e recoñecemento de voz en Linux non é tan sinxelo coma podería ser e as opcións dispoñibles non son tan intelixentes.

Esta páxina de wikipedia ten unha lista de opcións potenciais, incluíndo CMU Sphinx, Julius e Simon.

Estou usando SparkyLinux que está baseado en Debian Testing no momento e podo dicirlle que o único paquete de recoñecemento de voz dispoñible nos repositorios é Sphinx.

Os programas nativos de Linux que acabei de probar foron PocketSphinx, que usei para converter arquivos WAV a texto e Freespeech-VR que é unha aplicación python que permite gravar directamente desde un micrófono.

Probeime tamén un par de aplicacións Chrome, incluíndo VoiceNote II e Dictanote.

Finalmente probei as aplicacións de Android "Dictation and Email" e "Talk and Talk Dictation".

Freespeech-VR

Freespeech-VR non está dispoñible nos repositorios estándar. Descarguei os ficheiros de aquí.

Despois de descargar e extraer o contido do arquivo zip, abrín un terminal e navegaba para o cartafol onde se extraían os ficheiros.

Eu escribín o seguinte comando para abrir freespeech-vr.

sudo python freespeech-vr

Teño un par de auriculares cun micrófono bastante decente e un acento inglés bastante claro.

O seguinte texto apareceu na xanela freespeech-vr:

Benvidos aos cans da unidade do resultado Hoxe teñen a Garantía de como se xestionaron as probas. Hai que probar Cando usar o texto usa o modo do sistema. O discurso I a A cada un soamente estaba Nunha esperanza de permanecer e O a medio dos pollos dourado como sistema O Ea cando o meu nome o seguinte chama o teléfono Este ficheiro Pouco o suficiente un teléfono de casos para Hands-Space a esfinge Ir Isto non son teléfonos serán compartidos Un e adestrado e ferramentas Use a fala Ao rematar Decir Un ficheiro usado Último a A historia E usando unha por Cando é moi o éxito que Linux tiña como evite

Gustaríame dicir agora que este non é o sitio web de Unidade de cans e en ningún punto mencionei nada que ver cos pollos dourados. En realidade trataba de describir o proceso de uso do software de recoñecemento de voz.

Probei o software varias veces, incluíndo velocidades e velocidades diferentes, pero a precisión era pobre.

PocketSphinx

PocketSphinx pode tomar un ficheiro WAV e convertelo ao texto usando a liña de comandos.

PocketSphinx está dispoñible a través dos repositorios de Debian e debería estar dispoñible para a maioría das distribucións.

O principal problema que atopei con PocketSphinx é que practicamente necesitas un grao nos conceptos de recoñecemento de voz, ficheiros de idiomas, dicionarios e como capacitar ao sistema.

Despois de instalar PocketSphinx, debes ir ao sitio web de CMU Sphinx e ler a maior información posible. Tamén debes descargar o seguinte modelo.

(Se non es un falante nativo de inglés, elixe o modelo de idioma axeitado para ti).

A documentación para PocketSphinx e Sphinx en xeral é difícil de entender para a persoa laica, pero a partir do que puiden facer que os ficheiros de dicionario utilízanse para proporcionar unha lista de palabras posibles e os modelos de linguaxe teñen unha lista de pronunciacións potenciais.

Para probar PocketSphinx eu usei unha gravación da miña propia voz, un fragmento de Al Pacino en "The Devils Advocate" e un fragmento de "Morgan Freeman". O punto de todo isto foi probar voces diferentes e para min non hai ninguén que poida contar unha historia tan clara como Morgan Freeman e ninguén entrega unha liña como Al Pacino.

Para PocketSphinx traballar necesítase un ficheiro WAV e debe estar nun determinado formato. Se o ficheiro está en formato MP3 use o comando ffmpeg para convertelo en formato WAV:

ffmpeg -i inputfilename.mp3 -acodec pcm_s16le -ar 16000 outputfilename.wav

Para executar PocketSphinx use o seguinte comando:

pocketsphinx_continuous -dict /usr/share/pocketsphinx/model/lm/en_US/cmu07a.dic -infile voz2.wav -lm cmusphinx-5.0-en-us.lm 2> voice2.log

pocketsphinx_continuous leva un arquivo WAV e convértea en texto.

No comando de riba pocketsphinx pódese usar un ficheiro de dicionario chamado "/usr/share/pocketsphinx/model/lm/en_US/cmu07a.dic" co modelo de idioma "cmusphinx-5.0-en-us.lm". O ficheiro que se está a converter en texto chámase voice2.wav (que é unha gravación que fixen coa miña voz). Finalmente, o 2> coloca toda a saída verbal que non necesita necesariamente nun ficheiro chamado voice2.log. Os resultados reais da proba amósanse na xanela do terminal.

Os resultados que utilizan a miña voz son os seguintes:

Benvidos á seguinte sobre ben non hai tema de semana sobre o software de recoñecemento nun minuto

Os resultados non son tan horrentes como con freespeech-vr pero aínda non son realmente útiles. Logo intentei usar PocketSphinx con Al Pacino pero isto non devolveu ningún resultado.

Finalmente intentei usar a voz de Morgan Freeman da película "Bruce Almighty" e aquí están os resultados:

000000000: imos nela
000000001: son todos tan difíciles si o día que agora mesmo si este é o que máis vivimos, son parte do hot
000000002: no ascensor que é a clave dun pouco de béisbol ou sabe o que facer na vida
000000003: cales son os que se recuperarán
000000004: non o escribiron
000000005: eles teñen sobre min fóra
000000006: ten que ser regras
000000007: teño esperado
000000008: e aprendeu aquí que era unha ilustración que era a festa de Nadal asasina
000000009: resulta unha forma de escribir o. Eu creo que algúns sempre usan un
000000010: como o problema unido non lle dará o ben que estou estimado nese momento cando non pensamos que todo o que estou no mundo terá fogares e vin que
000000011: un pai que o ten
000000012: que moito sobre iso
000000013: dá ese dato
000000014: todo aquilo que non cae por moito
000000015: xusto no outono
000000016: agárranse só para min
000000017: é un infeliz se eu tamén creo que eles van ter un que o que todos os que se casaron en un non era o que facemos que me gustou o contrario do camiño

A miña proba difícilmente pode considerarse científica e os desarrolladores de PocketSphinx poden afirmar que non uso o software correctamente. Tamén hai unha técnica chamada formación de voz que se pode empregar para crear mellores dicionarios e ficheiros de idiomas.

Non obstante, a miña opinión primordial é que é demasiado difícil para o uso habitual estándar.

VoiceNote II

VoiceNote II é unha aplicación de Chrome que usa a API de recoñecemento de Google Voice.

Se está a usar os navegadores Chrome ou Chromium, pode instalar VoiceNote II a través da Web Store .

Os íconos de VoiceNote II están dispostos dunha forma estraña xa que precisa configurar o idioma na parte inferior da xanela e o botón de edición tamén está na parte inferior, pero o botón de gravación está na posición superior dereita.

O primeiro que tes que facer é seleccionar un idioma e isto se pode facer premendo na icona do mundo.

Para comezar a gravar, fai clic na icona do micrófono e comeza a falar no seu micrófono. Para os mellores resultados, atopei falar lentamente era clave para que o software tivese a oportunidade de seguir.

Os resultados non foron xeniais como se pode ver a continuación:

Hola e benvido para conectarme. Sobre os artigos de hoxe en día sobre a conversión de voz a texto dunelm farrell recesión 2008 como conversións e dixo que apoiou o mellor xeito que atopei o complemento de texto de voz para mostrar o paquete 2014debian ou rpm que o abra o tipo de voz ao fala ao texto ábreo se quere escoller vs escolleu en Edimburgo, o alemán francés obtés o tempo en United Kingdomstart no mar microphonewhat que terminou de escribir o seu texto como un arquivo de texto para o seu éxito, así que o acento inglés moi estándar do sur de Inglaterra mellor para iso, pero eu estou indo ao texto esta torrentalong co documento real e podes ver os erros que che facían para escoitar amigos

Dictanote

Dictanote é outra aplicación de Chrome que se pode usar con fins de dito e resulta máis intuitiva pero os resultados non foron mellores que o de VoiceNote II.

Eu só usei a versión demo de Dictanote que lle impide crear novos documentos, pero permítelle falar sobre o texto que xa está no editor. Puxen a proba o recoñecemento de voz, pero os resultados non foron mellores que VoiceNote II e por iso non subscribín a versión profesional.

Dictation e correo

"Dictation And Mail" é unha aplicación de Android que usa a API de recoñecemento de voz nativa de Google.

Os resultados de "Dictation and Mail" foron moito mellores que calquera outro programa intentado ata este punto.

Ola ben a Linux sobre., hoxe falamos de conversión de son a texto

O truco con "Dictation and Mail" é falar lentamente e pronunciar tan ben como podes cun mesmo acento.

Despois de ter rematado de falar, pode enviar os resultados por correo electrónico.

Dictation de fala e fala

A outra aplicación para Android que intentei foi "Talk and Talk Dictation".

A interface para esta aplicación foi o mellor do grupo e o recoñecemento de voz funcionou moi ben. Despois de gravar o ditado puiden compartir os resultados de varias maneiras, incluído o correo electrónico.

Benvido ao linux about.com hoxe falamos de conversión de voz a texto

Como podes ver o texto anterior é tan claro como podes esperar conseguir. Falar lentamente é a clave.

Resumo

Linux nativo ten algún camiño por recorrer ao que se refire ao recoñecemento de voz e ao dictado específico. Existen algunhas aplicacións que usan a API de Google Voice pero aínda non están listadas nos repositorios.

As aplicacións de ChromeOS son un pouco mellores, pero de lonxe os mellores resultados obtivéronse usando o meu teléfono Android. Quizais o teléfono teña un mellor micrófono e, polo tanto, o software de recoñecemento de voz ten unha mellor oportunidade de conversión.

Para que o recoñecemento de voz sexa realmente útil, debe ser máis intuitivo e requirir menos configuración. Non debería necesitar xogar cos modelos de linguaxe e os dicionarios para que sexa intelixible.

Non obstante, aprecio que toda a arte do recoñecemento de voz é moi desafiante porque todo o mundo ten unha voz diferente e hai tantos dialectos de rexión a rexión nun país que nunca se preocupe coas centos de linguas usadas en todo o mundo.

A miña análise, polo tanto, é que o software de recoñecemento de voz aínda funciona.