录音/制作/创作 吉他 扩声技术 视频技术 作品展示 生活 信息 更多... | 音频应用专卖店

[求助] 保证最终音乐播放速度听着不变,怎么使MIDI时值随着MIDI速度变化而改变时值?

( 19 )
12
 
[收藏]
-  第 1 页  -

32
#1 20-11-15 01:05

保证最终音乐播放速度听着不变,怎么使MIDI时值随着MIDI速度变化而改变时值?

保证最终音乐播放速度听着不改变的情况下,怎么使MIDI音符音值的长度随着MIDI速度的变化而做相应的时值的变化呢?有什么软件、代码程序或者方案可以实现吗?
本帖最后由 libindihao5421 于 20-11-15 01:35 编辑

32
#2 20-11-15 01:08
求大神帮忙出个主意

32
#3 20-11-15 01:41
如果MIDI音符时值可以随着相应变化的话,就可以调整到一个其它的音符长度和时值来使用,出谱的时候也可以呈现不同的谱面形式

4337
#4 20-11-15 06:32
保证最终音乐播放速度听着不改变的情况下,怎么使MIDI音符音值的长度随着MIDI速度的变化而做相应的时值的变化呢?


假如开始音乐速度是150,之后速度变为50.60.70,但听着速度和150是一样的,是这个意思吗?
本帖最后由 德彪西 于 20-11-15 06:36 编辑

32
#5 20-11-15 08:56
德彪西 发表于 20-11-15 06:32
保证最终音乐播放速度听着不改变的情况下,怎么使MIDI音符音值的长度随着MIDI速度的变化而做相应的时值的变 ...

是的

32
#6 20-11-15 08:57
德彪西 发表于 20-11-15 06:32
保证最终音乐播放速度听着不改变的情况下,怎么使MIDI音符音值的长度随着MIDI速度的变化而做相应的时值的变 ...

是的

2583
#7 20-11-15 09:57
如果是cubase的话,先按150做,做好以后,轨道左边有一个钮可以选择按节拍,还是按时间,把他改成按时间,然后其他轨按节拍,那么改节拍,这轨按时间的,是不会变的

32
#8 20-11-15 11:33
黄黄 发表于 20-11-15 09:57
如果是cubase的话,先按150做,做好以后,轨道左边有一个钮可以选择按节拍,还是按时间,把他改成按时间, ...

可这样MIDI轨道不是没做任何改变吗?怎么能达到改变了速度之后相应的MIDI音符也做长度的改变,前后听着是一样的?

2583
#9 20-11-15 13:02
libindihao5421 发表于 20-11-15 11:33
可这样MIDI轨道不是没做任何改变吗?怎么能达到改变了速度之后相应的MIDI音符也做长度的改变,前后听着是 ...

你看,不管他节奏是多快慢,midi的长度,速度,都是对于时间来说,都是没变的,那就是听起来前后一样了啊,实际对于速度来说,长度,位置应该是变化了的,理论上是可以的,但是我没有亲自试过,好久没用cubase了

32
#10 20-11-15 16:12
是这个意思 我翻遍了音乐宿主 好像没有这种功能,哎

32
#11 20-11-15 16:15
黄黄 发表于 20-11-15 13:02
你看,不管他节奏是多快慢,midi的长度,速度,都是对于时间来说,都是没变的,那就是听起来前后一样了啊 ...

我主要是想通过这样改变MIDI的长度来达到优化呈现的乐谱

2583
#12 20-11-17 00:00
libindihao5421 发表于 20-11-15 16:15
我主要是想通过这样改变MIDI的长度来达到优化呈现的乐谱

变了时间以后,你再点按节拍显示,他就变长了,或变短了

1161
#13 20-11-17 08:39
libindihao5421 发表于 20-11-15 16:15
我主要是想通过这样改变MIDI的长度来达到优化呈现的乐谱

  1、好像已知软件都无法达到这个midi音符时值随速度变化而变化的自动化操作。
  在这方面唯一有可能的是那些具备脚本编程开放接口的宿主。目前这种宿主据我了解,只有Sonar与REAPER。Sonar靠的是CAL脚本编程,但它的编程中并没有可供读取的速度常量,所以此操作无法实现。
  REAPER的脚本编程中是否有这种常量,不太清楚,只要有这种常量,就能实现这个操作。可以去了解一下。

  2、乐谱所呈现出来的音符时值,都是特定的标准时值,不太可能标出首楼提到的时值随速度变化而变化以达到听感不变的时值效果吧?
  比如之前的速度是100,下一段速度要变成87,那么所有的音符时值,包括节奏间距,就会相应的缩短13%,这在midi中手动操作是可以简单实现的,播放时听起来与之前的100速度效果是一样……
  但这样的话,一个原本为480TK时值的音符,就应该变成417.6TK长(音符会自动四舍五入成无小数点状态),这个长度是一个很奇怪的长度,完全不在节拍上。包括两个音符之间原本相距960TK距离(休止符)的节奏,也就对应的变成835.2……这时的音符时值与节奏都会出现在非标准节拍上。
  如果这样去出谱,导入出谱软件,音符几乎全部是混乱的节拍,完全没法看呀。
  所以,可能是对楼主你的目标还是没有正确理解吧,感觉这样不但不能优化呈现乐谱,反而会完全无法出谱。
  3、如果你只是将一首固定速度的曲子,改成另外一个速度,听起来要保持原速度,只是所有的时值与节奏相应发生变化。那还是可以简单实现的。比如在Sonar中可以这样操作(其他软件估计同理,可能操作不一样):
  打开需要修改的midi工程,走带跳到曲尾,查看一下这处的时间长度,记下来(比如是4分25秒)。然后改速度,此时midi总长度就肯定不在4分25秒位置了,然后全选所有事件,按下Ctrl键不放,再用鼠标拖动最后那个音符至4分25秒位置。整个midi就会被等比例拉伸或缩短到需要4分25秒才能播放完的状态。
  但是正如上面提到过的,此时的midi音符将完全不在正常的拍子上,是无法出谱的。
  另外,如果是一首中间不停变速,甚至变速频率很高,比如画了变速曲线的曲子,这个操作就麻烦到几乎不能实现了。
本帖最后由 溺水鱼 于 20-11-17 08:50 编辑

1161
#14 20-11-17 09:08
  对13楼第2与3点内容的进一步说明,比如这里有一条旋律,正常情况下速度为104,播放完是18秒15。如下图:
  现在要将速度改成136,并且要求是播放完依然是18秒15。我们如13楼第3点那样操作之后,得到一个节拍混乱的midi旋律,但播放效果与之前那个正常的是一模一样的。如下图:

  结果就是,这样节拍混乱的midi,是肯定无法出谱的。

  其实,我估计是把楼主的题理解跑偏了……不清楚楼主具体是希望怎么优化乐谱呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

32
#15 20-11-18 07:33
溺水鱼 发表于 20-11-17 08:39
  1、好像已知软件都无法达到这个midi音符时值随速度变化而变化的自动化操作。
  在这方面唯一有可 ...

谢谢 我已经解决了,搞编程的朋友用代码帮我解决了 改变MIDI的速度和原来一样的播放一样了这回 时值也调整了 就是拍子全是4/4的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

搜索