我正在尝试播放女性的音频文件,并使用python中的pygame库在印地语中说些什么。当我手动单击音频文件并收听时,它是一种女性声音,但是当我通过以下脚本播放它时,我得到了男性声音。我想这正在将女性频率转换为男性。为什么会这样以及如何避免呢?
注意:我正在Raspberry Pi上使用Raspbian。
这是音频文件的链接:https://drive.google.com/open?id=18pLBoCMxWZzB-RO3qqVmi0zREgJckb3M
我的编码:
import pygame.time
from pygame.mixer import *
pre_init()
init()
filename = 'speech.wav'
music.load(filename)
music.play()
while pygame.mixer.music.get_busy():
pygame.time.Clock().tick(10)
答案 0 :(得分:0)
jmp
$esxitest = Get-VMHost esxitest.test.local | Get-VMHostLatestVersion
Write-Host "Version:" $esxitest
带有一个frequency参数。而且由于播放器默认为import pygame.time
from pygame.mixer import *
pre_init()
init(frequency=32000)
filename = 'speech.wav'
music.load(filename)
music.play()
while pygame.mixer.music.get_busy():
pygame.time.Clock().tick(10)
,因此播放速度会很慢-听起来会有所不同。您可以通过手动更改速度来避免这种情况,或者可以从pygame.mixer.init()
获取实际速度,元数据应该在文件中。
否则,只需执行22050
,您就会在底部看到正确的频率。
要更改音频文件的频率以匹配相同的频率,可以使用ffmpeg重新编码文件。现在,我不是ffmpeg的魔术师-只是遵循以下原则:
music.load()
或者使用Audacity或其他推荐的方法:https://superuser.com/questions/292833/how-to-change-audio-frequency
第二种更改播放器频率的方法是,在每个媒体文件之后调用ffmpeg -i speech.wav
,然后使用与您的新文件匹配的新频率重新启动它。或者最后,阅读文档,看看是否有可能在已经初始化的混频器实例上更改频率播放。这是我所不知道的。我只知道您原来的根本问题是:)