이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공자에서 실행할 수 있는 명령 미지입니다.
프로그램:
이름
midge - 음악의 텍스트 설명에서 MIDI 파일 생성
개요
작은 곤충 [옵션] [파일 이름]
기술
작은 곤충 음악에 대한 텍스트 설명으로부터 유형 1 MIDI 파일을 생성합니다. 작은 곤충 그것을 가져가다
stdin에서 입력하지 않는 한 파일 이름 이 지정됩니다.
옵션
-h or --도움
도움말 텍스트를 표시합니다.
--번역 or --보증 또는 --about
버전 및 라이센스 정보를 표시합니다.
-v or --말 수가 많은
자세한 출력을 stdout에 인쇄합니다.
-d or -디버그
디버깅 출력을 stdout에 인쇄합니다(자세한 정보 표시 모드가 자동으로 설정됩니다).
-q or --조용한
조용함. 표준출력 없음.
-o 파일 or --아웃파일 파일
미디 출력 파일. 그렇지 않으면 a.out.mid로
-c or --확인하다
입력만 체크하고, MIDI 출력은 없습니다.
-u or --풀기-루프
구문 분석하기 전에 모든 반복 블록을 펼치고 펼쳐진 소스 코드를 저장합니다.
새 파일(*.long.mg)입니다. 필요한 경우 자동으로 설정됩니다.
-U or --펼치기-저장 안 함
펼쳐진 소스를 파일에 저장하지 마세요.
-R or --재설정 없음
트랙 시작 부분에 '모든 컨트롤러 재설정' 이벤트를 삽입하지 마세요.
-t BPM or --속도 BPM
템포를 설정하세요 BPM 분당 박동수는 입력 파일에 설정된 값을 무시합니다.
-b 단계 or --굽힘-단계 단계
간단한 벤드 구문에 대해 4분음표당 단계 수를 설정합니다.
--위험한
Safe.pm을 사용하여 Perl 코드를 실행하지 마십시오. %평가됨 블록.
-s 번호 or --씨앗 번호
번호 난수 생성기의 시드로 사용합니다.
-S [규모 [뿌리]] or --쇼스케일 [규모 [뿌리]]
메모를 나열하세요 규모 ~부터 시작 뿌리. 면 뿌리 생략되면 c4가 사용됩니다. 규모 is
생략된 경우, 지원되는 스케일 목록이 표시됩니다.
-I 통로 or --포함하다 통로
추가 통로 경로를 포함합니다. 여러 번 지정하거나 통로 목록이 될 수 있습니다
콜론이나 쉼표로 구분합니다.
입력 언어
E 음계를 연주하는 샘플 소스 파일입니다.
================시작 파일=======================
# 이 줄은 주석입니다
@머리 { # @head 섹션은 정확히 1개 있어야 합니다.
# 박자표 설정
$time_sig 4/4
# BPM으로 템포 설정
$템포 120
} # @head 섹션의 끝
@몸 { # @body 섹션은 정확히 1개 있어야 합니다.
# 채널 1에서 음악 트랙을 시작합니다
# 여러 트랙이 동일한 채널을 사용할 수 있습니다
@채널 삼 {
# 패치를 일렉트릭 베이스로 설정
$패치 34
# 참고사항. 설명은 아래를 참조하세요.
/l4/e3 # XNUMX옥타브의 XNUMX분음표 e
f+ # f 샤프 같은 옥타브 같은 길이
# `를 사용하세요-'평평한
g+ ab # 나머지 음표
c+4 d+ e # c에서 옥타브 변화
} # 트랙 끝
} # @body 섹션의 끝
=========================파일 끝=====================
더 많은 예는 보관소의 examples/ 디렉토리에 포함되어 있습니다.
다음에서, 는 필수 매개변수이고 [name]은 선택 매개변수입니다.
노트.
메모의 형식은 다음과 같습니다. [/옵션/]<name>[+|-][옥타브]
The /옵션/ 섹션에는 다음 내용이 포함될 수 있습니다.
l[분자:]
음표의 길이를 설정합니다(분자 또는 1)을 로 나누면 분모. 즉, l4 = XNUMX분의 XNUMX
음표, l1 = 온음표, l3:4 = 3/4 음표(3분음표 XNUMX개 묶음). 대문자 `L' 아마도
대신 `1'과 구별하는 데 사용됩니다.
r
음표를 반복할 횟수를 설정합니다. 예를 들어
/l8r16 /
음표의 길이를 1/8로 만들고 음표를 16번 반복합니다.
a
노트의 음표를 속도(공격)에 맞춰 설정합니다.
d
노트의 노트 속도를 감소시킵니다(감쇠)
z[+|-] [%]
노트를 오프셋합니다 번호 미디 클릭. 양수 값은 음을 늦게 재생하고 음수 값은 음을 늦게 재생합니다.
가치는 일찍 재생됩니다. 번호 뒤에 `%´ 문자는 백분율로 간주됩니다.
현재 음표 길이의 오프셋 값은 다음과 같습니다. 지원 이후의 지폐에 의해 상속됨.
Z[+|-] [%]
위와 같이 `z´ 옵션이 있지만 임의의 값이 사용됩니다. 번호 부정적이거나 긍정적이다
(더하기 기호 필수), 0과 사이의 값 번호 사용됩니다. 표시가 없으면
플러스와 마이너스 사이의 값 번호 사용.
오프셋 옵션은 작동하지 않습니다. r반복 노트 옵션이 있지만 동일한 효과를 얻을 수 있습니다.
를 사용하여 달성됨 %반복하다 블록.
음표는 쉼표가 앞에 붙지 않는 한 뒤로 오프셋될 수 없습니다(즉, 일찍 연주될 수 없습니다).
이 문제를 해결하기 위해 다음을 추가했습니다. $단축하다 키워드는 아래에 설명되어 있습니다. 또한 참조하세요. $unquantise.
name 는 노트의 이름입니다. 예: [ag] 필수.
+ 날카로운.
- 플랫.
옥타브 미디 옥타브는 [1-11]입니다. 대부분의 미디 소프트웨어는 가장 낮은 음역에 0을 사용하지만
옥타브의 경우 일관성을 위해 MIDI 채널과 악기 이름을 1로 사용했습니다.
둘 다 1부터 계산됩니다.
지정하지 않으면 길이, 옥타브, 공격 및 감쇠는 이전에서 상속됩니다.
노트.
드럼 트랙에서는 음표 이름 대신 별칭을 사용할 수 있습니다. 예를 들어,
` 대신 하이햇을 엽니다.에프+3'를 사용할 수 있습니다hh_o'. 전체 목록은 README.drums를 참조하세요.
별칭.
휴식.
나머지는 `로 표기합니다.r', 와 함께 /옵션/ 노트와 동일하지만 다음만 있습니다.
길이 및 반복 옵션이 사용되었습니다. 길이 값은 음표에서 쉼표로, 쉼표에서 음표로 상속됩니다.
반대로
바.
파이프 기호(`|')는 막대를 나타내는 데 사용할 수 있습니다. 막대의 길이는 확인되지 않습니다.
이는 소스 파일을 더 읽기 쉽게 하기 위한 것입니다. 막대에는 다음을 추가하여 번호를 매길 수 있습니다.
숫자를 파이프 기호로 바꿉니다. 밑줄로 구분할 수 있지만 공백으로 구분할 수는 없습니다.
간단한 막대 예: | cdef | gabc
번호가 매겨진 막대 예: |1 cdef |2 gabc
|_1 cdef |_2 gabc
막대의 일관성은 다음을 사용하여 확인할 수 있습니다. $bar_strict 키워드 @머리
섹션. 모든 트랙에 동일한 수의 막대가 없는 경우 오류 또는 경고가 발생합니다.
각 트랙에 번호가 매겨진 막대가 동시에 나타납니다.
$bar_strict 경고 # 일관성 없는 막대에 대한 경고 메시지를 인쇄합니다.
$bar_strict 오류 # 일관되지 않은 막대에 대한 오류 메시지와 함께 종료합니다.
최상위 키워드.
@머리 { 콘텐츠 }
정확히 하나만 있어야 합니다 @머리 섹션. 설명은 아래를 참조하세요. 함유량.
@몸 { 콘텐츠 }
정확히 하나만 있어야 합니다 @몸 섹션. 설명은 아래를 참조하세요. 함유량.
키워드 @머리 안내
$time_sig
The b 값은 4, 8, 16, 32, 64 중 하나여야 합니다.
$템포
t 템포는 BPM입니다.
모두 $time_sig 그리고 $템포 @channel 블록(아래 설명) 내에서도 허용됩니다.
$제목
노래의 제목을 설정합니다 제목. 면 제목 공백이 포함되어 있으면 double 안에 있어야 합니다.
인용 부호.
해상도
4분음표당 MIDI 클릭 수를 설정합니다. n. 기본값은 96입니다.
키워드 @몸 안내
%정의하다 { 메모 }
시퀀스를 정의합니다 노트, 그것을 할당 name 음악 트랙에서 회상될 수 있습니다. 정의됨
시퀀스는 다음을 포함하여 사용됩니다.
~[/바꾸어 놓다/]
시퀀스를 포함하기 위해 트랙 내에 name, 에 의해 전치됨 바꾸어 놓다 반음. 이전에는
정의된 시퀀스는 이후에 사용될 수 있습니다. %정의하다 블록. 예를 들어:
%정의하다 a_riff { a3 a c4 d }
%정의하다 d_riff { d4 dfg }
%정의하다 메인리프 { ~a_riff ~디리프 }
첫 번째 리프를 전치하여 동일한 결과를 얻을 수 있지만
둘째:
%정의하다 a_riff { a3 a c4 d }
%정의하다 메인리프 { ~a_riff ~a_riff/ 5 / }
밝히다 블록에는 반복 블록, 벤드 블록, 볼륨/패치/리버브 등도 포함될 수 있습니다.
@채널 [이름] { 내용 }
채널에서 MIDI 트랙을 시작합니다. 번호선택적으로 악기 이름을 설정합니다. name. 면
name 공백이 포함된 경우 큰따옴표로 묶어야 합니다.
함유량 음표, 휴지, 이전에 정의된 시퀀스 및 다음을 포함할 수 있습니다.
키워드 :
$time_sig
노래의 박자표를 변경합니다(모든 트랙에 영향을 미칩니다). b 값은 다음 중 하나여야 합니다.
4, 8, 16, 32, 64.
$템포
노래의 템포를 변경합니다(모든 트랙에 영향을 미칩니다). t BPM으로 되어 있습니다.
$패치 [[은행_LSB,]은행_MSB,]
이 채널의 패치 번호를 설정하세요 번호 or name. 어디에 번호 1에서 128까지이고
name README.patches에 정의된 별칭입니다. 선택적으로 은행 번호를 선택하세요. 은행_MSB.
선택적으로 은행 LSB 번호를 선택하세요 은행_LSB (외부 MIDI 키보드에 사용됨). 각 값
1~128 범위에 있어야 합니다.
$은행 [LSB,]
은행번호를 선택하세요 MSB. 선택적으로 LSB 값을 설정합니다(외부 MIDI에 사용됨)
키보드)로 LSB두 값 모두 1~128 범위에 있어야 합니다.
$길이 [N:]
기본 음표 길이를 설정합니다. 값은 음표 옵션과 동일한 형식으로 지정됩니다.
$단축하다
각 음표를 다음과 같이 줄이세요. 번호 MIDI 클릭을 사용하면 음표를 뒤로 오프셋할 수 있는 공간이 생깁니다.
$unquantise [+|-] [%]
각 음표에 무작위 오프셋을 적용합니다. 번호 와 같은 의미를 갖는다. Z 메모 옵션
위.
옥타브
기본 옥타브를 다음으로 설정하세요 번호
볼륨
트랙 볼륨을 설정하세요 번호
공격
노트의 공격을 설정하세요 번호
$부패
노트의 감쇠를 설정하세요 번호
$리버브
리버브 깊이를 설정하세요 번호 현재 채널에서.
$합창
코러스 깊이를 설정하세요 번호 현재 채널에서.
$팬
팬 값을 설정하세요 번호. 0이 왼쪽이고 127이 오른쪽입니다.
볼륨, 어택, 디케이, 리버브, 코러스, 팬 값은 0~127 사이의 정수여야 합니다.
범위로 지정할 수도 있습니다(예: `8-64'), 이 경우 내부의 난수 값
범위가 사용됩니다.
%팬_올 { 메모 값 ... }
이후의 각 인스턴스에 대한 팬 값을 설정합니다. 주의 현재 트랙에서. 이것은
주로 드럼 키트를 패닝하는 데 사용되지만 다른 트랙에서도 사용할 수 있습니다. 가치 될 수 있습니다
정수 또는 범위(예: `8-64'). 다수의 주의 가치 쌍이 허용됩니다. 두 개의 음표가 있는 경우
서로 다른 pan_all 값이 동시에 재생되면 무슨 일이든 일어날 수 있습니다.
범위가 있는 채널의 모든 음표에 영향을 미치려면 `를 사용하세요.*' 또는 `어떤' 을위한 주의. 그만큼
/r4/이 옵션을 사용하면 노트 반복 방법이 작동하지 않지만 동일한 효과가 나타납니다.
반복 블록을 사용하여 달성할 수 있습니다.
$마커
마커 이벤트를 추가합니다. 본문 콘텐츠이기 때문에. 만약 본문 공백이 포함되어 있으면 따옴표로 묶어야 합니다.
큰따옴표 문자를 사용합니다.
%반복하다 { 메모 }
반복 노트 번호 시간. 노트 음표, 휴지, 미리 정의된 시퀀스 및 기타를 포함할 수 있습니다.
%반복하다 블록.
%만곡부 { 이벤트 ... }
연극 주의 그리고 피치 휠을 여러 가지 방법으로 이동합니다. events, 가지고 있는
다음 형식:
[N:] <+|->
어디에 n 그리고 d 노트 시작부터 또는 이전 이벤트부터의 시간을 지정합니다.
음표 길이와 동일한 형식이며 가치 음표를 구부릴 양은 (플러스)입니다.
또는 마이너스 기호가 필요합니다.) 기본 피치 휠 범위가 +/- 2 반음인 경우 값
32는 반음 XNUMX개에 해당합니다. 벤드 양은 상대적입니다. 최대
누적 굽힘 정도는 플러스 마이너스 64입니다.
예를 들면 다음과 같습니다.
%bend a3 { 4+32 4-32 2+0 }
3/1 음표의 경우 a4 음을 연주하고 1/4 음표의 경우 온음을 올린 다음 다시 a3으로 돌아갑니다.
1/2박자에 적용됩니다.
$bend_range
피치 휠 범위를 +/-로 변경합니다. 번호. 이것은 최대 굽힘을 위아래로 설정합니다.
4로 설정하면 64의 벤드 값은 4반음만큼 위로 벤드하고 -64는 4반음만큼 아래로 벤드합니다.
반음. 대부분의 MIDI 장치의 기본 범위는 2반음입니다.
$피치
피치 휠 값을 설정하세요 파. 이것은 별도의 메모와 함께 사용될 수 있습니다.
그리고 노트 오프 이벤트(아래 `동시 노트' 참조)를 사용하여 복잡한 벤딩을 생성합니다.
효과. 달리 %만곡부 위의 구문은 다음과 같습니다. 지원 피치 휠을 중립으로 재설정합니다
위치 (64)
다음 구문을 사용하면 더 간단한 피치 벤드를 만들 수 있습니다.
/l8/e4=>g4=>e4
이것은 선형 단계로 지속 시간 동안 e4에서 g4까지 굽어지고 다시 e4까지 굽어집니다.
16분 음표. 기본적으로 8분 음표 길이당 XNUMX단계가 있습니다(이 경우 XNUMX단계)
예)이지만 `-b' 명령줄 스위치를 사용하여 다른 값을 설정할 수 있습니다. 모든 숫자
노트를 사용할 수 있지만 첫 번째 노트에는 길이 값이 있어야 하며 각 노트에는 길이 값이 있어야 합니다.
옥타브 값을 갖습니다.
%선택하다 [시간] {가중치 항목 ...}
여기서 시간은 [n:] 형식의 길이 값입니다. 길이 옵션에서 사용되는 것과 동일
`l'은 생략되었습니다.
If 시간 지정되지 않음:
하나 선택 목 목록에서 각각 목 음표, 쉼표 또는 미리 정의된 리프가 될 수 있습니다.
각 항목에는 다음이 있습니다 가중치 선택될 가능성을 정의합니다. 예를 들어:
%선택 { 2 a3 4 c5 3 e4 1 g3 }
a3에 20%의 확률, c5에 40%, e4에 30%, g3에 10%의 확률을 부여합니다. 절대로 필요한 것 가중치를 갖습니다.
아래의 척도도 참조하세요.
if 시간 지정됨 :
여러 개를 선택하세요 목목록에서 최대 길이까지 시간. 만약 모든 목s가 너무 길어요
리프를 정확히 끝내다 시간나머지는 rest로 채워집니다. choose가 사용될 때
이런 식으로 각 음표나 쉼표에는 길이 값이 있어야 하며 사용된 사전 정의된 리프는 다음과 같아야 합니다.
고정된 길이를 갖습니다(즉, 첫 번째 음표에는 길이 값이 있어야 함)
전체 리프는 노트와 동일한 형식으로 선택 블록에 지정되어야 합니다.
예:
%define riff_1 { /l2/a3 /l4/b c4 } # 리프는 1마디 길이입니다.
%선택하다 4:1 { # 4개의 막대를 선택하세요
1 /l8/d4 3 /l8/e4 2 /l4/g4 1 /l1/~riff_1
}
If 시간 is 0 or - 그러면 Midge는 다음 형식의 블록을 찾습니다.
리듬 { n[:d] ... }
이는 음높이가 선택되는 일련의 음표 길이 값으로 간주됩니다.
목록. 다른 토큰이 전달되므로 특정 음표, 미리 정의된 리프를 삽입할 수 있습니다.
또는 나머지. 밑줄로 시작하는 블록의 모든 토큰은 전달됩니다.
밑줄이 제거되었습니다. 예시는 examples/tutorial/choose_scale.mg를 참조하세요.
노트/가중치 목록을 지정하는 또 다른 방법은 다음과 같습니다. 규모 예어:
규모 마이너 /l8/g4-6 [ 무게 ... ]
이것은 4옥타브에서 6옥타브(즉, g4에서 g6)까지의 G 마이너 음계를 선택합니다. 길이 값은
리듬 블록을 사용하는 경우에는 불필요합니다. -6 생략된 옥타브는 하나이다
익숙한.
가중치 블록은 음표 가중치를 순서대로 지정합니다. 생략하면 모든 가중치가 적용됩니다.
동일. 음표를 무시하려면 가중치 0을 사용하지만 절대로 필요한 것 각 음표에 가중치를 부여하다
블록이 존재하는지 여부.
The -S 스위치를 사용하면 음계의 음표나 지원되는 음계 목록을 표시할 수 있습니다.
%체인 {
시작
note1 [ 무게 음표 ... ]
...
리듬 [ 무게 길이 ... ] or 리듬 { 길이 ... } }
각 음표에 가중치가 있는 음표 목록이 있는 `체인' 구조를 정의합니다.
그것을 따르십시오. 시작점은 사용된 모든 음표에서 무작위로 선택되거나 지정됩니다.
전에, 스타트 키워드를 입력한 후 해당 목록에서 후속 노트를 선택합니다.
총 길이 시간.
The 리듬 키워드에는 두 가지 형태가 있습니다. 대괄호 `[]'를 사용하면 가중치가 있는 음표 목록이 표시됩니다.
길이를 정의할 수 있으며, 길이는 무작위로 선택됩니다. 중괄호 `{}'를 사용하면 목록이
길이 값은 순서대로(필요에 따라 반복) 사용될 수 있도록 정의될 수 있습니다.
리듬 블록을 한 번만 재생하고 설정하세요. 시간 에 0 or -. 이 경우 리듬
블록은 위에서 설명한 것과 같은 방식으로 구문 분석됩니다. %선택하다 시간이 0으로 설정되었습니다.
키워드는 시대 동의어로 사용될 수 있습니다 리듬.
The 스타트 키워드는 체인을 사용할 때 시작할 음표를 지정합니다. 스타트 is
생략하면 시작 음표는 무작위로 선택됩니다.
또 다른 방법은 노트를 정의하는 것입니다. 체인 블록은 내장된 저울 중 하나를 사용하는 것입니다. 그런 다음
가중치는 각 "from" 음표에 대한 행이 있는 행렬 형태로 지정됩니다(하나
음계의 각 음표에 대해) 그리고 각 "~까지" 음표에 대한 열이 있습니다. 이 형식의 예는 다음과 같습니다.
파일 examples/tutorial/chain_scale.mg에서 찾을 수 있습니다.
choose 또는 chain 블록을 사용하려면 파일을 unroll-loops 옵션으로 컴파일해야 합니다.
(선택 또는 체인 블록이 발견되면 자동으로 설정됩니다). 이 옵션은 다음을 저장합니다.
새 파일에 소스 코드를 풀어서 특히 좋은 출력을 생성하면
생성된 트랙을 잃지 않고 다른 변경을 가할 수 있는 정확한 사본입니다.
choose 및 chain 블록은 %define 내부 또는 다른 choose 또는 내부에 있을 수 없습니다.
체인 블록.
%평가됨 { Perl 코드 }
Perl 코드 블록을 실행하고 %eval 블록을 Perl에서 반환된 값으로 바꿉니다.
암호.
%평가됨 - { Perl 코드 }
반환 값을 읽지 않고 Perl 코드 블록을 실행합니다.
Perl 코드는 :base_core, :base_math 및 Safe 모듈이 있는 경우 이를 사용하여 실행됩니다.
:base_mem이 허용됩니다. Safe.pm을 사용할 수 없거나 더 많은 권한이 필요한 경우 --unsafe 옵션을 사용합니다.
이 옵션을 사용하면 Midge가 %eval 블록을 자체 Perl 프로세스에서 실행합니다.
소스의 어느 지점에서나 키워드가 허용됩니다.
%포함하다
다음 내용이 포함됩니다. 파일 마치 그 시점에 출처에 쓰여진 것처럼
파일. 해야 소스 파일에서 별도의 줄에 있어야 합니다.
동시 노트.
동시에 여러 음을 연주하는 가장 유연한 방법은 별도의 트랙을 사용하는 것입니다(사용 가능)
동일한 채널/패치)를 사용하거나, 별도의 노트 켜기 및 노트 끄기 이벤트를 사용할 수도 있습니다(아래 참조).
하지만 몇 가지 제약이 있지만 더 간단한 방법이 있습니다. 예를 들면 다음과 같습니다. ( c e g ) 재생됩니다
c, e, g 음이 동시에 나와 C 코드를 만듭니다. 모든 동시 음의 길이는
notes는 첫 번째와 동일합니다(자체 길이 값 또는 하나로 결정됨)
이전 note, rest 또는 $length 선언에서 상속됨.
이것을 이용해 코드를 만드는 한 가지 방법은 다음과 같습니다.
%정의하다 미성년자 { ( c e- g ) } # minor를 c-minor로 정의합니다.
%정의하다 주요한 { ( c e g ) } # major를 C-major로 정의합니다.
%정의하다 7 위 { ( c e g b- ) } # 7th를 c-7th로 정의합니다.
그런 다음 음악 트랙에서 다음을 사용할 수 있습니다.
$length 4 $octave 4 # 기본 길이와 옥타브 설정
~주요 # C장조를 연주하다
~마이너/9/ # A단조를 연주하다
~7일/5/ # f-7th를 연주하다
코드를 뜯어 연주하는 것처럼 들리게 하려면 적당히 켜기 키워드를 사용할 수 있습니다:
$스트럼 5
이렇게 하면 이후 코드의 각 음표 간 간격이 5개의 미디 클릭으로 설정됩니다.
한 트랙에 동시에 여러 노트의 복잡한 패턴을 생성하려면 노트를 분리하고 노트를
오프 이벤트를 사용할 수 있습니다. 이러한 이벤트는 일반 노트와 동일한 방식으로 지정되지만 +
note on과 a를 앞에 붙임 - 음표 끄기(note off)를 위해 추가됨. 길이 및 반복 옵션은 사용할 수 없습니다.
사용될 수 있습니다. 이 방법으로 입력된 음표의 길이는 쉼표나 기타 기호를 넣어 제어됩니다.
노트 켜짐과 노트 꺼짐 이벤트 사이의 노트. 예:
+c4 /l4/r +어 +g /l2/r -c -e -g
c4를 연주하고 유지하고 1/4 음표가 연주된 후 e4를 연주하고 유지하고 또 다른 1/4 음표가 연주된 후
그리고 g4를 누르고 1/2음표를 더 낸 후 세 음표 모두를 놓습니다.
튜플릿.
적절한 음표 길이를 선택하여 튜플렛을 만드는 것이 가능하지만,
보다 전통적인 방식으로 작성되어야 합니다. %tuplet 예어:
%tuplet n:d { 메모... }
재생 n 공간의 노트 d. 노트 @channel 블록에서 허용되는 모든 내용을 포함할 수 있습니다.
그러면 음표 값이 자동으로 변경되어 튜플렛이 생성됩니다. 예:
%tuplet 5:3 { /l8/e4 fgfe }
3분음표 간격으로 8분음표 5개를 연주합니다. 튜플렛은 원하는 깊이로 중첩할 수 있습니다. 참조
예제는 examples/tutorial/tuplet.mg에서 확인하세요. Midge는 지원 음악의 길이를 확인하세요
튜플릿 블록 내부가 맞습니다.
열쇠.
MIDI 파일을 악보 편집기로 가져오려면 키를 설정해야 합니다.
이 작업은 다음을 통해 수행됩니다.
$키 [+|-][m]
어디에 name 는 ag이고, +|-는 샵과 플랫이고, m은 마이너입니다. 전체 곡이
동일한 키를 @head 섹션에 설정할 수 있으며 그렇지 않으면 어디에나 나타날 수 있습니다.
@채널 섹션이며 모든 트랙에 영향을 미칩니다.
일반적인 악보 표기법에 익숙하고 음표를 자동으로 날카롭게 또는 평평하게 만들고 싶은 경우
키에 따라 다음을 사용합니다. $키_엄격 대신 키워드를 사용하세요. 자연스러운 노트를 얻으려면 =
기호, 예를 들어 G에서, f= f 자연스러운 연주. $키_엄격 키워드는 다음에서만 사용할 수 있습니다.
@head 섹션. 키는 여전히 일반 키를 사용하여 변경할 수 있습니다. $키 예어.
$ctrl
컨트롤러 번호 설정 NUM 에 파.
$rpn [숫자-대문자] [,val-lsb]
rpn 컨트롤러 설정 NUM 에 파
$nrpn [숫자-대문자] [,val-lsb]
nrpn 컨트롤러 설정 NUM 에 파
%말 그대로 { 바이트발행... }
바이트 문자열을 MIDI 파일에 삽입합니다. 각 바이트발 0진수(255-XNUMX)로 표시될 수 있습니다.
또는 0진수(00x0-XNUMXxFF). 키워드 바이트 대신에 사용될 수 있습니다 축 어적으로.
$인쇄
인쇄 본문 stdout으로. 만약 본문 공백이 포함되어 있으면 큰따옴표( )를 사용하여 인용해야 합니다.").
onworks.net 서비스를 사용하여 온라인으로 미지 사용