Je voudrais utiliser Alexa Voice Service (AVS) d'Amazon mais quand j'utilise le Recognize Speech Request tout ce que je reçois est "{message: null}". L'authentification fonctionne, la demande semble correcte car j'ai reçu des messages d'erreur de l'API lorsque l'authentification a échoué ou que la demande a été mal formée. J'ai un fichier audio wav, 16000 Hz, 1 canal, et utilise PHP64 base64_encode() pour encoder le contenu du fichier wav.Comment encoder l'audio pour Alexa Voice?
Pour le fichier audio de la documentation AVS dit que Type: Binary Data. Represents the data for the audio.
Voici la demande que je vous envoie:
têtes
POST /v1/avs/speechrecognizer/recognize HTTP/1.1
Host: access-alexa-na.amazon.com
Content-Type: multipart/form-data; boundary=86371ffc080fbb6fc614e8e36d0b8a4d
Authorization: Bearer Atza|IQEBL... (valid token)
Transfer-Encoding: chunked
Cache-Control: no-cache
corps
--86371ffc080fbb6fc614e8e36d0b8a4d
Content-Disposition: form-data; name="request"
Content-Type: application/json; charset=UTF-8
{
"messageHeader": {
"deviceContext": [
{
"name":"playbackState",
"namespace":"AudioPlayer",
"payload": {
"streamId": "xxxxxxxxxxxx",
"offsetInMilliseconds": "xxxxxxxxxxxx",
"playerActivity": "xxxxxxxxxxxx"
}
}
]
},
"messageBody": {
"profile": "alexa-close-talk",
"locale": "en-us",
"format": "audio/L16; rate=16000; channels=1"
}
}
--86371ffc080fbb6fc614e8e36d0b8a4d
Content-Disposition: form-data; name="audio"
Content-Type: audio/L16; rate=16000; channels=1
SUQzAgAAAAAQS1RUMgAAFwBhb...(truncated result of base64_encode(file.wav))
--86371ffc080fbb6fc614e8e36d0b8a4d--
Toute idée de ce qui ne va pas /disparu?
Excusez cette question plutôt stupide, mais devrais-je juste copier le contenu du fichier binaire dans le corps du message (comme '5249 4646 b80a 0200 5741 5645 666d 7420 ...')? – daniel