Usando il discorso AT & T per il testo API con Python
-
21-12-2019 - |
Domanda
Sto cercando di utilizzare il discorso AT & T per il testo API.Finora, posso ottenere il token di accesso
def get_access_token(client_id, client_secret):
headers = {'Content-Type': 'application/x-www-form-urlencoded', 'Accept': 'application/json'}
data = {'client_id': client_id, 'client_secret': client_secret, 'scope': 'SPEECH',
'grant_type': 'client_credentials'}
response = requests.post(oauth_url, data=data, headers=headers)
return response.text
.
Finora, questo è ciò che ho per aver inviato il file audio per ottenere la risposta JSON:
def get_text_from_file(file, access_token):
headers = {'Authorization': 'Bearer ' + access_token, 'Accept': 'application/json', 'Content-Type': 'audio/wav',
'X-SpeechContext': 'Generic', 'Connection': 'Keep-Alive'}
.
Ma non sono sicuro di come inviare il file.Qualcuno può aiutare?
Soluzione
Questo è ciò che ho appena lavorato, usando la libreria richieste e un paio di altre risorse che collegherò sotto
import json
import requests
class ATTSpeech:
CLIENT_ID = "SOME"
CLIENT_SECRET = "ID"
TOKEN = None
def __init__(self, *args, **kwargs):
self.get_token()
def get_token(self):
# Get Access Token via OAuth.
# https://matrix.bf.sl.attcompute.com/apps/constellation-sandbox
response = requests.post("https://api.att.com/oauth/token", {
"client_id": self.CLIENT_ID,
"client_secret": self.CLIENT_SECRET,
"grant_type": "client_credentials",
"scope": "SPEECH,STTC"
})
content = json.loads(response.content)
self.TOKEN = content["access_token"]
def text_from_file(self, path):
with open(path, 'rb') as f:
response = requests.post("https://api.att.com/speech/v3/speechToText",
headers = {
"Authorization": "Bearer %s" % self.TOKEN,
"Accept": "application/json",
"Content-Type": "audio/wav",
"X-SpeechContext": "Generic",
}, data=f)
content = json.loads(response.content)
return content
.
https://sites.google.com/site/brssbrsbrss/attspeechapi .
http://changingjasper.blogspot.COM / 2014/06 / Making-Jasper-Uso-At-Speech-Api.html
L'utilizzo è qualcosa come il seguito, assumendo che hai salvato questo file come Attengine
from ATTEngine import ATTSpeech
a = ATTSpeech()
a.text_from_file('/Users/issackelly/Desktop/here.wav')
. Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow