当前位置: 首页 > 知识库问答 >
问题:

如何进行实时语音识别|谷歌云语音到文本

焦宏硕
2023-03-14

我正在尝试从扬声器转录音频
我正在将声音从扬声器传送到节点。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

这是我的抄本。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);

但谷歌云语音到文本在1分钟内对流媒体识别有一个限制。所以我有一个错误“超过了允许的最大流持续时间65秒”

如何将流拆分为以静默为拆分器的块,或拆分为持续30秒的块?

共有1个答案

葛哲彦
2023-03-14

我们可以将音频管道到sox实用程序,通过0.3秒持续时间且不超过55秒的静音来分割它

sox -t raw -r 16k -e signed -b 16 -c 1 - ./chunks/output.wav  silence 1 0.3 0.1% 1 0.3 0.1% trim 0 55 : newfile : restart

现在,我们可以查看chunks dir中的新文件,并将其流式传输到Google云语音文本API

 类似资料:
  • 我正在努力寻找使用谷歌云语音API进行实时连续语音识别的例子。我的要求是使用麦克风,检测语音,并在用户说话时进行转录。 我知道他们的RESTAPI没有这种支持,所以我研究了grpc示例,包括他们提供的示例。但它们似乎都是用户可以上传音频并检测语音的例子。 我在Java,谷歌grpc也支持java。有人遇到一个很好的例子,展示了如何通过麦克风持续进行这种识别吗?

  • 我正在玩Google Cloud Speech API。我想知道我是否使用python语音识别库并调用google cloud语音API,这仍然是使用API的有效方式吗?我只想转录文本。 我对它们之间的区别感到困惑,如果我只想转录音频,是否有任何建议的方法。 使用Python语音识别: 不使用Python SpeechRecognition:

  • 我正在使用谷歌云语音到文本AP,并试图转录长音频文件。但是,无法检测到桶中的音频文件。我得到一个错误,说明:IOError:[Errno 2]没有这样的文件或目录: transcribe_gcs(gcs_uri):

  • 我用Google API对自然对话的语音识别取得了很好的效果,但是对于Youtube视频或电影中的声音,识别效果很差或根本不存在。 在iPhone 4上录制西班牙语到英语的声音是可以识别的,但在电影中使用同一部手机几乎是不可能的,即使是一个角色在几乎没有背景噪音的情况下说话的场景。只有一次成功。 我试图清理声音与SoX(声音交换)使用噪声和comand efects,没有任何成功。 有什么想法吗?

  • 新的谷歌云语音文本转换API据说是市场上最好的。它是否提供了说话人注释(或其他说话人信息)?比如谁在什么时候说什么。我似乎在它的文档或提供的例子中找不到任何提到它的地方。 IBM和亚马逊都这样做。 如果有人能告诉我,我将不胜感激,谢谢!

  • 我在尝试使用谷歌云语音库时出错。 这可能是关于我的依赖项。在添加Firebase身份验证依赖项之前,库是无缝工作的。所以它可能是关于endpoint-管理-控制-应用引擎-所有依赖项。 Stackdriver日志: 这是类的唯一方法: 项目的依赖关系: