Grabación de conversaciones en un asterisco y su reconocimiento en Yandex.

Pequeño proyecto. Implementación simple. Una nota sobre el plan de marcado de asterisco, los comandos de la consola y la API de reconocimiento de Yandex. Leerás y no pisarás mi rastrillo, lo leeré en seis meses o un año y recordaré lo que hice.





Objetivo: obtener una representación textual de las conversaciones registradas en un asterisco.





Grabe la conversación primero

MixMonitor graba la conversación. Por lo general, MixMonitor graba a ambos interlocutores en un canal. Necesitamos obtener cada canal en un archivo separado. Por lo tanto, hay dos opciones ryt donde podemos especificar archivos para grabar diferentes canales.





El parámetro b también se utiliza para comenzar a grabar en el momento en que comienza la conversación.





Con 16 asterisco había una opción S - sincronizar archivos tyr, (en el que comenzó a grabarse más tarde, se agregó silencio al principio del archivo). La opción S se eliminó del asterisco 18, porque esto se convirtió en el comportamiento predeterminado y se agregó la contra-opción n. Pero uso b, así que no necesitaba estos bailes adicionales.





MixMonitor (registro-o.wav, br (registro-r.wav) t (registro-t.wav), comando)





Luego, también en el comando MixMonitor, especificaremos el comando a ejecutar después de la grabación. Como parte de este comando, normalizaremos cada registro, lo nivelaremos y luego fusionaremos los dos registros en un archivo de dos canales.





sox --norm record-t.wav record-t-norm.wav // normaliza la grabación de un lado de la conversación









sox --norm record-r.wav record-r-norm.wav // normaliza la grabación del segundo lado de la conversación









sox record-r-norm.wav record-t-norm.wav --channels 2 --combine merge record.wav //





- , - . , , .





record-o.wav - MixMonitor', , .





wav . mp3 .













https://howto.a17.su/asterisk/call-recording.html





https://voxlink.ru/kb/asterisk-configuration/integraciya-asterisk-so-speech-analytics/





.





API : , . - 30 , API .





- wav ogg . wav , API wav-, ogg. , ogg





/usr/bin/ffmpeg -i record.wav -acodec libopus record.ogg // ogg





-, ( ) , .





S3-, S3- . buckets.





.Storage





, , id. id ( , , , ).





.





.





, 2020, - . - 2 .





.. . , , . . , . , . . .





: - . - . . .





, .. ( ).





( SpeechKit)





Claves de acceso. Lo principal aquí es no confundirse, ya que tendrás claves tanto del servicio de reconocimiento (clave API) como del almacenamiento S3 (clave estática). Ambos tipos de claves están en la cuenta de servicio.









Con suerte, esta publicación le ahorrará unos minutos y podrá implementar rápidamente su proyecto según sea necesario.








All Articles