Я пытаюсь транскрибировать звук из моих колонок
Я передаю звук из колонок в файл node.js (https://askubuntu.com/a/850174)
parec -d alsa_output.pci-0000_00_1b.0.analog-stereo.monitor --rate=16000 --channels=1 | node transcribe.js
Это мой transcribe.js
const speech = require('@google-cloud/speech');
const client = new speech.SpeechClient();
const encoding = 'LINEAR16';
const sampleRateHertz = 16000;
const languageCode = 'en-US';
const request = {
config: {
encoding: encoding,
sampleRateHertz: sampleRateHertz,
languageCode: languageCode,
},
interimResults: false, // If you want interim results, set this to true
};
const recognizeStream = client
.streamingRecognize(request)
.on('error', console.error)
.on('data', data => {
console.log(
`Transcription: ${data.results[0].alternatives[0].transcript}`
);
});
process.stdin.pipe(recognizeStream);
Но у Google Cloud Speech-to-Text есть предел для распознавания потоковой передачи в ~ 1 мин. Поэтому у меня ошибка "Превышена максимально допустимая длительность потока в 65 секунд."
Как разделитьпоток на куски с тишиной в виде сплиттера или на куски продолжительностью 30 секунд?