ایجاد یک ماژول صوتی MIDI با Raspberry Pi و Fluidsynth

در این آموزش ، من توضیح خواهم داد که چگونه یک ماژول صدا MIDI را با استفاده از Raspberry Pi ایجاد کردم.
اکنون ، قبل از شیرجه رفتن ، بیایید ابتدا اصطلاحات کلیدی را که از آنها استفاده خواهیم کرد تعریف کنیم:
-
MIDI (رابط دیجیتال ابزار موسیقی) پروتکل است که به سازهای الکترونیکی موسیقی ، رایانه ها و سایر دستگاه ها اجازه می دهد تا با یکدیگر ارتباط برقرار کنند. ماژول MIDI Sound دستگاهی است که بر اساس پیام های MIDI که به آن ارسال می شود ، صداها را تولید می کند.
-
تمشک پی. یک رایانه به اندازه کارت اعتباری که می تواند برای انواع پروژه ها استفاده شود. می تواند به عنوان PowerSource به یک USB خارجی متصل شود
- رابط USB MIDI: دستگاهی که دستگاه های MIDI مانند رایانه را از طریق USB متصل می کند. برخی ممکن است مانند صفحه کلید یا حتی پد ظاهر شوند.
-
FluidSynth: یک سینت سایزر نرم افزاری که از پرونده های SoundFont برای تولید صدا استفاده می کند.
-
SoundFont – شما می توانید این موارد را به عنوان یک پایگاه داده از نمونه های ضبط شده از سازهای بازی شده. متداول ترین SoundFont General MIDI است که با Fluidsynth نیز گنجانده شده است.
اجزای مورد استفاده
سخت افزار
- Raspberry Pi 3B+ (مدل های جدید بهتر خواهند بود اما لازم نیست)
- کنترل کننده صفحه کلید MIDI
- صفحه لمسی 3.5 اینچی (اختیاری)
- 32 گیگابایت کارت میکروس
نرم افزاری
دستورالعمل
نصب نرم افزارهای مورد نیاز
من فرض می کنم که شما سیستم عامل Raspberry را روی کارت MicroSD خود نصب کرده اید. اگر این کار را نکرده اید ، پیشنهاد می کنم اسناد را بررسی کنید.
در Raspberry Pi خود ، ترمینال را باز کنید و دستورات زیر را وارد کنید
sudo apt-get install fluidsynth
این کار FluidSynth را نصب می کند.
اکنون می توانید با وارد کردن دستور بعدی ، FluidSynth را روی ترمینال خود اجرا کنید:
fluidsynth -a alsa -g 5 /usr/share/sounds/sf2/FluidR3_GM.sf2
آنچه اساساً این کار را انجام می دهد این است که سرور را شروع می کند که از پرونده عمومی MIDI SoundFont (Fluidr3_gm.SF2) با افزایش 5 صوتی استفاده می کند.
دستگاه MIDI را پیکربندی کنید.
دستگاه MIDI را وصل کنید. یک پنجره یا برگه ترمینال دیگر را باز کنید و دستورات زیر را وارد کنید:
aconnect -o
خروجی ظاهر می شود که باید حاوی داده های مورد نیاز برای اتصال باشد
$ aconnect -o
client 14: 'Midi Through' [type=kernel]
0 'Midi Through Port-0'
client 24: 'Keystation Mini 32' [type=kernel,card=2]
0 'Keystation Mini 32'
client 128: 'FLUID Synth (1233)' [type=user,pid=1233]
0 'Synth input port (1233:0)'
مقادیر ممکن است در دستگاه شما متفاوت باشد. من از صفحه کلید Maudio Keystation Mini 32 استفاده می کنم. همانطور که در خروجی نشان داده شده است ، 24
در حالی که به صفحه کلید اختصاص می یابد. مشتری 128
به برنامه Fluidsynth اختصاص داده شده است.
دستگاه MIDI را با اجرای دستور زیر به Fluidsynth وصل کنید:
aconnect 24:0 128:0
اگر پیام خطایی وجود ندارد ، باید هنگام پخش صفحه کلید بتوانید صدایی را بشنوید.
قرار دادن همه اینها
اکنون ما قادر به اتصال Fluidsynth به صفحه کلید هستیم ، باید یک اسکریپت درست کنیم که تمام دستوراتی را که قبلاً انجام دادیم انجام دهد.
در یک ویرایشگر متن (مانند Geany) ، یک اسکریپت Bash ایجاد کنید که شامل موارد زیر باشد
#!bin/bash
fluidsynth -is --audio-driver=alsa --gain 5 /usr/share/sounds/sf2/FluidR3_GM.sf2 &
sleep 5
aconnect 24:0 128:0
آن را همانطور که می گویند ذخیره کنید start_synth
در یک فهرست قابل دسترسی. آن را به یک اجرایی با chmod
فرمان
chmod +x start_synth.sh
اکنون هر زمان که نیاز به شروع Fluidsynth داشته باشیم ، باید وارد شویم
./start_synth
اضافه کردن صفحه لمسی LCD (اختیاری)
برای از بین بردن نیاز مانیتور و صفحه کلید/ماوس ، یک صفحه لمسی 3.5 را که از Alibaba گرفتم اضافه کردم. برای صفحه های لمسی عمومی ، اطلاعات بیشتری در مورد این مخزن می توان یافت. پیشنهاد می کنم قبل از خرید یکی از این موارد را بررسی کنید تا سازگاری را بررسی کنید.
با این تنظیم ، من پرونده start_synth را که در دسک تاپ ایجاد کرده ام قرار داده ام و برای شروع FluidSynth فقط باید دو برابر ضربه بزنم و سپس اجرا کنم تا آن را بازی کنم. درایور همچنین به شما امکان می دهد صفحه نمایش را که نیز مفید است ، بچرخانید.
برای متوقف کردن Fluidsynth ، من یک اسکریپت دیگر ایجاد کرده ام که حاوی دستورات زیر است
killall fluidsynth
پایان
من توضیح داده ام که چگونه می توان یک ماژول صوتی MIDI را با استفاده از Raspberry Pi ایجاد کرد. با استفاده از این تنظیم ، می توانید صداهای سازهای با کیفیت بالا را از پرونده های MIDI تولید کرده و آنها را با استفاده از رابط USB MIDI خود مانند صفحه کلید کنترل کنید. این می تواند یک پروژه عالی برای نوازندگان ، تولید کنندگان موسیقی و هر کسی باشد که علاقه مند به کاوش در دنیای موسیقی MIDI و ساخت پروژه های Raspberry PI نیز باشد.
خواندن بیشتر پیشنهاد شده: