猿问

使用 Librosa Python 将噪声添加到音频文件并重新转换噪声信号

我使用 librosa 添加噪声到信号中,但添加噪声后我无法将信号另存为 wav 文件。


我的代码如下:


import librosa


import matplotlib.pyplot as plt

import numpy as np

import math


file_path = r'path\to\file'

#

#

signal, sr = librosa.load(file_path, sr = 16000)

# plt.plot(signal)

#

RMS=math.sqrt(np.mean(signal**2))


STD_n= 0.001

noise=np.random.normal(0, STD_n, signal.shape[0])

#

# # X=np.fft.rfft(noise)

# # radius,angle=to_polar(X)

#

signal_noise = signal+noise

我想将 signal_noise 转换为 wav 文件。我尝试了不同的 librosa 函数,但找不到一个。我尝试使用 scipy.io.wavfile.write 但出现错误,可能是因为 Librosa 生成标准化音频,而 Scipy 不生成。


幕布斯6054654
浏览 82回答 1
1回答

蓝山帝景

您可以使用soundfile库来完成此操作。将这些行添加到您的代码中:import soundfile soundfile.write('filename.wav',signal_noise,16000)参数:第一个参数是文件名第二个参数是要保存的音频第三个参数是采样率希望这对您有帮助!
随时随地看视频慕课网APP

相关分类

Python
我要回答