입력
3 음 코드의 상징 ( 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 참조 )
규칙
결과는 명령 행 프로그램 또는 스크립트 여야합니다.
음악 표기법 표준을 따르는 한 입력 및 출력은 어떤 형태로든 가능합니다.
기타 또는 피아노 표현은 3 개 또는 3 개의 필수 음표를 포함하고 다른 것이없는 경우에만 유효한 것으로 간주됩니다. 같은 음이 코드에 여러 번 나타날 수 있습니다.
사운드 생성을 제외하고 외부 라이브러리는 허용되지 않습니다 (이 경우
#include
,import
... 지시문은 문자 수에 추가되지 않습니다).이것은 코드 골프이며, 가장 짧은 코드가 승리합니다!
약간의 음악 이론 ...
현대 서양 음색 음악에서 모든 옥타브는 12 개의 연속 음으로 만들어지며 종종 다음과 같이 지적합니다.
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, 때로는 더 많은) 음표로 구성됩니다. 예를 들어, 3 음 코드 에는 3 개의 다른 음이 포함되어 있으며 7 번째 코드 에는 4 개의 다른 음이 있습니다.
3 개의 3 가지 코드 를 다음과 같이 정의 해 봅시다 :
메이저 트라이어드 : 코드의 근음 (이 질문에서 입력으로 주어진 음표), 근음의 주요 3 분의 1 (근음보다 4 반음 높음) 및 근음의 5 분의 1 (근음보다 7 반음 높음)을 포함합니다 ); 이것은 0-4-7로 상징 될 수있다
작은 트라이어드 ( 기호 0-3-7)
증강 트라이어드 , 상징화 된 0-4-8
축소 된 트라이어드 , 상징화 된 0-3-6
당신이 만들고 싶어한다면, 예를 들어, C 메이저 3 화음 언급을, C
, CM
, Cmaj
, 세 가지가주의해야합니다 :
- 0 : 루트 ,이 경우
C
- 4 : 마이너 3 , 루트보다 4 반음 높음; 그건
E
- 7 : 루트보다 높은 5 분 의 7 반음 :
G
이것은 무엇인가 0-4-7
, 0-3-7
, 0-4-8
및 0-3-6
표기법이 평균 이상 사용! 일곱 번째 화음에는 다음 패턴을 사용하십시오.
그게 오늘이야! 이제 놀라운 코드로 놀라게 해주세요. 궁금한 점이 있으면 아래에 의견을 추가하십시오.
Db+
입니다 Db F A
더 D # 또는 G 거기에가 없습니다. 그것은 아마도 필요한 것보다 조금 더 이론 일 것입니다. 공식은 중요한 부분이었습니다. 위키 백과에 나열된 일곱 번째 코드 중 여덟 개를 모두 포함하려면 입력을 지정해야합니다. 피아노와 기타의 아스키 아트 (Ascii-Art) 출력이 유연하다고 가정합니다.