任何三进和弦的符号(参见http://en.wikipedia.org/wiki/Chord_(音乐)#三合会 )。
构成给定和弦的音符。
输入: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_字符)
#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,有时更多)音符组成的,“一起听起来很好”。例如,三弦包含三个不同的注释,第七和弦包含四个不同的注释。
让我们将四个三弦定义为:

因此,例如,如果您想要使一个C大三位一体,注意到C,CM,Cmaj,您将需要三个注意事项:
CEG这就是上面使用的0-4-7、0-3-7、0-4-8和0-3-6符号的含义!对于第七个和弦,使用以下模式:

今天到此为止!现在,用惊人的代码让我惊讶..。如果您有任何问题,请在下面添加一些评论。
发布于 2014-03-24 21:39:39
第一次出现在合作伙伴身上!现在只支持小调、大调、缩小和弦和加法和弦。
z=["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"];y=[1,2,4,5,6]
def q(a):print(z[a%12])
a=input();k=(ord(a[0])+3)%7;j=k;m=4;s=0;f=7;
for i in y:
if(k>=i):j+=1
if('#'in a):j+=1
if('b'in a):j-=1
if('m'in a or'0'in a):m=3
if('+'in a or"aug"in a):f=8
if('0'in a or"dim"in a):f=6;m=3
if('ma'in a):m=4
q(j);q(j+m);q(j+f);发布于 2014-03-30 15:15:14
输入/输出通过COM端口从Arduino发送/接收。用户可以通过终端或Arduino IDE中的串行监视器与此交互。正如你从我的平台选择中可能猜到的那样,我计划包括和弦的实际演奏(虽然我还没有这么做)。
我已经成功地解决了键盘奖金,我试图解决吉他,有限的成功。
和弦框有130个字节,这太长了,不值得。因此,我尝试了另一种方式,只是打印fret数字标签风格。目前,这是81字节的奖金81-100=-19。如果这个方法被认为是有效的,我可以尝试改进它。
使用的和弦都是D型,根在第二弦,第五和弦在第三弦,第三和弦在第一和第四弦。没有使用第5和第6字符串,我在和弦框的右边用X来标记这个字符串(左边可能比较常见,但是在右边标记的例子可以找到)。
因为程序认为F是最低音符(在键盘上的可压缩性,同时又避免了对这个和弦形状过高的烦扰),所以最高的和弦是E(在17 fret上有根)。参见输出示例。
在打高尔夫球方面,键盘更成功。出于上述原因,它是从the而不是C运行的.它必须通过逆时针旋转屏幕90%,当你可以清楚地看到黑色音符的轮廓,以及白色音符与---之间的界限。B和C之间的行可以用一些____扩展几个字节。
接下来我会试着演奏这些音符。这将是有趣的,因为,虽然我相信Arduino Uno有3个内部定时器,一次只能播放一个音符使用内置音调命令。有一个外部库函数,它使用所有的硬件定时器(这会搞乱串行,但无论如何在那个阶段都不需要它)。或者,我可以尝试在软音中产生音调。
如果我成功了,我会把球打得更低,但我不认为它会成为总冠军。
String p="F#G#A#BC#D#E -Mm+",y,d[]=
{" ","---|"},n="\n";
void setup() {
Serial.begin(9600);
Serial.setTimeout(99999);
}
void loop(){
char x[9]; int r,t,f,i,c=1;
Serial.readBytesUntil(13,x,9);
Serial.println(x);
r=p.indexOf(x[0]);
if (x[1]==35|x[1]==98){c=2;r+=x[1]==35?1:-1;}
f=p.indexOf(x[c])/2;
t=4-p.indexOf(x[c])%2;
//chord box
y=n;for(i=24;i--;)y+=d[1]+(i%4?"":" \n");
y[89]=y[107]='X'; y[t*4-10]=y[t*4+52]=y[f*4+14]=y[28]='O';
Serial.print("\t "+String(r+6)+y);
f+=r;t+=r;
//tab style
Serial.println(String(t+1)+n+String(r+6)+n
+String(f-2)+n+String(t+3)+"\nX\nX\n");
f%=12;t%=12;
//piano
for(i=0;i<12;i++){
c=0;
y=String(p[i]);
if(y=="#") {c=1;y=p[i-1]+y;}
Serial.println(d[c]+"__"+((r-i&&t-i&&f-i)?"":y));
}
}示例输出的文本行间距越小,这看起来就越好。因此,它看起来很棒,当我实际上是编辑的帖子,但可怕的灰色框后发帖。相反,我发布了Arduino系列监视器的屏幕截图,它具有中间行距(因此显示质量)。

