如何使用Chrome的tabCapture API中的音频流并将其转换为文本

时间:2019-03-30 06:39:26

标签: javascript audio google-chrome-extension

我正在尝试为选项卡上正在播放的所有音频生成字幕...为此,我正在构建一个chrome扩展程序,该扩展程序能够捕获当前打开的选项卡中的音频并实时从音频流!

经过一番研究,我发现chrome有一个tabCapture API,可以从当前选项卡中捕获音频流……但是问题是我将如何不断地将从API中获得的流转换为文字!

chrome.tabCapture.capture({audio: true}, (stream) => {
  let startTabId;
  chrome.tabs.query({active:true, currentWindow: true}, (tabs) => startTabId = tabs[0].id)
  const liveStream = stream;
  const audioCtx = new AudioContext();
  const source = audioCtx.createMediaStreamSource(stream);
  let mediaRecorder = new Recorder(source);

这将如何记录音频... stream对象应该包含音频信息...我不确定如何使用stream对象将其转换为文本!

1 个答案:

答案 0 :(得分:0)

您要的是语音识别引擎。没有简单的方法可以实现此功能,尤其是在浏览器环境中。甚至还不清楚,鉴于当前的最新技术,这是否可行。

语音识别是一个持续不断的研究领域;您在这里尝试做的事情不是解决的问题。甚至像Google这样的主要行业力量也没有解决此问题:Youtube has a feature which can automatically generate captions for videos,但是the resulting captions are awful。他们对该功能的实现取决于大量的机器学习工作。在Web浏览器中实时运行的可能性不大,甚至不可能使用Javascript来实现。