【问题标题】:Can i add effects to realtime audio stream in JavaScript我可以在 JavaScript 中为实时音频流添加效果吗
【发布时间】:2019-07-26 23:34:44
【问题描述】:

我现在有一个来自 ffmpeg 的音频流,它想添加实时效果。

这可以用 Javascript 实现吗?

我的文件管理代码全部在 JS (nodejs) 中,不需要与前端代码进行任何交互。

我可以在后端使用网络音频吗(例如咆哮)....我不认为。

我考虑过使用 Python,即将音频导入 numpy 数组,处理然后流式传输结果,或者保存到文件并流式传输文件(我不想流式传输 pcm,因此需要在流式传输时转换为 mp3) - 我在这里遇到的一个问题(尝试使用 PYO)是该软件将托管在云中,所以我无法访问 PYO 似乎需要的声卡。

  • 另一种可能性是添加 dsp 之类的 audiolazy。

我们将不胜感激地接受任何想法或建议。 谢谢

【问题讨论】:

    标签: javascript python audio signal-processing web-audio-api


    【解决方案1】:

    Web Audio API 为您提供多种选择。您可以创建一个Audio 实例,给它一个AudioContext,然后对其应用大量AudioNodes 以应用不同的效果。 Using The Web Audio API 上有大量文档。

    【讨论】:

    • Web Audio 看起来很棒,但要执行我想要的操作,我必须伪造浏览器调用到正在运行的进程,以更改对某些音频的影响。我会进一步调查。目前我正朝着python方向前进,但是用javascript来做会很好。感谢您的回复,
    • 实际上你可以通过多个AudioNodes 传递音频以获得几乎任何效果,这取决于你想要做什么。可能不需要往返服务器。
    • 这一切都需要一个实际的浏览器运行,这不是 OP 想要的。没有浏览器就无法使用网络音频 api。
    • @Eindbaas - 你提出了我从原始帖子中遗漏的一个有效观点:他正在 Node.js 中执行此操作。那么问题就变成了,@Russ_ell 试图解决什么问题?如果他正在对流应用实时效果,流将在哪里以及如何进行?从技术上讲,可以通过节点使用 Web Audio API,使用像 web-audio-api 这样的第三方库,你只需要弄清楚 audioContext.destination 应该是什么。
    • @Steve -Cutter -Blades - 我正在尝试运行两个恒定的音频流(一个接一个地实时选择文件)在每个流上添加时变效果(取决于开始/结束时间任一流上的单个文件)。如果您愿意,可以实时混合。例如在流 1 上的文件结束前 5 秒,流 2 会产生一点混响。使用 JavaScript 会很好,因为整个堆栈都使用它,但目前我正在从 Node 生成一个处理音频处理方面的 python 脚本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-31
    • 2019-11-18
    • 1970-01-01
    相关资源
    最近更新 更多