EnglishFrenchSpanish

เรียกใช้เซิร์ฟเวอร์ | Ubuntu > | Fedora > |


ไอคอน Fav ของ OnWorks

มิดจ์ - ออนไลน์ในคลาวด์

เรียกใช้ midge ในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่ง midge ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


midge - สร้างไฟล์ midi จากคำอธิบายข้อความของเพลง

เรื่องย่อ


สัตว์เล็ก ๆ [ตัวเลือก] [ชื่อไฟล์]

DESCRIPTION


สัตว์เล็ก ๆ สร้างไฟล์ midi ประเภท 1 จากคำอธิบายข้อความของเพลง สัตว์เล็ก ๆ เอามัน
อินพุตจาก stdin เว้นแต่ ชื่อไฟล์ ระบุไว้

OPTIONS


-h or --ช่วยด้วย

แสดงข้อความช่วยเหลือ

--รุ่น or --รับประกัน หรือ --เกี่ยวกับ

แสดงข้อมูลเวอร์ชันและใบอนุญาต

-v or --verbose

พิมพ์เอาต์พุตแบบละเอียดไปที่ stdout

-d or --debug

พิมพ์เอาต์พุตการดีบักไปที่ stdout (ตั้งค่าโหมด verbose โดยอัตโนมัติ)

-q or --เงียบ

เงียบ. ไม่มี stdout

-o ไฟล์ or --outfile ไฟล์

Midi ส่งออกไปยัง ไฟล์. มิฉะนั้นให้ a.out.mid

-c or --ตรวจสอบ

ตรวจสอบอินพุตเท่านั้น ไม่มีเอาต์พุต midi

-u or --unroll-ลูป

คลายบล็อคการทำซ้ำทั้งหมดก่อนที่จะแยกวิเคราะห์และบันทึกซอร์สโค้ดที่คลายแล้วไปที่a
ไฟล์ใหม่ (*.long.mg) ควรตั้งค่าให้อัตโนมัติหากจำเป็น

-U or --no-unroll-save

อย่าบันทึกแหล่งที่มาที่คลี่คลายลงในไฟล์

-R or --no-รีเซ็ต

อย่าแทรกเหตุการณ์ `รีเซ็ตตัวควบคุมทั้งหมด' ที่จุดเริ่มต้นของแทร็ก

-t ครั้งต่อนาที or --จังหวะ ครั้งต่อนาที

ตั้งจังหวะเป็น ครั้งต่อนาที บีตต่อนาที แทนที่ค่าที่ตั้งไว้ในไฟล์อินพุต

-b ทำตามขั้นตอน or --โค้งขั้นตอน ทำตามขั้นตอน

กำหนดจำนวนขั้นตอนต่อโน้ตไตรมาสสำหรับไวยากรณ์การโค้งงออย่างง่าย

--ไม่ปลอดภัย

อย่าใช้ Safe.pm เพื่อเรียกใช้รหัส Perl จาก %eval บล็อก

-s จำนวน or --เมล็ด จำนวน

ใช้ จำนวน เป็นเมล็ดพันธุ์สำหรับเครื่องกำเนิดตัวเลขสุ่ม

-S [มาตราส่วน [ราก]] or --show-ขนาด [มาตราส่วน [ราก]]

รายการบันทึกใน ขนาด เริ่มจาก ราก. ถ้า ราก ละไว้ใช้ c4 ถ้า ขนาด is
ละเว้น รายการเครื่องชั่งที่รองรับจะปรากฏขึ้น

-I เส้นทาง or --รวม เส้นทาง

เพิ่ม เส้นทาง เพื่อรวมเส้นทาง สามารถระบุได้หลายครั้งหรือ เส้นทาง สามารถเป็นรายการ
คั่นด้วยเครื่องหมายทวิภาคหรือจุลภาค

INPUT ภาษา


ตัวอย่างไฟล์ต้นฉบับเพื่อเล่นสเกล E.

================ เริ่มไฟล์======================

#ไลน์นี้คือคอมเม้น

@ศีรษะ { # ต้องมี @head ส่วน 1 ตัว

# ตั้งเวลาลายเซ็น

$time_sig 4 / 4

# ตั้งจังหวะใน BPM

$จังหวะ 120

} # สิ้นสุด @ ส่วนหัว

@ร่างกาย { # ต้องมี @body ส่วนเดียว

#เปิดเพลงทางช่อง1

#หลายแทร็กใช้ช่องเดียวกันได้

@ช่อง 1 {

#ตั้งแพตช์เป็นเบสไฟฟ้า

$แพทช์ 34

#หมายเหตุ. ดูด้านล่างสำหรับคำอธิบาย

/l4/e3 # โน้ตไตรมาส e ในอ็อกเทฟที่สาม

f+ #f คม อ็อกเทฟ เท่ากัน ยาวเท่ากัน

# ใช้ `-' สำหรับแฟลต

