Как получить преобразование речи в текст при работе с файлом AIFF - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь отправить в AIFF base64 через Google Speech-to-text framework, но, похоже, он работает только с файлами WAV. API говорит мне, что мне нужно установить AudioEncoding для определенного типа c, но я не уверен, что будет работать с AIFF. Мне также нужно установить sampleHertzRate, который я не знаю, как получить, используя Javascript. Кто-нибудь может помочь с этим?

Вот мое тело POST:

{
    "config": {
        "encoding": "LINEAR16",
        "audioChannelCount": 1,
        "sampleRateHertz": 8000,
        "languageCode": "en-US",
        "profanityFilter": "true",
        "speechContexts": [],
        "enableAutomaticPunctuation": true,
        "metadata": {
            "interactionType": "VOICE_COMMAND",
            "microphoneDistance": "NEARFIELD",
            "originalMediaType": "AUDIO",
            "recordingDeviceType": "SMARTPHONE",
            "recordingDeviceName": "iPhone"
        },
        "model": "command_and_search"
    },
    "audio": {
        "content": "$base64Audio"
    }
}

1 Ответ

0 голосов
/ 13 февраля 2020

API говорит мне, что мне нужно установить AudioEncoding для определенного c типа

, возможно, у вас "проблема с URI данных" mdn MIME_types а вам нужно прикрепить данные: MIME-тип к вашему файлу? как это:

let base64AudioUrl = `data:audio/x-aiff; base64,${$base64Audio}`;

В википедии они определяют два типа MIME для AIFF: «audio / x-aiff» и «audio / aiff»

Если вы публикуете свои данные из формы, возможно, Вам нужно добавить enctype:

<form method="post" enctype="multipart/form-data">
...