首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用librosa函数将语谱图转换为音频

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

Stack Overflow用户
提问于 2019-09-17 12:45:04
回答 2查看 7.2K关注 0票数 1

我正在从事语音合成工作,我已经使用librosa构建了频谱图。当我想要将频谱图转换为音频以保存为wav文件时,它会产生问题。我寻求帮助,发现liborsa有一个函数mel_to_audio,但这不起作用。

我使用这个函数来获取音频文件的频谱图。

代码语言:javascript
复制
librosa.feature.melspectrogram

这是我用来将语谱图转换成音频的函数。

代码语言:javascript
复制
librosa.feature.inverse.mel_to_audio

但是我得到了这个错误。

代码语言:javascript
复制
ModuleNotFoundError: No module named 'librosa.feature.inverse'

这就是我使用librosa读取文件的方式。

代码语言:javascript
复制
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文件?

最小示例:

代码语言:javascript
复制
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)

这是错误:

代码语言:javascript
复制
AttributeError: module 'librosa.feature' has no attribute 'inverse'
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-17 16:14:03

你的代码为我工作,没有错误。我建议使用干净的miniconda环境重新安装最新版本的librosa

代码语言:javascript
复制
conda install -c conda-forge librosa

另请参阅librosa installation instructions

票数 0
EN

Stack Overflow用户

发布于 2019-11-02 22:15:01

librosa.feature.inverse模块是在0.7版中引入的。如果您通过conda安装librosa,并且您没有最新版本的conda,那么将安装0.6版。

一个快速的解决方法是通过pip安装librosa。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57967487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档