g+ ab # บันทึกที่เหลือ

c+4 d+ e # อ็อกเทฟเปลี่ยนแปลงที่ c

} # สิ้นสุดแทร็ก

} # สิ้นสุด @body ส่วน

======================== จบไฟล์====================

ตัวอย่างเพิ่มเติมรวมอยู่ในไดเร็กทอรีตัวอย่าง/ ของไฟล์เก็บถาวร

ดังต่อไปนี้ เป็นพารามิเตอร์ที่จำเป็น และ [name] เป็นพารามิเตอร์ทางเลือก

หมายเหตุ

รูปแบบของบันทึกย่อคือ: [/ตัวเลือก/]<ชื่อ>[+|-][ระดับแปดเสียง]

พื้นที่ปลูก /ตัวเลือก/ ส่วนสามารถมีดังต่อไปนี้:

l[เศษ:]

กำหนดความยาวของโน้ตเป็น (เศษ หรือหนึ่ง) หารด้วย ตัวหาร. เช่น. l4 = ไตรมาส
โน้ต l1 = โน้ตทั้งหมด l3:4 = 3/4 โน้ต (ผูกโน้ต 3 ไตรมาส) ตัวพิมพ์ใหญ่ `L' อาจจะ
ใช้แทนเพื่อแยกความแตกต่างจาก `1'

r

กำหนดจำนวนครั้งที่จะเล่นโน้ตซ้ำ ตัวอย่างเช่น

/l8r16 /

ทำให้บันทึกระยะเวลา 1/8 และบันทึกซ้ำ 16 ครั้ง

a

ตั้งค่าบันทึกย่อเกี่ยวกับความเร็ว (โจมตี)

d

ตั้งค่าความเร็วของโน้ตให้ปิด (สลายตัว)

z[+|-] [%]

ชดเชยโน้ตโดย จำนวน มิดี้คลิก ค่าบวกเล่นโน้ตช้าและลบ
ค่าเล่นในช่วงต้น ถ้า จำนวน ตามด้วย `%´ อักขระมันถูกนำมาเป็นเปอร์เซ็นต์
ของความยาวของบันทึกย่อปัจจุบัน ค่าออฟเซ็ตคือ ไม่ สืบทอดมาโดยบันทึกต่อมา

Z[+|-] [%]

ตามที่กล่าวข้างต้น `z´ แต่ใช้ค่าสุ่ม ถ้า จำนวน เป็นลบหรือบวก
(เครื่องหมายบวก จำเป็นต้องใช้) ค่าระหว่างศูนย์และ จำนวน ถูกนำมาใช้. หากไม่มีเครื่องหมาย a
ค่าระหว่างบวกและลบ จำนวน ถูกนำมาใช้.

ตัวเลือกออฟเซ็ตจะไม่ทำงานกับ rตัวเลือกบันทึก epeat แต่เอฟเฟกต์เหมือนกันได้
ทำได้โดยใช้ a %ทำซ้ำ กลุ่ม

โน้ตไม่สามารถหักล้างย้อนหลังได้ (เช่น เล่นก่อนกำหนด) เว้นแต่จะมีการพักนำหน้า ถึง
แก้ไขปัญหานี้ฉันได้เพิ่ม $ย่อ คีย์เวิร์ดที่อธิบายไว้ด้านล่าง ดูสิ่งนี้ด้วย $unquantise.

ชื่อ เป็นชื่อของบันทึกเช่น [เอจี] จำเป็นต้องใช้.

+ คม

- แบน.

ระดับแปดเสียง คือ midi อ็อกเทฟเช่น [1-11]. แม้ว่าซอฟต์แวร์ midi ส่วนใหญ่จะใช้ 0 สำหรับค่าต่ำสุด
อ็อกเทฟฉันใช้ 1 เพื่อให้สอดคล้องกับช่อง midi และชื่อเครื่องดนตรีซึ่ง
ทั้งสองนับจาก 1

หากไม่ระบุ ความยาว อ็อกเทฟ โจมตี และสลาย จะสืบทอดมาจากตัวที่แล้ว
บันทึก.

ในแทร็กกลอง แทนที่จะใช้ชื่อโน้ต สามารถใช้นามแฝงได้ ตัวอย่างเช่น เพื่อให้ได้ an
เปิด hi hat แทน `f+3' คุณสามารถใช้ `hh_o'. ดู README.drums สำหรับรายการทั้งหมดของ
นามแฝง

พักผ่อน

ส่วนที่เหลือเขียนเป็นโน้ต `r', กับ /ตัวเลือก/ เช่นเดียวกับบันทึก แต่มีเพียง
ใช้ตัวเลือกความยาวและทำซ้ำ ค่าความยาวจะสืบทอดจากบันทึกไปยังส่วนที่เหลือและรอง
ในทางกลับกัน

บาร์

สัญลักษณ์ไปป์ (`|') สามารถใช้เพื่อแสดงแถบได้ ไม่ได้ตรวจสอบความยาวของแท่ง --
นี่เป็นเพียงเพื่อให้ไฟล์ต้นฉบับอ่านง่ายขึ้นเท่านั้น ขีดเลขได้ด้วยการเติม a
หมายเลขสัญลักษณ์ท่อ อาจคั่นด้วยขีดล่างแต่อย่าเว้นวรรค

ตัวอย่างแถบอย่างง่าย: | cdef | gabc

ตัวอย่างแถบตัวเลข: |1 cdef |2 gabc

|_1 cdef |_2 gabc

สามารถตรวจสอบความสอดคล้องของแท่งโดยใช้ปุ่ม $bar_strict คำสำคัญใน @ศีรษะ
ส่วน. สิ่งนี้ทำให้เกิดข้อผิดพลาดหรือคำเตือนเว้นแต่แทร็กทั้งหมดมีจำนวนบาร์และ .เท่ากัน
แถบตัวเลขปรากฏขึ้นพร้อมกันในแต่ละแทร็ก:

$bar_strict เตือน # พิมพ์ข้อความเตือนสำหรับแถบที่ไม่สอดคล้องกัน

$bar_strict ความผิดพลาด # ออกพร้อมข้อความแสดงข้อผิดพลาดสำหรับแถบที่ไม่สอดคล้องกัน

คำหลักระดับบนสุด

@ศีรษะ { เนื้อหา }

ต้องมีอย่างใดอย่างหนึ่ง @ศีรษะ ส่วน. ดูด้านล่างสำหรับคำอธิบายของ เนื้อหา.

@ร่างกาย { เนื้อหา }

ต้องมีอย่างใดอย่างหนึ่ง @ร่างกาย ส่วน. ดูด้านล่างสำหรับคำอธิบายของ เนื้อหา.

คำสำคัญใน @ศีรษะ มาตรา.

$time_sig

พื้นที่ปลูก b ค่าต้องเป็นหนึ่งใน 4, 8, 16, 32, 64

$จังหวะ

t คือจังหวะใน BPM

ทั้งสอง $time_sig และ $จังหวะ ได้รับอนุญาตภายในบล็อก @channel (อธิบายด้านล่าง)

$ชื่อ

ตั้งชื่อเพลงเป็น ชื่อเรื่อง. ถ้า ชื่อเรื่อง มีช่องว่างจะต้องอยู่ภายใน double
คำพูด

$ความละเอียด

ตั้งค่าจำนวนคลิก midi ต่อโน้ตไตรมาสเป็น n. ค่าเริ่มต้นคือ 96

คำสำคัญใน @ร่างกาย มาตรา.

%กำหนด { หมายเหตุ }

กำหนดลำดับของ บันทึก, กำหนดให้ ชื่อ ที่จะนำมาเล่าสู่กันฟังในบทเพลง กำหนด
ลำดับถูกใช้โดยรวมถึง:

~[/ย้าย/]

ภายในแทร็กเพื่อรวมซีเควนซ์ ชื่อ, ย้ายโดย ไขว้ ครึ่งเสียง ก่อนหน้านี้
ลำดับที่กำหนดไว้สามารถใช้ในลำดับต่อไปได้ %กำหนด บล็อก ตัวอย่างเช่น:

%กำหนด a_riff { a3 a c4 d }

%กำหนด d_riff { d4 dfg }

%กำหนด main_riff { ~a_riff ~d_riff }

แม้ว่าเราจะสามารถบรรลุผลเช่นเดียวกันโดยการแปลง riff แรกเพื่อสร้าง
วินาที:

%กำหนด a_riff { a3 a c4 d }

%กำหนด main_riff { ~a_riff ~a_riff/ 5 / }

กำหนด บล็อกอาจมีบล็อกซ้ำ บล็อกโค้ง และ $volume/patch/reverb เป็นต้น

@ช่อง [ชื่อ] { เนื้อหา }

เริ่มเพลง midi บน channel จำนวน, เลือกตั้งชื่อเครื่องมือเป็น ชื่อ. ถ้า
ชื่อ มีช่องว่างจะต้องอยู่ภายในเครื่องหมายคำพูดคู่

เนื้อหา สามารถรวมบันทึก พัก ลำดับที่กำหนดไว้ก่อนหน้านี้ และต่อไปนี้
คำสำคัญ:

$time_sig

เปลี่ยนลายเซ็นเวลาสำหรับเพลง (มีผลกับแทร็กทั้งหมด) NS b ค่าต้องเป็นหนึ่งใน
4, 8, 16, 32, 64

