Я пытаюсь использовать функцию распознавания речи тензорного потока в автономном режиме.онлайн режим с использованием микрофона работает нормально.но в автономном режиме я не могу найти надежную библиотеку для преобразования файла wav / mp3 в спектрограмму в соответствии с требуемыми спецификациями массива как ffttsize: 1024, columnTruncateLength: 232, numFramesPerSpectrogram: 43.
Все библиотекикак spectrogram.js, который я пробовал, не имеют этих вариантов разговора.в то время как речь tenorlfowjs ясно упоминает о наличии следующих спецификаций для тензора спектрографа
const mic = await tf.data.microphone({
fftSize: 1024,
columnTruncateLength: 232,
numFramesPerSpectrogram: 43,
sampleRateHz:44100,
includeSpectrogram: true,
includeWaveform: true
});
Получение ошибки в качестве ошибки: tenor4d () требует, чтобы форма была предоставлена, когда values
представляет собой плоский массив в следующих
await recognizer.ensureModelLoaded();
var audiocaptcha = await response.buffer();
fs.writeFile("./afterverify.mp3", audiocaptcha, function (err) {
if (err) {}
});
var bufferNewSamples = new Float32Array(audiocaptcha);
const buffersliced = bufferNewSamples.slice(0,bufferNewSamples .length-(bufferNewSamples .length%9976));
const xtensor = tf.tensor(bufferNewSamples).reshape([-1,
...recognizer.modelInputShape().slice(1)]);
получил эту ошибку после нарезки и исправления в тензор
output.scores
[ Float32Array [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 ],
Float32Array [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 ],
Float32Array [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 ],
Float32Array [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 ],
Float32Array [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 ] ]
score for word '_background_noise_' = 0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0
score for word '_unknown_' = 0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0
score for word 'down' = 0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0
score for word 'eight' = 0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0
score for word 'five' = 0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0
score for word 'four' = undefined
score for word 'go' = undefined
score for word 'left' = undefined
score for word 'nine' = undefined
score for word 'no' = undefined
score for word 'one' = undefined
score for word 'right' = undefined
score for word 'seven' = undefined
score for word 'six' = undefined
score for word 'stop' = undefined
score for word 'three' = undefined
score for word 'two' = undefined
score for word 'up' = undefined
score for word 'yes' = undefined
score for word 'zero' = undefined