首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Python语音识别音频帧数据转换为可以由Whisper处理的numpy数组?

将Python语音识别音频帧数据转换为可以由Whisper处理的numpy数组?
EN

Stack Overflow用户
提问于 2022-10-07 01:54:06
回答 2查看 148关注 0票数 0

我正在使用语音识别Python库以16 the的单数从我的麦克风记录音频字节,但我想使用接受NumPy数组、光谱图和文件路径的新的Whisper库。写入文件花费的时间太长,所以我想直接将数据转换为数组,将其传递给Whisper。

EN

回答 2

Stack Overflow用户

发布于 2022-10-25 13:09:10

尝试librosa库

代码语言:javascript
复制
librosa.load(path, *, sr=22050, mono=True, offset=0.0, duration=None, dtype=<class 'numpy.float32'>, res_type='soxr_hq')

链接librosa载荷函数

票数 0
EN

Stack Overflow用户

发布于 2022-10-28 16:24:31

以下是解决您的问题的方法:

假设您的代码执行如下

代码语言:javascript
复制
with sr.Microphone(device_index=device_index, sample_rate=16000) as source:
    r = sr.Recognizer()
    audio = r.listen(source, timeout=None)

您需要将音频数据(Recognizer.listen的输出)转换为波形格式的1

代码语言:javascript
复制
audio_data = audio.get_wav_data()

可以转换为int16 2的数组。

代码语言:javascript
复制
data_s16 = np.frombuffer(audio_data, dtype=np.int16, count=len(audio_data)//2, offset=0)

,然后可以将其转换为float32 3.数组。

代码语言:javascript
复制
float_data = data_s16.astype(np.float32, order='C') / 32768.0

然后再用耳语来处理。如果有更快的方法(可能是23.的组合),请告诉我。

问候

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73981594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档