$จังหวะ

เปลี่ยนจังหวะเพลง (มีผลกับแทร็กทั้งหมด) t อยู่ใน BPM

$แพทช์ [[bank_LSB,]bank_MSB,]

ตั้งค่าหมายเลขแพตช์สำหรับช่องนี้เป็น จำนวน or ชื่อ. ที่ไหน จำนวน คือตั้งแต่ 1 ถึง 128 และ
ชื่อ เป็นนามแฝงตามที่กำหนดไว้ใน README.patches เลือกหมายเลขธนาคารได้ bank_MSB.
เลือกหมายเลข LSB ของธนาคาร bank_LSB (ใช้สำหรับคีย์บอร์ด midi ภายนอก) แต่ละค่า
ต้องอยู่ในช่วง 1-128

$ธนาคาร [แอลเอสบี,]

เลือกหมายเลขธนาคาร MSB. เลือกตั้งค่า LSB (ใช้สำหรับ midi . ภายนอก
แป้นพิมพ์) ถึง LSB. ค่าทั้งสองต้องอยู่ในช่วง 1-128

$ความยาว [NS:]

ตั้งค่าความยาวบันทึกเริ่มต้น ค่าถูกระบุในรูปแบบเดียวกับในตัวเลือกบันทึกย่อ

$ย่อ

ย่อแต่ละโน้ตโดย จำนวน คลิก midi เพื่อให้มีพื้นที่สำหรับบันทึกย่อเพื่อชดเชยย้อนหลัง

$unquantise [+|-] [%]

ใช้ออฟเซ็ตแบบสุ่มกับโน้ตแต่ละตัว จำนวน มีความหมายเดียวกับ Z บันทึกตัวเลือก
ข้างบน.

$octave

ตั้งค่าอ็อกเทฟเริ่มต้นเป็น จำนวน

$ปริมาณ

ตั้งค่าระดับเสียงของแทร็กเป็น จำนวน

$attack

ตั้งค่าการโจมตีของโน้ตเป็น จำนวน

$การสลายตัว

ตั้งค่าการสลายตัวของโน้ตเป็น จำนวน

$พัดโบก

ตั้งค่าความลึกของเสียงก้องไปที่ จำนวน ในช่องปัจจุบัน

$chorus

ตั้งค่าความลึกคอรัสเป็น จำนวน ในช่องปัจจุบัน

$pan

ตั้งค่ากระทะเป็น จำนวน. 0 คือซ้าย 127 คือขวา

