Come usare google speech recognition api in python?

L’overflow dello stack potrebbe non essere il posto migliore per porre questa domanda, ma ho bisogno di aiuto. Ho un file mp3 e voglio usare il riconoscimento vocale di Google per ottenere il testo da quel file. Tutte le idee in cui posso trovare documentazione o esempi saranno apprezzate.

Dai un’occhiata all’API di Google Cloud Speech che consente agli sviluppatori di convertire l’audio in testo […] L’API riconosce oltre 80 lingue e varianti […] Puoi creare un account gratuito per ottenere un numero limitato di richieste API.

COME:

È necessario prima installare il modulo gcloud python e il modulo google-api-python-client con:

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

Quindi, nella Cloud Platform Console, vai alla pagina Progetti e seleziona o crea un nuovo progetto. Dopo aver triggersto la fatturazione per il tuo progetto, abilita l’API di Cloud Speech .

Dopo aver abilitato l’API di Google Cloud Speech, fai clic sul pulsante Vai a credenziali per configurare le credenziali dell’API di Cloud Speech

Vedi Impostazione di un account di servizio per informazioni su come autorizzare il servizio API di Cloud Speech dal tuo codice

Dovresti ottenere sia un file chiave dell’account di servizio (in JSON) che una variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS che ti consentirà di autenticare l’API vocale

Una volta terminato, scarica il file audio raw da google e anche speech-discovery_google_rest_v1.json da google

Modifica il file JSON scaricato precedente per impostare la chiave delle credenziali, quindi assicurati di aver impostato la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS sul percorso completo del file .json con:

 export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service_account_file.json 

anche

Assicurati di aver impostato la tua variabile di ambiente GCLOUD_PROJECT sull’ID del tuo progetto Google Cloud con:

 export GCLOUD_PROJECT=your-project-id 

supponendo che tutto sia fatto , puoi creare un file tutorial.py che 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) 

Quindi esegui:

 python tutorial.py audio.raw