小编its*_*sMe的帖子

如何将 numpy 数组转换为 bytes 对象而不将音频文件保存在磁盘上?

我现在正在学习构建一个基于 Tacotron-2 的 TTS 项目。

这里,函数中的原始代码save_wav(wav, path, sr)有一个步骤,通过使用将 numpy 数组保存到 .wav 文件

wav *= 32767 / max(0.01, np.max(np.abs(wav)))
scipy.io.wavfile.write(path, hparams.sample_rate, wav.astype(np.int16))
Run Code Online (Sandbox Code Playgroud)

但是,在使用 获得 numpy 数组后wav *= 32767 / max(0.01, np.max(np.abs(wav))),我想将其转换为 .mp3 文件,以便更容易将其作为流响应发送回来。

现在,我可以将 .wav bytes 对象转换为 .mp3 文件,但问题是我不知道如何将 numpy 数组转换为 .wav bytes 对象

我搜索了一下,发现我似乎需要为 numpy 数组设置一个标头,但在我研究的几乎所有帖子中都表明使用像scipy.io.waveand之类的模块audioop,它首先将 numpy 数组保存到 .wav 文件,然后with open('filename.wav', 'rb')

(这是scipy.io.wavfile.write 模块的链接filename,其中参数应该是字符串或打开文件句柄,根据我的理解,生成的 .wav 文件将保存在磁盘上。)

谁能就如何实现这一目标提出任何建议?

python arrays audio mp3 wav

5
推荐指数
1
解决办法
3362
查看次数

如何使用 Pydub 更改音频播放速度?

我是音频编辑库 - Pydub 的新学习者。我想使用 Pydub(比如 .wav/mp3 格式文件)更改一些音频文件的播放速度,但我不知道如何制作。我看到的唯一可能解决这个问题的模块是 effect.py 中的加速模块。但是,没有解释我应该如何称呼它。

谁能解释一下如何在 Pydub 中完成这项任务?非常感谢!

(一个相关的问题:Pydub - 如何在不改变播放速度的情况下改变帧速率,但我想要做的是在不改变音频质量的情况下改变播放速度。)

python audio mp3 wav pydub

3
推荐指数
3
解决办法
9249
查看次数

标签 统计

audio ×2

mp3 ×2

python ×2

wav ×2

arrays ×1

pydub ×1