nodejs Houndify голосовой запрос с использованием 16000 битрейта wav-буфера - PullRequest
0 голосов
/ 20 сентября 2019

Может кто-нибудь взглянуть и понять, что я могу делать неправильно?

Я рассчитываю потратить хотя бы на "небольшую" компанию цены, как только я закончу!

Сначала я конвертирую mp3 -> wav с принудительным битрейтом 16000, а затем отправляю его все вместе, и внутренняя часть nodejs должна выполнить правильное разбиение по буферу.

const path = require('path')
const Houndify = require('houndify')
const Lame = require("node-lame").Lame

const myFile = path.join(__dirname, 'hey-jude-trimmed.mp3')

const main = async () => {

    console.log(myFile)

    let buffer

    const decoder =
        new Lame({
            output: 'buffer',
            bitrate: '16',
            'force-bitrate': true
        })
        .setFile(myFile)

    try {
        await decoder.decode()
        buffer = decoder.getBuffer()
    } catch (e) {
        console.log('problem decoding mp3 to wav')
        console.log(e)
    }

    if (buffer) {

        const request = new Houndify.VoiceRequest({
            clientId: '<my-id-here>',
            clientKey: '<my-key-here>',

            requestInfo: {
                UserID: 'test_user',
                Latitude: 37.388309,
                Longitude: -121.973968
            },

            sampleRate: 16000,

            convertAudioToSpeex: false,

            enableVAD: true,

            onTranscriptionUpdate: (transcript) => {
                console.log('Partial Transcript:', transcript.PartialTranscript)
            },

            onResponse: (response, info) => {
                console.log('Houndify success')
                console.log(response)
                console.log(info)

                console.log(JSON.stringify(response, null, 2))
            },

            onError: (err, info) => {
                console.log('Houndify error')
                console.log(err)
                console.log(info)
                console.log(info.getTotalDuration())
            }
        })

        request.write(buffer)

        request.end()

    }

}

main()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...