使用 librosa 函数将频谱图转换为音频
Convert spectrogram to audio using librosa functions
我正在研究语音合成,我已经使用 librosa 构建了声谱图。当我想将频谱图转换为音频以另存为 wav 文件时,它会产生问题。我寻求帮助,发现 liborsa 有一个函数 mel_to_audio 但它不起作用。
我用这个函数来获取音频文件的频谱图。
librosa.feature.melspectrogram
这是我用来将频谱图转换为音频的函数。
librosa.feature.inverse.mel_to_audio
但是我收到了这个错误。
ModuleNotFoundError: No module named 'librosa.feature.inverse'
这就是我使用 librosa 读取文件的方式。
def read_audio_from_filename(filename):
audio, sr = librosa.load(filename)
D = np.abs(librosa.stft(audio))**2
audio= librosa.feature.melspectrogram(y=audio, sr=sr, S=D)
return audio
有没有其他方法可以将mel转换成音频并保存为wav文件?
最小示例:
import librosa
import librosa.display
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
def read_audio_from_filename(filename):
audio, sr = librosa.load(filename)
D = np.abs(librosa.stft(audio))**2
audio= librosa.feature.melspectrogram(y=audio, sr=sr, S=D)
return audio
def convert_data():
wav_filename = "Audio/Audio1.wav"
audio = read_audio_from_filename(wav_filename)
return audio
specto = convert_data()
res = librosa.feature.inverse.mel_to_audio(specto)
这是错误:
AttributeError: module 'librosa.feature' has no attribute 'inverse'
你的代码对我来说没有错误。我建议使用干净的 miniconda 环境重新安装最新版本的 librosa
:
conda install -c conda-forge librosa
另见 librosa installation instructions。
模块 librosa.feature.inverse
是在版本 0.7 中引入的。如果您通过 conda 安装 librosa 而您没有最新版本的 conda,那么将安装 0.6 版本。
快速修复是通过 pip 安装 librosa。
我正在研究语音合成,我已经使用 librosa 构建了声谱图。当我想将频谱图转换为音频以另存为 wav 文件时,它会产生问题。我寻求帮助,发现 liborsa 有一个函数 mel_to_audio 但它不起作用。
我用这个函数来获取音频文件的频谱图。
librosa.feature.melspectrogram
这是我用来将频谱图转换为音频的函数。
librosa.feature.inverse.mel_to_audio
但是我收到了这个错误。
ModuleNotFoundError: No module named 'librosa.feature.inverse'
这就是我使用 librosa 读取文件的方式。
def read_audio_from_filename(filename):
audio, sr = librosa.load(filename)
D = np.abs(librosa.stft(audio))**2
audio= librosa.feature.melspectrogram(y=audio, sr=sr, S=D)
return audio
有没有其他方法可以将mel转换成音频并保存为wav文件?
最小示例:
import librosa
import librosa.display
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
def read_audio_from_filename(filename):
audio, sr = librosa.load(filename)
D = np.abs(librosa.stft(audio))**2
audio= librosa.feature.melspectrogram(y=audio, sr=sr, S=D)
return audio
def convert_data():
wav_filename = "Audio/Audio1.wav"
audio = read_audio_from_filename(wav_filename)
return audio
specto = convert_data()
res = librosa.feature.inverse.mel_to_audio(specto)
这是错误:
AttributeError: module 'librosa.feature' has no attribute 'inverse'
你的代码对我来说没有错误。我建议使用干净的 miniconda 环境重新安装最新版本的 librosa
:
conda install -c conda-forge librosa
另见 librosa installation instructions。
模块 librosa.feature.inverse
是在版本 0.7 中引入的。如果您通过 conda 安装 librosa 而您没有最新版本的 conda,那么将安装 0.6 版本。
快速修复是通过 pip 安装 librosa。