¿Cómo usar la API de reconocimiento de voz de google en python?

El desbordamiento de la stack puede no ser el mejor lugar para hacer esta pregunta, pero necesito ayuda. Tengo un archivo mp3 y quiero usar el reconocimiento de voz de Google para sacar el texto de ese archivo. Cualquier idea en la que pueda encontrar documentación o ejemplos será apreciada.

Eche un vistazo a Google Cloud Speech API que permite a los desarrolladores convertir audio a texto […] La API reconoce más de 80 idiomas y variantes […] Puede crear una cuenta gratuita para obtener una cantidad limitada de solicitud API.

CÓMO:

Primero debe instalar el módulo gcloud python y el módulo google-api-python-client con:

pip install --upgrade gcloud pip install --upgrade google-api-python-client 

Luego, en la consola de la plataforma de nube, vaya a la página de proyectos y seleccione o cree un nuevo proyecto. Después de que necesites habilitar la facturación para tu proyecto, habilita la API de Cloud Speech .

Después de habilitar Google Cloud Speech API, haga clic en el botón Ir a credenciales para configurar sus credenciales de Cloud Speech API

Consulte Configurar una cuenta de servicio para obtener información sobre cómo autorizar al servicio API de Cloud Speech desde su código

Debería obtener un archivo de clave de cuenta de servicio (en JSON) y una variable de entorno GOOGLE_APPLICATION_CREDENTIALS que le permitirá autenticarse en la API de voz.

Una vez hecho todo, descargue el archivo de audio sin procesar de google y también el speech-discovery_google_rest_v1.json de google

Modifique el archivo JSON descargado anteriormente para configurar su clave de credenciales y luego asegúrese de haber configurado la variable de entorno GOOGLE_APPLICATION_CREDENTIALS en la ruta completa del archivo .json con:

 export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service_account_file.json 

además

Asegúrese de haber configurado la variable de entorno GCLOUD_PROJECT en la ID de su proyecto de Google Cloud con:

 export GCLOUD_PROJECT=your-project-id 

asumiendo que todo está hecho , puedes crear un archivo tutorial.py que contenga:

 import argparse import base64 import json from googleapiclient import discovery import httplib2 from oauth2client.client import GoogleCredentials DISCOVERY_URL = ('https://{api}.googleapis.com/$discovery/rest?' 'version={apiVersion}') def get_speech_service(): credentials = GoogleCredentials.get_application_default().create_scoped( ['https://www.googleapis.com/auth/cloud-platform']) http = httplib2.Http() credentials.authorize(http) return discovery.build( 'speech', 'v1beta1', http=http, discoveryServiceUrl=DISCOVERY_URL) def main(speech_file): """Transcribe the given audio file. Args: speech_file: the name of the audio file. """ with open(speech_file, 'rb') as speech: speech_content = base64.b64encode(speech.read()) service = get_speech_service() service_request = service.speech().syncrecognize( body={ 'config': { 'encoding': 'LINEAR16', # raw 16-bit signed LE samples 'sampleRate': 16000, # 16 khz 'languageCode': 'en-US', # a BCP-47 language tag }, 'audio': { 'content': speech_content.decode('UTF-8') } }) response = service_request.execute() print(json.dumps(response)) if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument( 'speech_file', help='Full path of audio file to be recognized') args = parser.parse_args() main(args.speech_file) 

Entonces corre:

 python tutorial.py audio.raw