python - 将音频流切割成话语
问题描述
我想用我的烧瓶后端中的 python 将我的前端音频流拆分为话语。在烧瓶后端,我使用webrtcvad python 模块来执行此操作,但显然我的帧长度不是正确的大小。我需要一个 10ms、20ms 或 30ms 的帧大小,采样率为 8k、16k 或 32k。
我认为这是问题所在,但我不确定。
在前端,我使用它navigator.getUserMedia
作为源并从中获取音频audioContext.createMediaStreamSource(navigator.getUserMedia)
。我将音频输入分析器,采样大小为每块 2048 个样本。
analyserNode = audioContext.createAnalyser();
analyserNode.fftSize = 2048;
inputPoint.connect( analyserNode );
使用 16k 的采样率和 20ms(每秒 50 个块)的所需帧大小,我的块大小应该是 320。分析器使用快速傅立叶变换,块大小只能是 2^x,这意味着它不能320。
有人知道如何解决我的问题吗?
解决方案
推荐阅读
- webpack - 将 .json 文件从 html-webpack-plugin 传递到车把模板
- javascript - 对角线 HTML 地图无法正常工作
- java - c# 的 CIM_VideoControllerResolution 类是否有 Java 版本?
- java - 如何使用 Spring Boot 在 API Get 方法 Endpoint 中传递多个 id
- android - 用于可编辑应用程序特定文件的内部或外部存储
- dotnetbrowser - 有时程序挂起,无法执行任何操作,代码也不执行
- json - 使用 Powershell 从 AWS JSON 中提取一些字段
- angular - 'block-ui' 不是已知元素:
- sql - PDO 访问查询
- c# - 声称未正确安装的 NuGet 包