如何使用librosa将女性声音转换为男性声音?

时间:2019-06-08 19:40:52

标签: python spectrum librosa

如何使用librosa将男人的声音转换成女人的声音?

我试图将男性声音转换为女性声音。我先用librosa读取了wav文件,然后用STFT处理了音频时间序列,希望可以调整频谱(增加低频部分)来达到目的。

import matplotlib
matplotlib.use('TkAgg')
import librosa.display

y, sr = librosa.load("/Users/wu4mac/PycharmProjects/SpeechRecognition/weather.wav")

a = librosa.stft(y)

length = len(a)

r_a = a[10:length-10]

b = librosa.istft(r_a)

librosa.output.write_wav("stft.wav", b, sr)

我希望男性声音可以转换为女性声音,但这似乎只能实现为奇怪的声音。

1 个答案:

答案 0 :(得分:0)

使用幼稚的音调转换方法将男性语音转换为女性语音(或反向语音)总是听起来很尴尬。所需要的是一种语音感知方法,通常称为语音重新合成。

Praat是一个出色的免费开放源代码库,可处理语音。可以从Python使用称为Parselmouth的库来使用它。他们的示例之一显示了how to do pitch manipulation,其中包括一些示例音频。