Python 使用librosa函数将频谱图转换为音频

Python 使用librosa函数将频谱图转换为音频,python,audio,spectrogram,librosa,Python,Audio,Spectrogram,Librosa,我正在研究语音合成,并使用librosa构建了频谱图。当我想将频谱图转换为音频以另存为wav文件时,会产生问题。我寻求帮助,发现liborsa有一个函数mel_to_audio,但它不起作用 我用这个函数来获取音频文件的频谱图 librosa.feature.melspectrogram 这是我用来将光谱图转换成音频的函数 librosa.feature.inverse.mel_to_audio 但我得到了这个错误 ModuleNotFoundError: No module named '

我正在研究语音合成,并使用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'

你的代码对我来说没有错误。我建议使用干净的环境重新安装最新版本的
librosa

conda install -c conda-forge librosa

另请参见librosa。

版本0.7中引入了模块
librosa.feature.inverse
。如果您通过conda安装librosa,但没有最新版本的conda,则将安装0.6版


一个快速修复方法是通过pip安装librosa。

能否发布一个完整的错误消息/堆栈?这将使帮助变得更容易。@hendrik我已经添加了示例我很抱歉,但这绝对不是[mvce]。第3行包含输入错误
mel)
librosa。显示到音频似乎不存在<代码>数据\音频\目录
未定义。缺少
join
iglob
的导入。此外,完整的错误堆栈丢失。请立即检查。我只想从频谱图中生成音频。使用librosa不是强制性的。已选中。对不起,我能想出的最好办法就是我的。