J'utilise pour la première fois l'API GCS Speech pour un projet de conversion d'une série de fichiers audio en texte. Chaque fichier dure environ 60 minutes et est une personne qui parle continuellement pendant tout le temps. J'ai installé le SDK GC et je l'utilise pour effectuer les requêtes comme indiqué ci-dessous:
gcloud ml speech recognize-long-running \
"/path/to/file/audio.flac" \
--language-code="pt-PT" --async
Chaque fois que je lance ceci sur l'un de mes enregistrements, cela donne le message d'erreur suivant:
ERROR: (gcloud.ml.speech.recognize-long-running) INVALID_ARGUMENT:
Request payload size exceeds the limit: 10485760 bytes.
Cela semble être une restriction très difficile, car si l'API est capable de traiter des fichiers jusqu'à 180 minutes, il n'y a aucun moyen qu'elle produise un maximum de 10 0 caractères de discours.
J'ai essayé de diviser les fichiers audio en morceaux plus petits et j'ai atteint jusqu'à quatre échantillons de 15 minutes et j'ai quand même la même erreur. De plus, même si cela fonctionnait, ce serait une tâche très fastidieuse et peu pratique de séparer chaque nouvel enregistrement que je fais à partir de maintenant.
J'ai cherché et jusqu'à présent, je n'ai pas tiré de conclusion sur la façon d'augmenter ou de contourner cette limitation. Je suis sur un compte d'essai gratuit mais je suis heureux de passer à un abonnement payant pour augmenter cette limite. Pour autant que je sache, cette limitation persistera même si je suis sur un abonnement payant.
Quelqu'un a-t-il trouvé une solution à ce problème?
Après avoir parlé avec le support Google Cloud, je suis arrivé à la conclusion que cela était dû à une limitation de mon abonnement d'essai gratuit et à la taille de mon fichier (~ 60 min).
Après la mise à niveau vers l'abonnement payant et le téléchargement de mon fichier vers Google Cloud Storage, j'ai pu recevoir la charge utile de la transcription.
$ gcloud ml speech recognize-long-running "gs://test-bucket/my_audio_file.flac" --language-code="pt-PT" --async
Check operation [7456984365978465938] for status.
{
"name": "7456984365978465938"
}
$ gcloud ml speech operations describe 7456984365978465938
{
... payload ...
}