its*_*sMe 5 python arrays audio mp3 wav
我现在正在学习构建一个基于 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 文件将保存在磁盘上。)
谁能就如何实现这一目标提出任何建议?