8 เมษายน 2560

เล่น USB Midi controller บน Linux PC (Ubuntu)

ห่างหายไปเป็นปี ผมก็มาเสนอเล่นอะไรกับ PC อย่างนึง ตั้งแต่หายป่วยกลับมาแข็งแรงก็เลยกลายเป็นต้องเปลี่ยนที่อยู่บ่อยมันทำให้รู้สึกเหงาและยังจะพกเครื่องดนตรีลำบากเลยคิดหาอะไรที่มันเล่นไม่ยากและพกพาง่าย ผมเองก็ไม่ได้รู้เรื่องดนตรีมากนักหากมีอะไรเสริมก็รบกวนด้วยนะครับ จริงๆ ผมต้องการเล่นกับ Raspberry PI มากกว่า แต่ว่าแบ่งทำทีละขั้นตอน ขั้นตอนนี้คือการทำให้เครือง PC ที่เป็น ubuntu เล่น เสียงจาก synthesizer หรือ USB controller ได้
1.ที่ต้องเตรียมคือ USB synthesizer ของผมที่มีอยู่คือ  Alesis vmini ตัวเล็กๆพกใส่กระเป๋าเดินทางได้เลย


2. PC ที่เป็น Ubuntu (แหงหละผมติดการ Dev software บนนี้ละ)

3. ต่อ USB MIDI Controller กับ PC ในส่วน USB MIDI Controller นี้เป็น Standard อยู่แล้วส่วนใหญ่ต่อแล้วใช้งานได้เลย

4. ตรวจสอบว่า PC สามารถต่อกับ USB MIDI Controller ได้หรือเปล่าโดยการสั่ง
 aconnect -o
จะได้ข้อความประมาณนี้
client 14: 'Midi Through' [type=kernel]
    0 'Midi Through Port-0'
client 20: 'VMini' [type=kernel]
    0 'VMini MIDI 1    '
    1 'VMini MIDI 2    '
ซึ่ง client 20: 'VMini' คือ USB MIDI Controller นั่นเอง

5. เมื่อเรียบร้อยแล้วก็ลง software ชื่อว่า fluidsynth
sudo apt-get update 
sudo apt-get install fluidsynth

6. ลองสั่ง
aplay
หากไม่พบคำสั่งให้ลงเพิ่มด้วย
sudo apt-get install aplay

7. เปิด terminal นึงขึ้นมาและ run
fluidsynth --audio-driver=alsa --gain 3 /usr/share/sounds/sf2/FluidR3_GM.sf2

8.ดูรายชื่อของ อุปกรณ์ที่มีอยู่โดยสั่ง
aconnect -o

จะได้ประมาณนี้

client 14: 'Midi Through' [type=kernel]
    0 'Midi Through Port-0'
client 20: 'VMini' [type=kernel]
    0 'VMini MIDI 1    '
    1 'VMini MIDI 2    '
client 128: 'TiMidity' [type=user]
    0 'TiMidity port 0 '
    1 'TiMidity port 1 '
    2 'TiMidity port 2 '
    3 'TiMidity port 3 '
client 129: 'FLUID Synth (5113)' [type=user]
    0 'Synth input port (5113:0)'

9. จากข้อที่แล้วทำให้เราเห็นว่า Vmini อยู่ที่หมายเลข 20 และ fludsynth อยู่ที่ 129
เราสามารถเชื่อมทั้งสองด้วยคำสั่ง aconnect รูปแบบตามนี้
aconnect เลขของUSB MIDI:0 เลขของfludsynth:0
ได้คำสั่ง
aconnect 20:0 129:0

10. สามารถเล่นได้เลย และหาต้องการหยุดก็มี option -d เพิ่มเข้าไปเป็น
aconnect -d 20:0 129:0

11. หากต้องการเล่นอีกครั้งหลังจากนี้ก็เริ่มทำขั้นตอน 7 ถึง 10 ก็สามารถเล่นได้ทันที
อ้างอิง เล่น midi synth ด้วย ras pi
         Alesis Vmini