输入值
任何三合会和弦的符号(请参阅http://en.wikipedia.org/wiki/Chord_(music)#Triads)。
输出量
组成给定和弦的音符。
例子
输入:AM
输出:A C# E
输入:C#m
输出:C# E G#
输入:Db+
输出:C# F A
输入:C0
输出:C D# F#
奖金
-50如果您也可以应付第七和弦
-150用于实际演奏和弦的声音
-150用于使用可打印字符显示如何在钢琴上弹奏和弦;例如AM
:
┌─┬─┬┬─┬─┬─┬─┬┬─┲┱─┬─┬─┲━┱┬─┲━┱─┬─┬┬─┬┬─┬─┐
│ │ ││ │ │ │ ││ ┃┃ │ │ ┃ ┃│ ┃ ┃ │ ││ ││ │ │
│ │ ││ │ │ │ ││ ┃┃ │ │ ┃ ┃│ ┃ ┃ │ ││ ││ │ │
│ │ ││ │ │ │ ││ ┃┃ │ │ ┃ ┃│ ┃ ┃ │ ││ ││ │ │
│ └┬┘└┬┘ │ └┬┘└┲┛┗┱┘ │ ┗┯┛└┲┛ ┃ └┬┘└┬┘└┬┘ │
│ │ │ │ │ ┃ ┃ │ │ ┃ ┃ │ │ │ │
└──┴──┴──┴──┴──┺━━┹──┴──┴──┺━━┹──┴──┴──┴──┘
-100用于使用可打印字符来显示如何弹奏吉他的和弦;例如AM
:
x o o o o o
┌───┬───┬───┬───┬───┐
│ │ │ │ │ │
├───┼───┼───┼───┼───┤
│ │ │ │ │ │
├───┼───┼───┼───┼───┤
│ │ █ █ █ │
├───┼───┼───┼───┼───┤
│ │ │ │ │ │
(请参阅https://en.wikipedia.org/wiki/Box-drawing_character)
规则
结果必须是命令行程序或脚本。
输入和输出可以采用任何形式,只要它遵循音乐符号标准即可。
仅当吉他或钢琴包含三个(三重音)或四个(第七个)必需音符且没有其他音符时,才视为有效。同一音符可以在和弦中出现几次。
不允许使用外部库,除了声音生成(在这种情况下
#include
,import
... ...指令不会添加到字符计数中)。这是代码高尔夫球,最短的代码获胜!
音乐理论的一点点...
在现代西方音调音乐中,每个八度音阶由十二个连续音符组成,通常被记为:
A
A#
B
C
C#
D
D#
E
F
F#
G
G#
要么:
La
La#
Si
Do
Do#
Re
Re#
Mi
Fa
Fa#
Sol
Sol#
在此系统中,我们认为两个连续的音符(例如A
和A#
,或E
和F
)被一个半音分隔。而且,这些注释有点“循环”:紧随其后的G#
是A
。
一个和弦由几个(2、3、4,有时更多)音符组成,表示“一起听起来不错”。例如,三和弦包含三个不同的音符,第七和弦包含四个不同的音符。
让我们将四个三和弦定义为:
大三重奏:包含和弦的根(在本问题中为输入的音符),根的大三分(比根高4个半音)和根的完美五分(比根高7个半音) ); 这可以表示为0-4-7
小三合会,象征0-3-7
增强三合会,符号为0-4-8
减少的三合会,象征0-3-6
因此,举例来说,如果你想使一个C大调黑社会指出C
,CM
,Cmaj
,你将需要三个注意:
- 0:根,在这种情况下是a
C
- 4:小三分,比根高4个半音;那是
E
- 7:完美的第五个,比根音高7个半音:a
G
这是什么0-4-7
,0-3-7
,0-4-8
和0-3-6
使用上述平均值的符号!对于第七和弦,请使用以下模式:
今天就这样!现在,用惊人的代码让我惊奇...如果您有任何问题,请在下面添加一些注释。
Db+
就是Db F A
没有d#或有-G。这可能是理论上比必要的多一点,公式是重要的部分。如果您确实要包括Wikipedia中列出的所有第七和弦,则应指定输入。我认为钢琴和吉他的ascii输出是灵活的。