do、re、mi、fa、sol、la、si 的频率分别是多少
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了do、re、mi、fa、sol、la、si 的频率分别是多少相关的知识,希望对你有一定的参考价值。
do、re、mi、fa、sol、la、si 的频率分别是多少
或者说 他们之间频率的比值是多少
以国际标准音A-la-440HZ为准:do的频率为261.6HZ,re的频率为293.6HZ,mi的频率为329.6HZ,fa的频率为349.2HZ,sol的频率为392HZ,la的频率为440HZ,si的频率为493.8HZ。
根据计算高音比低音的比值为1.12,即高音频率是低音频率的2的1/12次方倍,比如do的频率为261.6HZ,则比它高半音的re的频率为261*2^(1/12)=293.6HZ。
这样类比下来,一个八度的音,这样一直乘下来,所得的结果刚好是2。
扩展资料
音阶指调式中的各音,从以某个音高为起点即从主音开始,按照音高次序将音符由低至高来排列,这样的音列称为音阶。1234567=CDEFGAB,这个叫七声音阶,基本音阶为C调大音阶,在钢琴上弹奏时全用白键。
世界各地有许多不同的音阶,随着音乐水平的进步,音乐非常完整的理论与系统,目前世界上几乎都是用西洋的十二平均律来作为学习音乐的基础,因此我们今天所说的音阶,就是以最普遍的大音阶(大调)与小音阶(小调)为主。
频率是单位时间内完成振动的次数,是描述振动物体往复运动频繁程度的量,为了纪念德国物理学家赫兹的贡献,人们把频率的单位命名为赫兹,简称“赫”。
每个物体都有由它本身性质决定的与振幅无关的频率,叫做固有频率。频率概念不仅在力学、声学中应用,在电磁学和无线电技术中也常用。
频率单位 赫兹(HZ)
音名 频率
C 1 do 256
D 2 re 288
E 3 mi 320
F 4 fa 341又1/3
G 5 so 384
A 6 la 426又2/3
B 7 si 480
C 1 do 512
比值:
C:D=8:9
D:E=9:10
E:F=15:16
F:G=8;9
G:A=9:10
A:B=15:16
三三循环,以此类推
扩展资料:
唱名法:solmization用若干特定的音节来表示音阶中各音级的唱法。现今被广泛采用的唱名为:do、re、mi、fa、sol、la、si。分固定唱名法与可动唱名法两种。
1、固定唱名法以绝对音高为基础,即以C唱do、D唱re、E唱mi等,无论何调,永远不变。
2、可动唱名法,又称首调唱名法,以相对音高为基础,其唱名不固定,以调别为准则,大调唱do、re、mi、fa、so、la、ti固定不变,如C大调以C音唱do,D大调以D音唱do等。小调唱la、ti、do、re、mi、fa、sol,如a小调以A音唱la,b小调以B音唱la等。
3、唱名沿革
11世纪初意大利音乐教育家圭多(阿雷佐的)以《圣约翰赞美诗》中每一句第 1个音节作为六声音阶的阶名唱法,即ut、re、mi、fa、sol、la6个音。约1600年法国采用圭多的唱名法,增加了以“si”作为B的固定唱名。
17世纪50年代,又用do取代ut。可动唱名法由英国女教师S.A.格洛弗所创,经J.柯温改进完善,其中,si改成了ti。
1959年德国音乐学家R.米尼希发表了他的雅勒唱名法,受到欧洲诸国的重视。其自然音级的唱名为ja、le、mi、ni、ro、su、wa。
此外,尚有多种不同的唱名法,均不如以上唱名法流传广泛或尚在研究探讨过程之中。如:
罗马尼亚布吉阿努唱名法,其自然音级的唱名为da、re、mi、fi、go、lu、sa 。
我国王瑞年新唱名体系,自然音级的唱名为da、re、mi、fi、so、lu、ta 。
我国方向mi-fi唱名法,自然音级的唱名为do、re、mi、fi、su、la、to。
4、中国民族唱名法
中国民族民间音乐亦采用固定与可动两种唱名法。
宋代的工尺谱、俗字谱均采用固定唱名法记谱。现今保存的古代民间乐种西安鼓乐所用的乐谱是宋代俗字谱的继承与发展,亦属固定唱名法系统。
近代在民间所流传的工尺谱,一般属可动唱名法系统。
其可动唱名为合、四、一、上、尺、工、凡、六、五、乙,相当于首调的 sol、la、si、do、re、mi、fa、sol、la、si。 但键盘和五线谱上何音可唱作合、四、一、上等,则要根据乐器的定弦和乐曲所选的调而定。
以下是do、re、mi、fa、sol、la、si所对应的大写字母。
以下是C大调的各个音的频率。
C:261.6256。因C代表do,则do的频率为261.6256赫兹。
D:293.6648。因D代表re,则re的频率为293.6648赫兹。
E:329.6276。因E代表mi,则mi的频率为329.6276赫兹。
F:349.2282。因F代表fa,则fa的频率为349.2282赫兹。
G:391.9954。因G代表sol,则sol的频率为391.9954赫兹。
A:440。因A代表la,则la的频率为440赫兹。
B:493.8833。因B代表si,则si的频率为493.8833赫兹。
扩展资料:
声学系指任何与听觉有关的事物。但依通常所用,其一系指物理学中关于声音的属性、产生和传播的分支学科;其二系指建筑物适合清晰地听讲话、听音乐的质量。
声音由物体(比如乐器)的振动而产生,通过空气传播到耳鼓,耳鼓也产生同率振动。声音的高低(pitch)取决于物体振动的速度。物体振动快就产生“高音”,振动慢就产生“低音”。物体每秒钟的振动速率,叫做声音的“频率”。
参考资料来源:百度百科-声学
参考技术C 频率单位 赫兹(HZ)音名 频率
C 1 do 256
D 2 re 288
E 3 mi 320
F 4 fa 341又1/3
G 5 so 384
A 6 la 426又2/3
B 7 si 480
C 1 (上面一个点)do 512
C:D=8:9
D:E=9:10
E:F=15:16
F:G=8;9
G:A=9:10
A:B=15:16
三三循环,以此类推 参考技术D 频率单位 赫兹(HZ)
音名 频率
C 1 do 256
D 2 re 288
E 3 mi 320
F 4 fa 341又1/3
G 5 so 384
A 6 la 426又2/3
B 7 si 480
C 1 (上面一个点)do 512
C:D=8:9
D:E=9:10
E:F=15:16
F:G=8;9
G:A=9:10
A:B=15:16
三三循环,以此类推本回答被提问者采纳
具有 2 个变量的函数的 dict 和字符串中的迭代
【中文标题】具有 2 个变量的函数的 dict 和字符串中的迭代【英文标题】:Iteration in dict and string with function of 2 variables 【发布时间】:2020-01-07 14:22:23 【问题描述】:为了演奏一个音符,我们需要知道它的频率以及它应该演奏多长时间。为此,在练习中我有以下两个变量:
一个名为freqs的字典,其中键是表示字符名称的字符串,值是表示频率的数字。
freqs = "la": 220,
"si": 247,
"do": 261,
"re": 293,
"mi": 329,
"fa": 349,
"sun": 392,
以及包含歌曲音符的字符串:
notes =
"sol,250-mi,250-mi,500-fa,250-re,250-re,500-do,250-re,250-mi,250-fa,250-sol,250-sol,250-sol,500"
字符串构造如下:
每个字符后出现一个逗号,后跟一个数字,表示该角色应该玩的时间长度。每个字符由破折号相互分隔。 在第一阶段 我使用 split 方法通过连字符分割字符串。我检查了它是可迭代的
为了扮演一个角色,我应该使用骷髅 下一个代码:
import winsound
...
winsound.Beep (frequency, duration)
Beep 函数接收两个参数时:一个字符的频率和播放的时间长度。 (持续时间,频率)
我需要编写一个程序,根据音符中的音符串(表示歌曲的结构)播放歌曲“小乔纳森”,以从上述字符串创建可迭代并循环运行它,或者使用下一个函数。
到目前为止,这是我的代码,效果不佳。我该如何从这里开始?
def Beep(frequency, duration ):
for word in duration:
yield frequency[word]
frequency="la": 220,"si": 247,"do": 261,"re": 293,"mi": 329,"fa":
349,"sol": 392,
res = Beep(['sol,250', 'mi,250', 'mi,500', 'fa,250', 're,250', 're,500', 'do,250', 're,250', 'mi,250', 'fa,250', 'sol,250', 'sol,250', 'sol,500'],frequency)
print(next(res))
想要的输出:
250,392
500,329
250,349
250,293
500,293
250,261
250,293
250,329
250,349
250,392
250,392
500,392
【问题讨论】:
你的Beep
函数需要 frequency, duration
但你似乎传递了它 song_string, frequency_lookup_table
?
笔记中的solar
是什么?
solar
是什么?
看起来你正在调用函数Beep
,参数倒序。您已将其定义为Beep(dict, list)
,但您将其称为Beep(list, dict)
不清楚您是使用自己的 Beep 函数还是库中的那个。你为什么要定义你的?
【参考方案1】:
Beep
需要一个频率和该频率的持续时间。
您需要为音符串中的每个音符发出哔哔声。因此,您需要以一种可以使用所述音符的频率和持续时间的方式迭代音符。假设你已经用笔记填充了 1 个数组,用持续时间填充了 1 个数组,你可以这样做
for note, duration in zip(notes, durations):
winsound.Beep(freqs[note], duration)
如果您还没有拆分字符串,您可以迭代字符串的拆分结果。
for note in notes.split('-'):
winsound.Beep(freqs(note.split(',')[1], note.split(',')[0])
【讨论】:
我认为您在拆分过程中交换了-
和,
。音符以-
分隔,每个音符是以逗号分隔的频率、持续时间对。
嗨,丹,感谢您指出错误。原始帖子中的注释字符串有点混乱。我已经编辑了答案,干杯!【参考方案2】:
首先,让我们正确地获取您的表格。
notes = "sol,250-mi,250-mi,500-fa,250-re,250-re,500-do,250-re,250-mi,250-fa,250-sol,250-sol,250-sol,500"
song = []
for block in notes.split('-'):
note, duration = block.split(',')
song.append((note, int(duration)))
然后是函数。我假设您使用的是winsound.Beep()
,并且您想要一个函数为您的song
中的每个note:duration 对调用Beep。如果是这样,以下函数将完成这项工作。
def play(song):
freq_table =
"la": 220,
"si": 247,
"do": 261,
"re": 293,
"mi": 329,
"fa": 349,
"sol": 392,
for note, duration in song:
frequency = freq_table[note]
print(frequency, duration)
winsound.Beep(frequency, duration)
play(song)
【讨论】:
为什么song
是字典?它肯定应该是一个元组列表,否则你会丢失顺序以及任何重复的注释。
和 : notes = "sol,250-mi,250-mi,500-fa,250-re,250-re,500-do,250-re,250-mi,250- fa,250-sol,250-sol,250-sol,500" ?
@Dan 你说的太对了!我会立即修复它。我已经冲进去了。
首先感谢答案,但是您发送的代码中我不清楚,价值说明在哪里?
@Dan 我已经把notes
的解析放到了函数外的song
中。当然,它可以在函数体内移动;在这种情况下,您可以将“notes”作为参数传递。【参考方案3】:
你的notes
变量中有很多奇怪的东西,所以我假设它是一个错字,它确实是note-duration
的格式,用逗号和空格分隔。
在这种情况下,这应该有效:
for i in notes.split(", "):
winsound.Beep(freqs[i.split("-")[1]], i.split("-")[0])
【讨论】:
有什么奇怪的东西?告诉我,我会解释 值“notes”是歌曲的“词”'歌曲的字符 @אמיליעמית 字符串中没有节奏。它以简单的sol
开头,然后是note-duration
的模式,最后又是一个简单的500
。
那么我怎样才能用这些值播放歌曲:频率和持续时间
@אמיליעמית 正如我在回答中所描述的那样。问题是您的 notes 变量不是 frequency-duartion 的格式以上是关于do、re、mi、fa、sol、la、si 的频率分别是多少的主要内容,如果未能解决你的问题,请参考以下文章