我正在使用 ijkplayer 视频播放器库在我的 android 应用程序中播放视频。但是当我尝试提高音频速度(例如 1.5+)时,它会改变我的音调。我查看了 ijkplayer 的源代码,但无法弄清楚问题。设置播放速率时,它会计算对我来说似乎可行的音高和采样率。我启用了 soundtouch 来播放音频。谁能帮我弄清楚如何解决这个问题。如果您需要更多信息,请发表评论。
问问题
32 次
1 回答
2
我不熟悉您使用的特定软件,但声音的一个基本方面是,如果您更改播放速率,这将改变声音的音高。声音以每单位时间的脉冲数来衡量,例如,以赫兹为单位,即每秒的波数,其中 440 Hz 是用于调整管弦乐队的 A 音符。如果您将播放速率更改为加快 50%,则生成的声音将以 660 Hz 振动,即 A 上方的 E。
如果您想在不改变音高的情况下改变播放速率,则需要额外的数字信号处理。该算法有点过于复杂,我无法在这里解释。它涉及将原始信号分解成“颗粒”并重新加入它们。该过程足够专业,以至于在另一个专门讨论信号处理的论坛上更常见。
于 2021-12-28T06:29:03.070 回答