第一键盘 - 电子琴在线论坛

 找回密码
 现在注册

QQ登录

只需一步,快速开始

楼主: LuXin
打印 上一主题 下一主题

[原创]数学家讲音律计算

[复制链接]

41#
发表于 2007-3-17 22:16:58 | 只看该作者
鲁迅老师,你实在是太强了!!!!
回复 支持 反对

使用道具 举报

42#
发表于 2007-4-2 17:30:59 | 只看该作者
涨学问啊。
回复 支持 反对

使用道具 举报

43#
发表于 2007-4-4 10:31:54 | 只看该作者

Luxun 姐姐,你好有才好有才耶!

回复 支持 反对

使用道具 举报

44#
发表于 2007-4-4 10:37:06 | 只看该作者

坚决顶!高举头上!

回复 支持 反对

使用道具 举报

45#
发表于 2007-4-5 10:57:58 | 只看该作者
强顶
回复 支持 反对

使用道具 举报

46#
发表于 2007-4-13 00:00:14 | 只看该作者
高,实在是高!!
回复 支持 反对

使用道具 举报

47#
发表于 2007-4-14 10:38:42 | 只看该作者

记得很久很久以前编过一个计算机程序(语言好像是pascal,也可能是c或是basic,忘了。反正各种语言基本上都有这个函数),主要是调用一个 beep() 函数。参数好像有两个,一个是频率,另一个是长度。当时算频率的时候,大致是这样算的:

La =440Hz,

然后高音 La=440*2=880Hz

然后把2开12次方,算出一个数来,假设它为a;

然后,各个音的频率分别为

La=440 * a的0次方 =440Hz

升La=440 * a的1次方

Xi=440 * a的2次方

Do=440 * a的3次方 (高音)

升Do=440 * a的4次方 (高音)

Re=440 * a的5次方 (高音)

升Re=440 * a的6次方 (高音)

Mi=440 * a的7次方 (高音)

升Mi=440 * a的8次方 (高音)

Fa=440 * a的9次方 (高音)

So=440 * a的10次方 (高音)

升So=440 * a的11次方 (高音)

La=440 * a的12次方 既 440 *2=880Hz (高音)

低音区也是同样的算法,只不过首先是要除以2,也就是用220来乘a的多少多少次方。

然后再设好另一个参数(表示时值),然后反复调用这个函数,就可以让电脑发出想要的声音了。

回复 支持 反对

使用道具 举报

48#
发表于 2007-4-14 10:43:42 | 只看该作者

不好意思,上边那个有个地方弄错了。没有升Mi,有升Fa。正确的写法是

。。。。。。

Mi=440 * a的7次方 (高音)

Fa=440 * a的8次方 (高音)

升Fa=440 * a的9次方 (高音)

So=440 * a的10次方 (高音)

。。。。。。

还有,B的唱名应该是Si

回复 支持 反对

使用道具 举报

49#
发表于 2007-10-30 09:40:50 | 只看该作者

被版主的文章所吸引,很活泼的风格,可爱的图片,很认真哦!

赞一个!

回复 支持 反对

使用道具 举报

50#
发表于 2008-4-20 19:31:30 | 只看该作者

一不小心长见识了!!

强顶!!!

急切期待楼主的后续作品!!

回复 支持 反对

使用道具 举报

51#
发表于 2008-4-21 16:00:46 | 只看该作者

忒神奇了,有一天老婆问我,为什么音乐分成 1 2 3 4 5 6 7 呢,偶无语!

貌似看过卢老师这篇文章可以找条鞋带去忽悠一下!

回复 支持 反对

使用道具 举报

52#
发表于 2008-4-22 18:51:49 | 只看该作者

虽然有些迷糊,但还是先回个帖,然后仔细看。

谢谢分享咯。

回复 支持 反对

使用道具 举报

53#
发表于 2008-5-9 13:00:15 | 只看该作者
十二平均律更加简单,所有的下一个半音的频率为上一个半音的二的十二次根号倍。

f(n+1) = f(n) * 2^(1/12)
f(n+2) = f(n+1) * 2^(1/12) = f(n) * (2^(1/12))^2

按照这个公式,可以推算出所有的音符的频率来,因为所有频率都成等比数列。

f(n) = f(0) * (2^(1/12))^n

f(0)可以取今日律制的标准音440.0 Hz

所有键盘乐器都是按照十二平均律进行调律,所以钢琴同小提琴一起协奏的时候总有点不和谐,因为律制不同的关系。

#include "math.h"
double CalcNoteFreq(int iNote, double dBaseFreq)
{
return dBaseFreq*pow(pow(2,1.0/12.0),iNote);
}
回复 支持 反对

使用道具 举报

54#
发表于 2008-5-15 05:46:51 | 只看该作者

这样好的帖子不顶对不住楼主啊

楼主不愧是出色的数学音乐家!

「该帖子被 shitanjing2002 在 2008-5-15 5:47:30 编辑过」
回复 支持 反对

使用道具 举报

55#
发表于 2008-5-31 21:30:47 | 只看该作者
好经典,学习中......
回复 支持 反对

使用道具 举报

56#
发表于 2008-6-6 01:50:56 | 只看该作者
楼主实在太强悍了感动得我都
回复 支持 反对

使用道具 举报

57#
发表于 2008-6-12 23:03:55 | 只看该作者
没弦给我试。。。。。。。。呃。。。身边全是弹钢琴的
回复 支持 反对

使用道具 举报

58#
发表于 2008-7-13 17:24:25 | 只看该作者
lz的悟性以及钻研和共享精神令人钦佩之至!
回复 支持 反对

使用道具 举报

59#
发表于 2008-11-3 23:26:47 | 只看该作者
留个脚印,一次学不完。
回复 支持 反对

使用道具 举报

60#
发表于 2008-12-24 13:41:15 | 只看该作者
应当还有吧?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 现在注册

本版积分规则

关闭

新闻头条上一条 /1 下一条

【重要通知】|申请友链|Archiver|手机版|第一键盘 - 电子琴信息网 - 电子琴在线论坛 ( 粤ICP备14036084号 )

GMT+8, 2024-4-19 22:33 , Processed in 0.191198 second(s), 38 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表