Le débordement de la pile n'est peut-être pas le meilleur endroit pour poser cette question, mais j'ai besoin d'aide. J'ai un fichier mp3 et je veux utiliser la reconnaissance vocale de google pour extraire le texte de ce fichier. Toutes les idées où je peux trouver de la documentation ou des exemples seront appréciées.
Jetez un oeil à Google Cloud Speech API qui permet aux développeurs de convertir l'audio en texte [...] L'API reconnaît plus de 80 langues et variantes [...] Vous pouvez créer un compte gratuit pour obtenir un quantité limitée de demande d'API.
COMMENT:
Vous devez d'abord installer gcloud python & google-api-python-client module avec:
pip install --upgrade gcloud
pip install --upgrade google-api-python-client
Ensuite, dans la console Cloud Platform, accédez à la page Projets et sélectionnez ou créez un nouveau projet. Après avoir besoin d'activer la facturation pour votre projet, alors activez l'API Cloud Speech .
Après avoir activé l'API Google Cloud Speech, cliquez sur le bouton Accéder aux informations d'identification pour configurer vos informations d'identification API Cloud Speech
Voir Configurer un compte de service pour plus d'informations sur la façon d'autoriser le service API Cloud Speech à partir de votre code
Vous devez obtenir à la fois un fichier de clé de compte de service (en JSON) et une variable d'environnement GOOGLE_APPLICATION_CREDENTIALS qui vous permettra de vous authentifier auprès de l'API Speech
Une fois tout fait, téléchargez le fichier audio brut de google et aussi le speech-discovery_google_rest_v1.json de google
Modifiez le fichier JSON téléchargé précédent pour définir votre clé d'informations d'identification, puis assurez-vous que vous avez défini la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS sur le chemin complet du fichier .json avec:
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service_account_file.json
aussi
Assurez-vous d'avoir défini votre variable d'environnement GCLOUD_PROJECT sur l'ID de votre projet Google Cloud avec:
export GCLOUD_PROJECT=your-project-id
en supposant que tout est fait , vous pouvez créer un tutorial.py fichier contenant:
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)
Exécutez ensuite:
python tutorial.py audio.raw