如何使用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)
我希望男性声音可以转换为女性声音,但这似乎只能实现为奇怪的声音。
答案 0 :(得分:0)
使用幼稚的音调转换方法将男性语音转换为女性语音(或反向语音)总是听起来很尴尬。所需要的是一种语音感知方法,通常称为语音重新合成。
Praat是一个出色的免费开放源代码库,可处理语音。可以从Python使用称为Parselmouth的库来使用它。他们的示例之一显示了how to do pitch manipulation,其中包括一些示例音频。