钢琴和弦小工具(一)乐理和功能简介
前言
人,不但要有科学技术,而且还要,文化,艺术,跟音乐。 ————钱学森
我特别认同钱老说的这句话。我们作为理工科为主的开发者,不能忘记陶冶自己的情操。 所以业余时间,我也会弹一点钢琴。 有一天,我的需求就来了。 那天的乐谱和平常不一样,左手的音符不是画在五线谱上的,是以和弦形式标注的。这一下把我这个野路子难住了。我可没法记住那些和弦的规律。那么我能不能自己开发一个小工具,帮我来查询钢琴和弦按键的方法呢?
一点点乐理
我们先快速过一下乐理。首先钢琴键盘上由一个个八度组成。从do到si循环。每个循环一共包含7个白键,5个黑键。图中展示了钢琴键盘的一部分。里面有两个八度。第一个八度的7个白键从do到si被标注出来。也许有人会好奇,为什么mi fa和si do之间没有黑键?这个我没有去具体考证,但布局中的这个特殊情况,会对我们理解音高和之后的代码编写有这至关重要的影响。
所以接下来就要说说音高。在钢琴键盘上,白键的do re之间,re mi之间,各相差一个音高。于是,do re之间的黑键,和do re,各相差半个音高。这个黑键在琴谱上,可以表示为升do或者降re,指的是同一个键。
那么同样是白键,到了mi fa,是不是也相差一个音高呢?答案是否定的。mi fa相差的是半个音高。
所以音高的规律实际上是:键盘上相邻的两个按键,相差半个音高(注意不是相邻的两个白键)。可以把键盘的下半部分遮住,只看上半部分。忽略相邻的按键的颜色,相邻两个按键之间的音高就是相差半个。
接下来我们讲讲和弦,以最常用的大三和弦举例。网上很多解释和弦的文章,都会非常教条式的讲音程,大三度,小三度。这个会取决于按键之间有没有间隔黑键。实际上这个说法理解起来太复杂了,也不利于记忆。按上文对音高的解释,我直接理解成,几个按键之间相邻多少个半音。这样无论根音是哪个,对应的其他几个按键都根据多少个半音去找就行了。
这样我们就抓住了和弦的本质,对于之后的代码有指导性思想。
功能简介
整个应用的功能不多,点击某个按键作为根音,根音以粉色表示,和弦中,其他几个按键以黄色表示。左上角的按钮可以呼出和弦类型选择列表的弹窗,选择需要的和弦类型,键盘上会有相应的变化。
整个应用的实现,关键在于键盘的绘制。另外就是一个和弦的选择列表的弹窗。这个弹窗不细讲,因为包括官方文档在内的社区里很多入门帖子都会讲到类似的案例。
下集预告
下一篇我们将开始实现功能,敬请期待。
- 0回答
- 0粉丝
- 3关注
- 钢琴和弦小工具(四)显示和弦
- 钢琴和弦小工具(三)绘制键盘
- 钢琴和弦小工具(二)布局思路
- ArkTS语言简介
- HarmonyOS Next 并发 taskpool 和 worker
- HarmonyOS NEXT 地图服务中‘我的位置’功能全解析
- HarmonyOS 地图服务:深度解析其丰富功能与精准导航实力
- HarmonyOS Next V2 @Local和@Param
- HarmonyOS Next V2 @Monitor和@Computed
- 调频声波App(一)概述
- 碰一碰分享
- 对于DevecoStudio的学习(一)
- 元服务——基础布局概念(一)
- HarmonyOS Next V2 状态管理AppStorageV2和PersistenceV2
- 元服务--第一章环境