关于升降调(100分)

  • 主题发起人 主题发起人 delphifaq
  • 开始时间 开始时间
D

delphifaq

Unregistered / Unconfirmed
GUEST, unregistred user!
卡拉ok时,可能会根据演唱者不同的需求进行音乐音调的改变,例如升调降调,如何实现?
 
原理是 播放速度快,音调升高,播放速度慢,音调降低。
大概播放速度可以在解码器上控制。
 
解码器?如何控制??有专用软件吗?
 
to yysun: 不对吧,那样音调高了,可音乐也快了
应该是直接把整个频率移高,也就是把原有的频率乘上一个倍数。
 
小菜:
具体点好吗,具体的实现方式呢?
 
呵呵,对不起罗,原理上是这样,具体的实现我没弄过,可能帮不上你。
还有你的问题本身也不够清楚,比如说你的要控制的是哪种播放设备,声源是什么。。。
从道理上说这应该不是很难,建议你把具体情况说清楚,会有人能帮你的。
 
用MEDIAPLAYER无法实现啊,MCI 命令虽然升降调的功能。。但直接用就是不起作用。。
如果是对功放机进行控制,就可以用MCI实现升降调的功能
 
如果用midi的话比较容易不说了。

如果用wave文件。

1)改变时间。比如5秒的一个声音你用10秒放出来,音调会降低一个八度。也就是再取样。
计算方法为插值。缺点:声音的时间改变。
2)频率域计算。变换到频率域,根据不同的音调的频率平移相应频率,然后反变换即可。
缺点:计算量大。
 
[red]天啦,这个问题已经折磨我好多天了:([/red][:(]
 
后退
顶部