【发布时间】:2019-01-20 16:40:11
【问题描述】:
我正在尝试播放女性的音频文件,使用 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)
【问题讨论】:
-
听起来难以置信。音频对我来说是女性。采样率是多少?我隐约猜测您正在以 22 kHz 播放 44 kHz 文件,而降低的频率使它听起来像男声。
-
是的,我们只是播放较慢的音频,大约慢了 2 倍 - 这意味着三重奏是正确的。试试
pygame.mixer.init(frequency=32000)(您的音频文件是 32000 Hz,而不是 22 或 44)
标签: python audio pygame audio-player frequency-analysis