MIDI คืออะไร ?
MIDI (Music Instrument Digital Interface) เป็นโพรโทคอลมาตรฐานสำหรับการประสานเครื่องดนตรีแบบดิจิทัลครับ
อ่านเพิ่มเติมได้ที่ https://th.wikipedia.org/wiki/มิดิ
ในการสร้างเสียงสังเคราะห์ MIDI ในภาษา Python ผมขอแนะนำโมดูลตัวช่วยที่มีชื่อว่า "Pyknon"
โมดูล Pyknon เป็นโมดูลสำหรับใช้สร้างเสียงสังเคราะห์ MIDI ได้แบบง่าย ๆ และรวดเร็ว โดยใส่เสียงโน้ตที่ต้องการลงไป และเก็บเสียงไว้ในไฟล์ MIDI
- รองรับทั้ง Python 2 และ Python 3
- ใช้ MIT license
สามารถติดตั้งได้โดยใช้คำสั่ง pip :
pip install pyknon
ตัวอย่างการใช้งาน
โค้ดตัวอย่างจากหน้าหลักโมดูล Pyknon
[python]
from pyknon.genmidi import Midi
from pyknon.music import NoteSeq
notes1 = NoteSeq("D4 F#8 A Bb4")
midi = Midi(1, tempo=90) # จังหวะ 90
midi.seq_notes(notes1, track=0)
midi.write("demo.mid")
[/python]
ผลลัพธ์
เพลงช้าง
จากคอร์สเพลง
ช้าง ช้าง ช้าง ช้าง ช้าง
5 5 5 5 5
น้องเคยเห็นช้างหรือเปล่า
5 3 2 3 5 1
ช้างมันก็ตัวไม่เบา
5 3 2 3 1 2
จมูกยาวๆเรียกว่างวง
1 6. 1 1 6. 5. 1
มีเขี้ยวใต้งวงเรียกว่างา
1 6. 1 1 6. 5. 1
มีหูมีตา หางยาว
5 6 5 3 2 1.
แปลงเป็น
G G G G G
G E D E G C
G E D E C D
C A. C C A. G. C
C A. C C A. G. C
G A G E D C.
นำมาสร้างเสียงสังเคราะห์
[python]
from pyknon.genmidi import Midi
from pyknon.music import NoteSeq
notes1 = NoteSeq("G G G G G G E D E G C G E D E C D C A. C C A. G. C C A. C C A. G. C G A G E D C.")
midi = Midi(5, tempo=70) # จังหวะ 70
midi.seq_notes(notes1, track=0)
midi.write("demo2.mid")
[/python]
ผลลัพธ์
อ่านเอกสารการใช้งานได้ที่ https://s3.amazonaws.com/musicforgeeksandnerds.com/Pyknon+from+Music+for+Geeks+and+Nerds.pdf
หน้าหลักโมดูล https://kroger.github.io/pyknon/
ลองสร้างเสียงสังเคราะห์ดนตรีมาแบ่งปันกันดูครับ :D
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ
0 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)