发布于 2014-04-01 13:05:31
对于声音播放,它使用pygame.midi。注意,pygame.midi.get_default_output_id()方法不能很好地工作。因此,您可以尝试将行o=Output(get_default_output_id())更改为o=Output(1)、o=Output(2)等。通常正确的值在0到5之间。
c=input()
s='C D EF G A B'.index(c[0])+{'#':1,'b':-1,'':0}[c[1:-1]]
m='0mM+'.index(c[-1])
t=s+3+m//2
R=[list(x)for x in['┌─'+'─┬─'*13+'─┐']+['│'+' │'*14]*5+['└─'+'─┴─'*13+'─┘']]
i=3
for d in[3,6,3,3,6]*2:q=slice(i-1,i+2);R[0][q]='┬─┬';R[1][q]=R[2][q]=R[3][q]='│ │';R[4][q]='└┬┘';i+=d
X=[2]+[1,2,1,2,3,1,2,1,2,1,2,3]*2
from pygame.midi import*
init()
o=Output(get_default_output_id())
for s in[s,t,t+3+m%2]:R[[5,3][s%12 in[1,3,6,8,10]]][sum(X[:s+1])]='o';o.note_on(s+60,127,1)
for r in R:print(''.join(r))goooolf> python chords2.py
CM
┌─┬─┬┬─┬─┬─┬─┬┬─┬┬─┬─┬─┬─┬┬─┬─┬─┬─┬┬─┬┬─┬─┐
│ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │
│ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │
│ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │
│ └┬┘└┬┘ │ └┬┘└┬┘└┬┘ │ └┬┘└┬┘ │ └┬┘└┬┘└┬┘ │
│ o│ │ o│ │ o│ │ │ │ │ │ │ │ │ │
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
goooolf> python chords2.py
Cm
┌─┬─┬┬─┬─┬─┬─┬┬─┬┬─┬─┬─┬─┬┬─┬─┬─┬─┬┬─┬┬─┬─┐
│ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │
│ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │
│ │ ││o│ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │
│ └┬┘└┬┘ │ └┬┘└┬┘└┬┘ │ └┬┘└┬┘ │ └┬┘└┬┘└┬┘ │
│ o│ │ │ │ o│ │ │ │ │ │ │ │ │ │
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
goooolf> python chords2.py
Dm
┌─┬─┬┬─┬─┬─┬─┬┬─┬┬─┬─┬─┬─┬┬─┬─┬─┬─┬┬─┬┬─┬─┐
│ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │
│ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │
│ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │
│ └┬┘└┬┘ │ └┬┘└┬┘└┬┘ │ └┬┘└┬┘ │ └┬┘└┬┘└┬┘ │
│ │ o│ │ o│ │ o│ │ │ │ │ │ │ │ │
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
goooolf> python chords2.py
D+
┌─┬─┬┬─┬─┬─┬─┬┬─┬┬─┬─┬─┬─┬┬─┬─┬─┬─┬┬─┬┬─┬─┐
│ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │
│ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │
│ │ ││ │ │ │o││ ││o│ │ │ ││ │ │ │ ││ ││ │ │
│ └┬┘└┬┘ │ └┬┘└┬┘└┬┘ │ └┬┘└┬┘ │ └┬┘└┬┘└┬┘ │
│ │ o│ │ │ │ │ │ │ │ │ │ │ │ │
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
G+
┌─┬─┬┬─┬─┬─┬─┬┬─┬┬─┬─┬─┬─┬┬─┬─┬─┬─┬┬─┬┬─┬─┐
│ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │
│ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │
│ │ ││ │ │ │ ││ ││ │ │ │ ││o│ │ │ ││ ││ │ │
│ └┬┘└┬┘ │ └┬┘└┬┘└┬┘ │ └┬┘└┬┘ │ └┬┘└┬┘└┬┘ │
│ │ │ │ │ o│ │ o│ │ │ │ │ │ │ │
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
goooolf> python chords2.py
Am
┌─┬─┬┬─┬─┬─┬─┬┬─┬┬─┬─┬─┬─┬┬─┬─┬─┬─┬┬─┬┬─┬─┐
│ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │
│ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │
│ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │
│ └┬┘└┬┘ │ └┬┘└┬┘└┬┘ │ └┬┘└┬┘ │ └┬┘└┬┘└┬┘ │
│ │ │ │ │ │ o│ │ o│ │ o│ │ │ │ │
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
goooolf> python chords2.py
C#0
┌─┬─┬┬─┬─┬─┬─┬┬─┬┬─┬─┬─┬─┬┬─┬─┬─┬─┬┬─┬┬─┬─┐
│ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │
│ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │
│ │o││ │ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │
│ └┬┘└┬┘ │ └┬┘└┬┘└┬┘ │ └┬┘└┬┘ │ └┬┘└┬┘└┬┘ │
│ │ │ o│ │ o│ │ │ │ │ │ │ │ │ │
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
goooolf> python chords2.py
EbM
┌─┬─┬┬─┬─┬─┬─┬┬─┬┬─┬─┬─┬─┬┬─┬─┬─┬─┬┬─┬┬─┬─┐
│ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │
│ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │
│ │ ││o│ │ │ ││ ││o│ │ │ ││ │ │ │ ││ ││ │ │
│ └┬┘└┬┘ │ └┬┘└┬┘└┬┘ │ └┬┘└┬┘ │ └┬┘└┬┘└┬┘ │
│ │ │ │ │ o│ │ │ │ │ │ │ │ │ │
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘https://codegolf.stackexchange.com/questions/24816
复制相似问题