У меня небольшая проблема с Google Cloud Speech-to-Text на испанском языке sh.
У меня есть этот код:
const requestMIC = {
config: {
encoding: encoding,
sampleRateHertz: sampleRateHertz,
languageCode: 'es-ES',
},
interimResults: false, // If you want interim results, set this to true
enableAutomaticPunctuation: true,
//single_utterance: false,
maxAlternatives: 20,
single_utterance: true,
};
// Create a recognize stream
const recognizeStreamMicToSpeech = clientSTT
.streamingRecognize(requestMIC)
.on('error', console.error)
.on('data', data =>
process.stdout.write(
data.results[0] && data.results[0].alternatives[0]
? "Traduccion MIC:" + data.results[0].alternatives[0].transcript + "\n"
//? "Traduccion MIC:" + translateText(data.results[0].alternatives[0].transcript,'es',2) + "\n"
: '\n\nReached transcription time limit, press Ctrl+C\n'
)
);
// Start recording and send the microphone input to the Speech API.
// Ensure SoX is installed, see https://www.npmjs.com/package/node-record-lpcm16#dependencies
console.log("Start Recoding MIC");
recording
.record({
sampleRateHertz: sampleRateHertz,
threshold: 0,
// Other options, see https://www.npmjs.com/package/node-record-lpcm16#options
verbose: false,
recordProgram: 'arecord', // Try also "arecord" or "sox"
silence: '5.0',
//thresholdStart: '0.1',
//thresholdStart: '0.5',
//endOnSilence: true,
})
.stream()
.on('error', console.error)
.pipe(recognizeStreamMicToSpeech);
Проблема кажется простой, но я не не знаю, как с этим бороться. Если я выберу язык: «en-US», и я говорю на английском sh, Google распознает мой голос и фразу «fini sh» правильно, поэтому, если я скажу:
Hello, world! (silence) Today it will be a nice day!
Результат это: (2 фразы, 2 строки)
- Привет, мир!
- Сегодня будет хороший день!
Но, если я выберу Испанский sh (es-ES) с тем же кодом, и я говорю:
Hola, Mundo! (silence) Hoy sera un gran dia!
Результат: (1 фраза, 2 строки)
- Hola, Mundo ! Hoy sera un gran dia! .... и никогда не заканчивается ..
Google никогда не заканчивает sh фразу, он не определяет «конец фразы», и каждая фраза, которую я сказал, объединяется с предыдущей один ...
Знаете почему?
Спасибо!