【问题标题】:Audio tone change when changing speed in IJKPlayer在 IJKPlayer 中改变速度时音调变化
【发布时间】:2022-01-26 05:11:08
【问题描述】:
我正在使用 ijkplayer 视频播放器库在我的 android 应用程序中播放视频。但是当我尝试提高音频速度(例如 1.5+)时,它会改变我的音调。我查看了 ijkplayer 的源代码,但无法t弄清楚问题。设置播放速率时,它会计算对我来说似乎可行的音高和采样率。我启用了 soundtouch 来播放音频。谁能帮我弄清楚如何解决这个问题。如果您需要更多信息,请发表评论。
【问题讨论】:
标签:
android
audio
ffmpeg
ijkplayer
【解决方案1】:
我不熟悉您使用的特定软件,但声音的一个基本方面是,如果您更改播放速率,这将改变声音的音高。声音以每单位时间的脉冲数来衡量,例如,以 Hertz 为单位,即每秒的波数,其中 440 Hz 是用于为管弦乐队调音的 A 音符。如果您将播放速率更改为加快 50%,则生成的声音将以 660 Hz 振动,即 A 上方的 E。
如果您想在不改变音高的情况下改变播放速率,则需要额外的数字信号处理。该算法有点过于复杂,我无法在这里解释。它涉及将原始信号分解成“颗粒”并重新加入它们。该过程非常专业,因此在另一个论坛上更常见,专门用于Signal Processing。