ค่าระดับเสียง โจมตี สลาย เสียงก้อง คอรัส และแพนต้องเป็นจำนวนเต็มตั้งแต่ 0 ถึง 127
นอกจากนี้ยังสามารถระบุเป็นช่วง (เช่น `8-64') ซึ่งในกรณีนี้ค่าสุ่มภายใน
ใช้ช่วง

%pan_all { ค่าโน้ต ... }

ตั้งค่าการแพนสำหรับแต่ละอินสแตนซ์ที่ตามมาของ หมายเหตุ ในแทร็กปัจจุบัน นี่คือ
มีวัตถุประสงค์หลักสำหรับการแพนกล้องกลองชุด แต่สามารถใช้กับแทร็กอื่นได้ ความคุ้มค่า เป็นไปได้
จำนวนเต็มหรือช่วง (เช่น `8-64') หลายรายการ หมายเหตุ ความคุ้มค่า อนุญาตให้มีคู่ ถ้าสองบันทึก
ด้วยค่า pan_all ที่แตกต่างกันจะเล่นพร้อมกัน อะไรก็เกิดขึ้นได้

หากต้องการส่งผลกระทบทุกโน้ตในช่องที่มีช่วง ให้ใช้ `*' หรือ `ใด' สำหรับ หมายเหตุ.
/r4/วิธีการบันทึกซ้ำจะใช้ไม่ได้กับตัวเลือกนี้ แต่จะมีผลเหมือนกัน
สามารถทำได้โดยใช้บล็อกซ้ำ

$marker

เพิ่มเหตุการณ์เครื่องหมายด้วย ข้อความ ตามที่มันเป็นเนื้อหา ถ้า ข้อความ มีช่องว่างที่ต้องยกมา
โดยใช้อักขระอัญประกาศ

%ทำซ้ำ { หมายเหตุ }

ทำซ้ำ บันทึก จำนวน ครั้ง บันทึก สามารถรวมบันทึก, ส่วนที่เหลือ, ลำดับที่กำหนดไว้ล่วงหน้าและอื่น ๆ
%ทำซ้ำ บล็อก

%โค้งงอ { เหตุการณ์ ... }

เล่น หมายเหตุ และเลื่อนล้อเลื่อนในลักษณะที่อธิบายโดยหลาย ๆ เหตุการณ์ที่มี
รูปแบบต่อไปนี้:

[NS:] <<|->

ที่ไหน n และ d ระบุเวลาตั้งแต่เริ่มต้นบันทึกหรือจากเหตุการณ์ก่อนหน้าใน
รูปแบบเดียวกับความยาวของโน้ตและ ความคุ้มค่า คือจำนวนเงินที่จะงอโน้ตโดย (บวก
หรือเครื่องหมายลบ) ด้วยช่วงระยะพิทช์เริ่มต้นที่ +/- 2 เซมิโทน ค่า
ของ 32 เท่ากับหนึ่งเซมิโทน โปรดทราบว่าจำนวนโค้งจะสัมพันธ์กัน สูงสุด
สะสม จำนวนโค้งเป็นบวกหรือลบ 64

ตัวอย่างเช่นต่อไปนี้:

% โค้ง a3 { 4+32 4-32 2+0 }

เล่นโน้ต a3 สำหรับโน้ต 1/4, ปรับโทนเสียงทั้งหมดเป็น 1/4 แล้วลดกลับเป็น a3 และ
ถือบันทึก 1/2

$bend_range

เปลี่ยนระยะพิทช์ล้อเป็น +/- จำนวน. ซึ่งจะตั้งค่าการโค้งงอสูงสุดขึ้นและลง ดังนั้นถ้า
ตั้งค่าเป็น 4 ค่าโค้ง 64 จะงอขึ้น 4 ครึ่งเสียง และ -64 จะงอลง 4
ครึ่งเสียง ช่วงเริ่มต้นสำหรับอุปกรณ์ midi ส่วนใหญ่คือ 2 เซมิโทน

$ pitch

ตั้งค่า pitch wheel เป็น คลื่น. สามารถใช้ร่วมกับหมายเหตุแยกต่างหากใน
และจดบันทึกเหตุการณ์ (ดูด้านล่างภายใต้ `บันทึกพร้อมกัน') เพื่อสร้างการดัดโค้งที่ซับซ้อน
ผลกระทบ ไม่เหมือนกับ %โค้งงอ ไวยากรณ์ด้านบนนี้ไม่ ไม่ รีเซ็ต pitch wheel เป็นค่ากลาง
ตำแหน่ง (64)

สามารถสร้าง Pitch Bend ที่ง่ายกว่าด้วยไวยากรณ์นี้:

/l8/e4=>g4=>e4

สิ่งนี้จะโค้งจาก e4 ถึง g4 และย้อนกลับเป็น e4 ในขั้นตอนเชิงเส้นตลอดระยะเวลาของ an
บันทึกที่แปด โดยค่าเริ่มต้นมี 16 ขั้นตอนต่อระยะเวลาบันทึกย่อของไตรมาส (8 ขั้นตอนในนี้
ตัวอย่าง) แต่สามารถตั้งค่าอื่นได้โดยใช้สวิตช์บรรทัดคำสั่ง `-b' หมายเลขใดก็ได้
ของโน้ตใช้ได้ แต่อันแรกต้องมีค่าความยาวและแต่ละอันต้อง
มีค่าอ็อกเทฟ

%เลือก [เวลา] { รายการถ่วงน้ำหนัก ... }

โดยที่เวลาเป็นค่าความยาวในรูปแบบ [n:] เช่นเดียวกับที่ใช้ในตัวเลือกความยาว
โดยละเว้น `l'

If เวลา ไม่ได้ระบุ:

เลือกหนี่งอย่าง ชิ้น จากรายการโดยที่แต่ละ ชิ้น อาจเป็นโน้ต ส่วนที่เหลือ หรือ riff ที่กำหนดไว้ล่วงหน้า และ
แต่ละรายการมี การถ่วงน้ำหนัก ซึ่งกำหนดแนวโน้มที่จะเลือก ตัวอย่างเช่น:

% เลือก { 2 a3 4 c5 3 e4 1 g3 }

ให้ a3 มีโอกาส 20%, c5 - 40% ; e4 - 30% และ g3 - 10% แต่ละรายการ ต้อง มีน้ำหนัก
ดูมาตราส่วนด้านล่างด้วย

if เวลา ระบุไว้:

เลือกหลายรายการ ชิ้นจากรายการถึงความยาวของ เวลา. ถ้าทั้งหมด ชิ้นยาวเกินไป
ที่จะจบ riff ตรงที่ เวลา, ส่วนที่เหลือเต็มไปด้วยส่วนที่เหลือ เมื่อใช้ตัวเลือก
ด้วยวิธีนี้โน้ตหรือส่วนที่เหลือจะต้องมีค่าความยาวและต้องใช้ riffs ที่กำหนดไว้ล่วงหน้า
มีความยาวคงที่ (เช่น โน้ตตัวแรกต้องมีค่าความยาว) และความยาวของ
ต้องระบุทั้ง riff ในบล็อกการเลือกในรูปแบบเดียวกับบันทึก สำหรับ
ตัวอย่าง:

%define riff_1 { /l2/a3 /l4/b c4 } # riff ยาว 1 บาร์

%เลือก 4: 1 { # เลือก 4 ก้อน

1 /l8/d4 3 /l8/e4 2 /l4/g4 1 /l1/~riff_1

}

If เวลา is 0 or - จากนั้นมิดจ์จะมองหาบล็อกของแบบฟอร์ม:

จังหวะ { NS] ... }

ซึ่งนำมาเป็นชุดค่าความยาวโน้ตซึ่งเลือกระดับเสียงจาก
รายการ. โทเค็นอื่น ๆ จะถูกส่งผ่าน ดังนั้นคุณสามารถแทรกบันทึกเฉพาะ riffs ที่กำหนดไว้ล่วงหน้า
หรือพักผ่อน โทเค็นใด ๆ ในบล็อกที่ขึ้นต้นด้วยขีดล่างจะถูกส่งผ่านด้วย
ขีดล่างออก ดูตัวอย่าง/tutorial/choose_scale.mg สำหรับตัวอย่าง

อีกวิธีในการระบุรายการบันทึกย่อ/การถ่วงน้ำหนักคือ ขนาด คำสำคัญ:

ขนาด ผู้เยาว์ /l8/g4-6 [ น้ำหนัก ... ]

สิ่งนี้จะเลือกมาตราส่วน G Minor จากอ็อกเทฟที่ 4 ถึง 6 (เช่น g4 ถึง g6) ค่าความยาว
ไม่จำเป็นหากคุณใช้บล็อกจังหวะ ถ้า -6 ถูกละเว้นเป็นคู่เดียวคือ
มือสอง

บล็อกน้ำหนักระบุน้ำหนักบันทึกตามลำดับ หากละเว้นการถ่วงน้ำหนักทั้งหมดเป็น
เท่ากับ. หากต้องการเข้าโน้ตให้ใช้การถ่วงน้ำหนักเป็น 0 แต่มี ต้อง เป็นตัวถ่วงน้ำหนักแต่ละโน้ต
หากมีบล็อกอยู่เลย

พื้นที่ปลูก -S สวิตช์สามารถใช้เพื่อแสดงบันทึกย่อในมาตราส่วนหรือรายการเครื่องชั่งที่รองรับ

%โซ่ {
เริ่ม
note1 [ บันทึกน้ำหนัก ... ]
...
จังหวะ [ น้ำหนัก ความยาว ... ] or จังหวะ { ความยาว ... } }

กำหนดโครงสร้าง `chain' ซึ่งสำหรับแต่ละโน้ตจะมีรายการบันทึกย่อที่อาจ
ตามมันไป. จุดเริ่มต้นจะสุ่มเลือกจากโน้ตทั้งหมดที่ใช้หรือระบุด้วย
เริ่มต้น คำสำคัญ แล้วบันทึกย่อที่ตามมาจะถูกเลือกจากรายการที่เหมาะสมจนถึง a
ยาวทั้งหมดของ เวลา.

พื้นที่ปลูก จังหวะ คำหลักมีสองรูปแบบ: การใช้วงเล็บเหลี่ยม `[]' ซึ่งเป็นรายการหมายเหตุแบบถ่วงน้ำหนัก
สามารถกำหนดความยาวได้ซึ่งจะเลือกจากการสุ่ม การใช้วงเล็บปีกกา `{}' รายการของ
สามารถกำหนดค่าความยาวได้ซึ่งจะใช้ในลำดับ (ทำซ้ำตามความจำเป็น) ถึง
เล่นผ่านบล็อกจังหวะเพียงครั้งเดียว ตั้งค่า เวลา ไปยัง 0 or -. ในกรณีนี้จังหวะ
บล็อกถูกแยกวิเคราะห์ในลักษณะเดียวกับที่อธิบายไว้ข้างต้นสำหรับ %เลือก โดยตั้งเวลาเป็นศูนย์ NS
คีย์เวิร์ด ครั้ง สามารถใช้เป็นคำพ้องความหมายสำหรับ จังหวะ.

พื้นที่ปลูก เริ่มต้น คีย์เวิร์ดระบุโน้ตที่จะเริ่มต้นเมื่อใช้เชน ถ้า เริ่มต้น is
ละเว้นบันทึกเริ่มต้นจะถูกเลือกแบบสุ่ม

อีกวิธีหนึ่งกำหนดบันทึกย่อใน a โซ่ บล็อกคือการใช้เครื่องชั่งในตัว แล้ว
การถ่วงน้ำหนักถูกระบุในรูปแบบของเมทริกซ์ โดยมีแถวสำหรับโน้ต "จาก" แต่ละรายการ (หนึ่ง
สำหรับแต่ละโน้ตของมาตราส่วน) และคอลัมน์สำหรับโน้ต "ถึง" แต่ละรายการ ตัวอย่างของแบบฟอร์มนี้สามารถ
สามารถพบได้ในไฟล์ตัวอย่าง/tutorial/chain_scale.mg

ในการใช้ตัวเลือกหรือบล็อกลูกโซ่ ไฟล์ต้องถูกคอมไพล์ด้วยตัวเลือก unroll-loops
(มันถูกตั้งค่าโดยอัตโนมัติเมื่อพบบล็อกตัวเลือกหรือลูกโซ่) ตัวเลือกนี้จะบันทึก
คลายซอร์สโค้ดในไฟล์ใหม่ ดังนั้นหากมันให้ผลลัพธ์ที่ดีเป็นพิเศษ คุณมี
สำเนาที่แน่นอนซึ่งคุณสามารถทำการเปลี่ยนแปลงอื่น ๆ ได้โดยไม่สูญเสียแทร็กที่สร้างขึ้น

โปรดทราบว่าบล็อกตัวเลือกและลูกโซ่ไม่สามารถอยู่ภายใน %define หรือภายในตัวเลือกอื่นหรือ
บล็อกโซ่

%eval { รหัส Perl }

เรียกใช้บล็อกของรหัส Perl และแทนที่บล็อก %eval ด้วยค่าที่ส่งคืนจาก Perl
รหัส.

%eval - { รหัส Perl }

เรียกใช้บล็อกของโค้ด Perl โดยไม่อ่านค่าที่ส่งกลับ

รหัส Perl ถูกเรียกใช้โดยใช้ Safe module หากมี :base_core, :base_math และ
:base_mem อนุญาต หาก Safe.pm ไม่พร้อมใช้งานหรือต้องการการอนุญาตเพิ่มเติม --unsafe
ตัวเลือกทำให้มิดจ์เรียกใช้บล็อก %eval ในกระบวนการ Perl ของตัวเอง

คำหลักที่อนุญาต ณ จุดใดก็ได้ในแหล่งที่มา

%รวม

รวมถึงเนื้อหาของ ไฟล์ ราวกับว่าพวกเขาถูกเขียนขึ้น ณ จุดนั้นในแหล่งที่มา
ไฟล์ ต้อง อยู่ในบรรทัดของตัวเองในไฟล์ต้นฉบับ

หมายเหตุพร้อมกัน

วิธีที่ยืดหยุ่นที่สุดในการเล่นโน้ตพร้อมกันคือการใช้แทร็กแยกกัน (คุณสามารถใช้
ช่อง/แพตช์เดียวกัน) หรือโดยแยกบันทึกเหตุการณ์และปิดบันทึก (ดูด้านล่าง)
อย่างไรก็ตาม มีวิธีที่ง่ายกว่าโดยมีข้อจำกัดบางประการ ตัวอย่างเช่น: ( c e g ) จะเล่น
โน้ต c, e และ g พร้อมกันทำให้เป็นคอร์ด C ความยาวของทั้งหมดพร้อมกัน
บันทึกย่อเหมือนกับอันแรก (กำหนดโดยค่าความยาวของตัวเองหรือค่าหนึ่ง
สืบทอดมาจากบันทึกย่อ ส่วนที่เหลือ หรือการประกาศความยาว $length

วิธีหนึ่งในการใช้สิ่งนี้เพื่อสร้างคอร์ดมีดังนี้:

%กำหนด ผู้เยาว์ { ( c e- g ) } #กำหนดผู้เยาว์เป็นc-ผู้เยาว์

%กำหนด สำคัญ { ( c e g ) } # กำหนดวิชาเอกให้เป็น c-major

%กำหนด 7th { ( c e g b- ) } # กำหนดที่ 7 เป็น c-7th

จากนั้นคุณสามารถใช้ the ในแทร็กเพลงของคุณ:

$length 4 $octave 4 # กำหนดความยาวเริ่มต้นและ octave

~เมเจอร์ #เล่นซีเมเจอร์

~ผู้เยาว์/9/ #เล่นเป็นผู้เยาว์

~7/5/ #เล่นf-7th

เพื่อให้คอร์ดมีเสียงดีด ดีด สามารถใช้คีย์เวิร์ด:

$strum 5

การตั้งค่านี้จะกำหนดช่วงเวลาระหว่างโน้ตแต่ละตัวในคอร์ดที่ตามมาเป็น 5 การคลิก midi

ในการสร้างรูปแบบที่ซับซ้อนของการจดบันทึกพร้อมกันในแทร็กเดียว ให้แยกบันทึกย่อและบันทึกย่อ
สามารถใช้กิจกรรมนอกเวลาได้ มีการระบุในลักษณะเดียวกับบันทึกทั่วไป แต่ด้วย a +
ไว้ล่วงหน้าสำหรับหมายเหตุและ - ถูกนำหน้าเพื่อปิดบันทึก ความยาวและตัวเลือกการทำซ้ำไม่สามารถ
ถูกนำมาใช้ ความยาวของโน้ตที่ป้อนด้วยวิธีนี้ถูกควบคุมโดยการวางพักหรืออื่น ๆ
บันทึกระหว่างบันทึกและบันทึกเหตุการณ์ เช่น:

+c4/l4/r +เซนต์ +ก. /l2/r -c -e -g

เล่นและถือ c4 หลังจากที่โน้ต 1/4 เล่นและถือ e4 และหลังจากเล่นโน้ตอีก 1/4 ตัว
และถือ g4 ปล่อยทั้งสามหลังจากนั้นอีก 1/2 โน้ต

ทูเล็ต

แม้ว่าจะสามารถสร้าง tuplets ได้โดยการเลือกความยาวของโน้ตที่เหมาะสม แต่ก็สามารถ
ให้เขียนแบบธรรมดามากขึ้นโดยใช้ตัว %tuplet คำสำคัญ:

%tuplet n:d { หมายเหตุ... }

เล่น n บันทึกย่อในช่องว่างของ d. บันทึก สามารถมีอะไรก็ได้ที่ได้รับอนุญาตในบล็อก @channel
ค่าบันทึกจะเปลี่ยนแปลงโดยอัตโนมัติเพื่อสร้างทูเล็ต ตัวอย่างเช่น:

% tuplet 5:3 { /l8/e4 fgfe }

เล่นโน้ตตัวที่แปดห้าตัวในช่องว่างสามตัว Tuplets สามารถซ้อนกันได้ในระดับความลึกเท่าใดก็ได้ ดู
ตัวอย่าง/tutorial/tuplet.mg สำหรับตัวอย่าง มิดจ์ทำ ไม่ ตรวจสอบว่าความยาวของเพลง
ภายในบล็อกทูเล็ตนั้นถูกต้อง

คีย์

หากคุณต้องการนำเข้าไฟล์ midi ของคุณไปยังโปรแกรมแก้ไขสัญกรณ์ คุณจะต้องตั้งค่าคีย์
สิ่งนี้ทำได้ด้วย:

$key [+|-][ม.]

ที่ไหน ชื่อ คือ ag, +|- มีความคมและแบน และ m มีค่าน้อยกว่า ถ้าทั้งชิ้นยังคงอยู่ใน
คีย์เดียวกันกับที่คุณสามารถตั้งค่าได้ในส่วน @head มิฉะนั้น อาจปรากฏที่ใดก็ได้ใน a
@ส่วนช่อง และจะมีผลกับทุกแทร็ก

หากคุณคุ้นเคยกับโน้ตดนตรีทั่วไปและต้องการให้โน้ตนั้นคมชัดหรือแบนราบโดยอัตโนมัติ
ขึ้นอยู่กับคีย์ ใช้ $key_strict คีย์เวิร์ดแทน เพื่อให้ได้โน้ตที่เป็นธรรมชาติใช้ =
ลงชื่อ เช่น ใน G f= เล่นเป็นธรรมชาติ NS $key_strict คีย์เวิร์ดสามารถใช้ได้เฉพาะใน
@ส่วนหัว. กุญแจยังคงสามารถเปลี่ยนได้โดยใช้ปุ่มปกติ $key คำสำคัญ.

$ctrl

ตั้งหมายเลขควบคุม NUM ไปยัง คลื่น.

$rpn [num-msb,] [,val-lsb]

ตั้งค่าตัวควบคุม rpn NUM ไปยัง คลื่น

$nrpn [num-msb,] [,val-lsb]

ตั้งค่าตัวควบคุม nrpn NUM ไปยัง คลื่น

%คำต่อคำ { ไบต์วาล... }

แทรกสตริงไบต์ลงในไฟล์ midi แต่ละ byteval เป็นทศนิยมก็ได้ (0-255)
หรือเลขฐานสิบหก (0x00-0xFF) คีย์เวิร์ด ไบต์ ใช้แทน . ได้ คำต่อคำ.

$print

พิมพ์ ข้อความ เพื่อ stdout ถ้า ข้อความ มีช่องว่างจะต้องยกโดยใช้เครื่องหมายคำพูดคู่ (").

ใช้มิดจ์ออนไลน์โดยใช้บริการ onworks.net


Ad


Ad