社区
游戏开发
帖子详情
游戏逻辑的进--音乐游戏歌曲bpm算法。
cs3230524
2009-09-12 11:55:48
最近搞一个音乐游戏。由于完全没有设计经验。所以不知道一首歌曲的速度节奏是否取决于它的bpm?
如果是的话,请问2分音符多少bpm等于一秒?毕竟程序只认秒。还有如何根据bpm分配游戏按键音符?
有人弄过吗?分享一下。谢谢。
...全文
1450
14
打赏
收藏
游戏逻辑的进--音乐游戏歌曲bpm算法。
最近搞一个音乐游戏。由于完全没有设计经验。所以不知道一首歌曲的速度节奏是否取决于它的bpm? 如果是的话,请问2分音符多少bpm等于一秒?毕竟程序只认秒。还有如何根据bpm分配游戏按键音符? 有人弄过吗?分享一下。谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cs3230524
2009-10-10
打赏
举报
回复
[Quote=引用 13 楼 harryfin 的回复:]
你首先要明白什么叫BPM...
BPM = Beat Per Minute 每分钟节拍数
[/Quote]
这还用你说?
ok。已经解决了。没有用的bpm那么麻烦的东西。我直接在游戏运行里进行编谱。每秒60帧。然后存入数组后序列化,用的时候再读出来就是了。不过这样就要要求谱曲的人有很好的乐感。不过这也不失为一种方法。
过几天发给大家玩玩。
谢谢大家。
Harryfin
2009-09-22
打赏
举报
回复
你首先要明白什么叫BPM...
BPM = Beat Per Minute 每分钟节拍数
renyaochun
2009-09-22
打赏
举报
回复
又想了想~有些不全面~本来谱子长度就是因为BPM和曲子长度定下来的~上面的谱子总长度需要计算
BPM=每分钟拍子数 BPM/60=每秒钟拍子数
曲子长度(单位秒)/(BPM/60)=总共拍子数(单位拍)
总共拍子数*一个箭头的高度=谱子图像的总高度(单位像素)
当然后台肯定不会真的把谱子做成一个图像去卷轴~应该还是每一个箭头在固定时间出现~把卷轴速度和谱子图像长度求出来的话~这些都不是问题了
renyaochun
2009-09-22
打赏
举报
回复
另外谱子的长度单位应该从像素扩展一下~比如单位是“十分之一像素”~这样在速度经过除法运算后不会因为单位太大产生错误
renyaochun
2009-09-22
打赏
举报
回复
音乐游戏我还算比较了解~不过我也是乐盲~一般BPM300就到极限了~当然不排除更高的~
DDR(跳舞机)的做法是~每个箭头都是正方形~整拍整拍之间是无间距对齐~4分音是音符交错一半~8分音交错4分之1~我玩DDR的时候不明白为什么半交错都叫做4分音~我感觉应该是2分音~DDR里最极限的有32分音-_-b
这样一首歌下来~就会有一个以图像为形式的谱子~在歌曲播放的时候不断向上滚动~
歌曲时间*每秒帧数=歌曲总时间(单位是帧)~
谱子总长度(单位是像素)/歌曲总时间(单位是帧)=谱子播放时的卷轴速度(像素/帧)~
当然必须是固定帧率渲染了~每秒定死60帧吧
不过要怎么和歌曲做同步~以及怎么做编辑器~估计要和懂音乐的交流了.......
gumbour
2009-09-15
打赏
举报
回复
曲子类型 每分钟拍数
广板 46
慢板 52
柔板 56
行板 66
小行板 69
中板 88
小快板 108
快板 132
急板 184
上面是常见的节拍速度,一首曲子一般会在曲谱上标注节拍速度或者是演奏时间。
用秒是肯定不行的,甚至GetTickCount都不行,要做的好必须用高精度定时器,碰到八分之一拍,十六分之一拍的调子,时间精度低专家一听就听出来了。
音乐游戏确实需要对音乐比较了解,楼主还是先看看音乐基础知识吧,其实也不难。
xingzhe2001
2009-09-15
打赏
举报
回复
我想象有用五个指头按,所以有5个数组呵呵。
cs3230524
2009-09-15
打赏
举报
回复
[Quote=引用 5 楼 xingzhe2001 的回复:]
我的话根据MIDI生成5个数组存放掉落的音符和时间,然后每帧看时间到不到,到了就往下掉。
[/Quote]
为啥要5个数组?每帧?快了吧?我觉得每什么节奏超过1秒8拍的吧。那岂不是还要写一个软件用来编辑音符?汗。。。我的问题基本都是你解决的。出个招吧。
cs3230524
2009-09-15
打赏
举报
回复
[Quote=引用 6 楼 gumbour 的回复:]
曲子类型 每分钟拍数
广板 46
慢板 52
柔板 56
行板 66
小行板 69
中板 88
小快板 108
快板 132
急板 184
上面是常见的节拍速度,一首曲子一般会在曲谱上标注节拍速度或者是演奏时间。
用秒是肯定不行的,甚至GetTickCount都不行,要做的好必须用高精度定时器,碰到八分之一拍,十六分之一拍的调子,时间精度低专家一听就听出来了。
音乐游戏确实需要对音乐比较了解,楼主还是先看看音乐基础知识吧,其实也不难。
[/Quote]
我还不知道用高精度计时器啊?又不是每首歌速度都一样!软件测出来也不准。现在讨论的是算法!
xingzhe2001
2009-09-14
打赏
举报
回复
我的话根据MIDI生成5个数组存放掉落的音符和时间,然后每帧看时间到不到,到了就往下掉。
张赐
2009-09-14
打赏
举报
回复
这个恐怕要去问搞音乐的了
cs3230524
2009-09-14
打赏
举报
回复
[Quote=引用 2 楼 xingzhe2001 的回复:]
不懂帮顶,乐盲,1个节拍是1秒么?
[/Quote]
2分音符1节拍应该是2拍一秒吧。。。我也是乐盲。。哎。看来游戏还真的是不好搞。
如果是你的话,准备如何给一首歌曲定制向下掉落的音符?用时间吗?精确到多少秒?哎呀。头痛了。
xingzhe2001
2009-09-14
打赏
举报
回复
不懂帮顶,乐盲,1个节拍是1秒么?
profuns
2009-09-13
打赏
举报
回复
等待高手..
仿IBM-
BPM
Monitor实现的demo
NULL 博文链接:https://shlei.iteye.com/blog/808939
易语言源码易语言Music
Bpm
游戏
源码.rar
易语言源码易语言Music
Bpm
游戏
源码.rar
beatz-player:用于根据
bpm
计数分析
歌曲
的 Android 项目
beatz播放器 根据
bpm
计数过滤
歌曲
的 Android 应用程序
易语言Music
Bpm
游戏
源码-易语言
易语言Music
Bpm
游戏
源码
基于Ti-AWR2944雷达开发板的
BPM
发射与处理实践博文相对应的数据和代码
相关代码基本都有很好/详细的注释(时间较短,可能一些地方可以
进
一步优化),并随附所采集的原始数据供读者参考。
游戏开发
8,324
社区成员
23,684
社区内容
发帖
与我相关
我的任务
游戏开发
游戏开发相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏开发相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章