简体   繁体   English

在 IJKPlayer 中改变速度时音调变化

[英]Audio tone change when changing speed in IJKPlayer

I am working with ijkplayer video player library to play videos in my android app.But when i try to increase the audio speed (eg 1.5+) it change my audio tone.I looked into the source code of ijkplayer but couldn't figure out the issue.我正在使用 ijkplayer 视频播放器库在我的 android 应用程序中播放视频。但是当我尝试提高音频速度(例如 1.5+)时,它会改变我的音调。我查看了 ijkplayer 的源代码,但无法弄清楚问题。 When setting playback rate it calculates pitch and sample rate which seems working to me.I enabled soundtouch for playing audio.Can anyone help me figure out how i can fix this issue.设置播放速率时,它会计算对我来说似乎工作的音高和采样率。我启用了 soundtouch 来播放音频。谁能帮我弄清楚如何解决这个问题。 If you need more information please leave a comment.如果您需要更多信息,请发表评论。

I'm not familiar with the specific software you are using, but a fundamental aspect of sound is that if you change the rate of the playback, this will change the pitch of the sound.我不熟悉您使用的特定软件,但声音的一个基本方面是,如果您更改播放速率,这将改变声音的音高。 Sound is measured in pulses per unit time, for example, in Hertz , which is waves per second, where 440 Hz is the A note used to tune an orchestra.声音以每单位时间的脉冲数为单位,例如,以赫兹为单位,即每秒的波数,其中 440 Hz 是用于调整管弦乐队的 A 音符。 If you change the rate of playback to speed it up 50%, the resulting sound will vibrate at 660 Hz, which is the E above that A.如果您将播放速率更改为加快 50%,则生成的声音将以 660 Hz 振动,即 A 上方的 E。

If you want to change the playback rate without altering the pitch, this will require additional digital signal processing.如果您想在不改变音高的情况下改变播放速率,这将需要额外的数字信号处理。 The algorithm is a bit too complex for me to explain here.该算法有点过于复杂,我无法在这里解释。 It involves breaking the original signal up into 'granules' and rejoining them.它涉及将原始信号分解成“颗粒”并重新加入它们。 The process is specialized enough that it is something more commonly dealt with at another forum, dedicated to Signal Processing .该过程足够专业,以至于在另一个专门讨论信号处理的论坛上更常见。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM