فهرست مطالب:

جعبه MIDI به CV دیگر: 7 مرحله (همراه با تصاویر)
جعبه MIDI به CV دیگر: 7 مرحله (همراه با تصاویر)

تصویری: جعبه MIDI به CV دیگر: 7 مرحله (همراه با تصاویر)

تصویری: جعبه MIDI به CV دیگر: 7 مرحله (همراه با تصاویر)
تصویری: 💦Blackview BV9200 HONEST Shockproof REVIEW 2024, جولای
Anonim
جعبه MIDI به CV دیگر
جعبه MIDI به CV دیگر

یکی دیگر از جعبه های MIDI به CV پروژه ای است که وقتی Korg MS10 در من را کوبید و در استودیوی من انجام شد ، توسعه دادم. از آنجایی که تنظیمات من به شدت به MIDI مربوط می شود تا همه ابزارها را خودکار و همگام سازی کند ، وقتی MS10 را خریدم اولین مشکلی که باید با آن روبرو شوم نحوه اجرای چنین کنترلی بود.

Korg MS20/10 ساده ترین مصنوعی برای پیاده سازی MIDI نیست: اول از همه ، آنها به جای اکت/ولت (1 ولت در هر اکتاو) به کنترل Hz/V (ارتباط خطی بین ولتاژ کنترل و فرکانس توجه) متکی هستند. دوم ، برای راه اندازی یک یادداشت باید یک سیگنال دروازه منفی ارسال کنید و ورودی را به زمین کوتاه کنید (S-Trig) ، نه یک سیگنال +5 ولت (V-trig).

امروزه راه حل های تجاری مختلفی برای کنترل چنین سازهایی وجود دارد (به عنوان مثال Arturia Beatstep Pro ، Korg SQ-1 ، Kenton Solo) ، اما من یک حرامزاده ارزان قیمت هستم و حتی 100 یورو برای یک دستگاه "بی صدا" بسیار زیاد است:).

اینک ما اینجا هستیم: اجازه دهید به شما نشان دهم که چگونه می توانید MIDI کم CV را برای کنترل/خودکار کردن ، پیش فرض MIDI synth ، دروازه ، سرعت و فرکانس قطع با کنترلر MIDI خارجی (صفحه کلید ، DAW ، ترتیب سنج یا هر چیز دیگری) ایجاد کنید. به

"در مورد MS20 mini جدید چطور؟"

همانطور که تقریباً همه می دانند ، MS20 جدید در واقع MIDI است: IN با اتصال MIDI 5 قطبی و IN/OUT با اتصال USB.

"بنابراین ، اگر من MS20 mini داشته باشم ، این چیز بی فایده است!"

خب نه. MS20 mini فقط پیامهای روشن/خاموش را تشخیص می دهد و صفحه کلید به سرعت حساس نیست. هیچ راهی برای غلبه بر این با صفحه کلید قدیمی یا مینی MS10/20 وجود ندارد ، اما با جعبه midi و صفحه کلید حساس به سرعت طلایی می شوید. علاوه بر این ، با جعبه MIDI می توانید برش فیلتر (یا هر پارامتر قابل کنترل ولتاژ دیگر) را به صورت خودکار انجام دهید یا آن را با توجه به سرعت MIDI ورودی MIDI تنظیم کنید. باز هم ، تنها کانال MIDI MS20 mini به کانال 1 پاسخ می دهد کانال 1 است. با استفاده از این جعبه می توانید بر این محدودیت نیز غلبه کنید.

"اگر من یک سنتز Oct/V داشته باشم؟"

مشکلی نیست! کدی که من نوشتم با سینتی سایزرهای Oct/V سازگار است (تست نشده ، اما مطمئن هستم که خارج از جعبه کار می کند ؛)).

مرحله 1: !! توجه داشته باشید - سلب مسئولیت

تجهیزات شما بسیار ارزشمند هستند و نباید از آنها برای انجام آزمایش استفاده کرد.

بازی با برق می تواند به تجهیزات شما آسیب جدی برساند یا به شما آسیب برساند.

من نمی توانم مسئول خسارت وارده به تجهیزات/سخت افزار شما یا حتی خود شما ناشی از هر یک از نرم افزارها یا طرح ها یا اطلاعات یا پیوندهایی که در این دستورالعمل گزارش کرده ام ، پاسخگو باشم.

به شما هشدار داده شده است!

مرحله 2: مهندسی سخت افزار

آردوینو هنگام کار با چنین پروژه هایی مفید است. وجود یک جامعه بزرگ و کتابخانه های بسیار خوب که تقریباً در هر وظیفه مشترکی انجام می شود ، آن را انتخاب درستی می کند. در اینجا برد به گونه ای برنامه ریزی می شود که داده های MIDI ورودی را بخواند و سپس ولتاژهای مناسب را برای رانندگی ارسال کند:

- گام ، با تبدیل خروجی pwm به ولتاژ آنالوگ برای هدایت VCO از طریق مبدل دیجیتال به آنالوگ (DAC)

- سرعت ، با فیلتر کردن خروجی pwm برای هدایت VCA با یک فیلتر RC ساده

- فیلتر کردن فرکانس قطع ، با فیلتر کردن خروجی pwm برای هدایت VCF با یک فیلتر RC ساده

- دروازه ، مستقیماً از طریق خروجی دیجیتال در صورت V-trig (یک کیلو اهم را در یک سری با خروجی قرار دهید تا جریان تخلیه کاهش یابد) یا با یک ترانزیستور pnp ساده از خروجی دیجیتال خارج شوید (به شماتیک پیوست شده به مرحله شماتیک مراجعه کنید) به

آردوینو قادر به خروج مستقیم ولتاژهای ثابت نیست ، اما پالس های 0/5 ولت با دوره های مختلف (PWM) را دارد. ما به مبدل های دیجیتالی به آنالوگ (DAC) برای پورپوس نیاز داریم. فیلترهای RC ساده ترین DAC هستند که می توانم فکر کنم. یک فیلتر RC برای تقویت کننده و فیلتر کنترل شده با ولتاژ (VCA و VCF) بسیار مناسب است. فیلترهای RC طوری طراحی شده اند که منجر به فرکانس قطع <20Hz (کمترین فرکانس شنیدنی) می شوند.

من آزمایشی را با خازنهای غیر قطبی با ظرفیت کم انجام دادم و با مقدار ظرفیت 0.1uF به بهترین نتیجه رسیدم. روی MS20 MKII خوب تست شده است.

متأسفانه ، ما نمی توانیم برای هدایت نوسان ساز کنترل شده با ولتاژ (VCO) به یک فیلتر RC تکیه کنیم زیرا به اندازه کافی دقیق نیست (در مقیاس Hz/V ، در قسمت پایینی دو نیمه صدا adiacend برای کمتر از 0.02V متفاوت است ؛ در V /oct دو نیمه ناحیه مجاور برای 0.083 V متفاوت است) ؛ ما برای این کار از IC DAC (MPC4725) استفاده می کنیم.

محدودیت های شناخته شده

محدود کردن ولتاژ درایو به 5 ولت (ولتاژ خروجی آردوینو) ، محدوده کامل 0 تا 5 ولت برای سرعت پوشش داده می شود. قطع نیمه پوشش داده شده است (-5 ولت تا +5 ولت) ؛ محدوده VCO تا حدی تحت پوشش است زیرا در هرتز/ولت برای رسیدن به 440 هرتز A4 به ولتاژ 8 ولت نیاز است. با محدودیت خروجی 5 ولت می توان اسیلاتور را تا فرکانس D4 در هرتز/ولت بالا برد.

مرحله 3: فهرست اجزاء

لیست اجزاء
لیست اجزاء
لیست اجزاء
لیست اجزاء
لیست اجزاء
لیست اجزاء

شما به موارد زیر نیاز دارید:

1X Arduino UNO (یا نانو)

برد 1X MPC4725 DAC

اتصالات مونو 4X 1/8 اینچ یا 1/4 اینچ

1X اتصال MIDI

اپتوکوپلر 1X 6N138

دیود 1X 1N4148

مقاومت 1X 220 اهم 1/4 وات

مقاومت 1X 470 اهم 1/4 وات

مقاومت 1X 10K اهم 1/4 وات

مقاومت 4X 1K اهم 1/4 وات

2X خازن 0.1 uF

1X ترانزیستور BC547 pnp (در صورت S-trig)

1X جعبه ABS (حداقل 55 70 70 100 100 میلی متر)

… و بدیهی است که تخته نورد یا ورق ورق ، آهن لحیم کاری ، سیم لحیم و کابل (2 متر 28 AWG باید به اندازه کافی باشد).

توجه کنید که در تصاویر بالا نمونه های الکتریکی 100 uF نصب شده است ، اما به دلیل زمان شارژ ظرفیت بسیار کند هستند. ظرفیت 0.1uF انتخاب مناسب است.

من از کانکتور اضافی برای تغذیه آردوینو استفاده کردم. لازم نیست که میکروکنترلر را مستقیماً از طریق کانکتور مینی USB داخلی آن جدا کنید.

مرحله 4: اتصالات/شماتیک

اتصالات/شماتیک
اتصالات/شماتیک
اتصالات/شماتیک
اتصالات/شماتیک
اتصالات/شماتیک
اتصالات/شماتیک

MIDI IN

مدار MIDI IN ساده است و در شبکه به خوبی توصیف شده است. به عنوان مثال ، این دستورالعمل عالی را در MIDI و Arduino توسط Amanda Gassaei استفاده کنید. من به هر حال شماتیک نهم را در این مورد ارائه کردم.

توجه داشته باشید که من یک سوئیچ در طرح MIDI IN (سوئیچ 1) اضافه کردم: این امر هنگام بارگذاری یک طرح جدید در Arduino ضروری است زیرا opto حتی بدون پیام های midi ورودی با خط RX تداخل می کند. قبل از بارگذاری طرح خود ، باید سوئیچ را باز کنید ، در غیر این صورت IDE نمی تواند طرح جدید را بارگذاری کند.

در نهایت می توانید طرح را برای استفاده از ارتباط نرم افزاری سریال تغییر دهید.

DAC ، RC Filter ، Synthesizer

اتصال برای فیلترهای DAC ، RC و Synth (گام ، دروازه و سرعت) در نمودار بالا نشان داده شده است. من برای مرجع از پچ پنل Korg MS20 استفاده کردم ، اما همه چیز را بر روی MS10 نیز آزمایش کردم. اتصال مستقیم CV سرعت به نقطه وصله VCA "افزایش اولیه" هیچ تاثیری ندارد (باید این مورد را بیشتر جستجو کنم) اما اگر آن را به نقطه وصله "Total" وصل کرده و کل گلدان های خارجی خود را بالا ببرید (MG/T. EXT) ، تنوع صدای خوبی را به عنوان تابعی از سرعت نت می شنوید.

طرحواره های من (و نمونه اولیه من نیز) از یک مقاومت محدودکننده جریان در خروجی DAC استفاده نمی کنند ، اما همیشه ایده خوبی است که برای اطمینان از عمر طولانی مدارهای خود از آن استفاده کنید. یک مقاومت 220 اهم کافی خواهد بود.

توجه داشته باشید که در شماتیک بالای 100 uF درپوش الکترولیتی گزارش شده است ، اما به دلیل زمان شارژ ظرفیت بسیار کند هستند. کلاهک های غیر قطبی ، 0.1uF انتخاب مناسب هستند.

دروازه

در صورتی که می خواهید یک سینت سازگار با سیگنال های V-Trig (ماشه ولتاژ) را دنبال کنید ، یک سری سری 1k اهم برای کاهش تخلیه جریان کافی خواهد بود. در مورد S-Trig (کلید ماشه) ، می توانید از یک مدار سوئیچ PNP ساده استفاده کنید (به طرح پیوست مراجعه کنید).

مرحله 5: نرم افزار

نرم افزار
نرم افزار

من سعی کردم طرح را تا آنجا که ممکن است واضح و "خواندنی" نگه دارم.

من بر روی یک صفحه ساده حساب کار کردم که در اینجا پیدا کردم که منحنی ولتاژ در مقابل Note# را استخراج کرده و مستقیماً از معادله در میکروکنترلر استفاده می کنم. معادله در نمودار بالا نشان داده شده است. من از C2 به عنوان یادداشت مرجع برای بدست آوردن رابطه یادداشت ولتاژ Vs سازگار با Arp/Korg (C0 - 0.25V ، C1 - 0.5V ، C2 - 1V ، C3 - 2V ، C4 - 4V ، C5 - 8V و غیره) استفاده کردم.

برای تنظیم خوب ، مجبور شدم برخی از متغیرها را برای اسباب بازی تعریف کنم … برای پیدا کردن مقادیر مناسب وقت بگذارید. تیونر لازم است

ما فرکانس pwm یک تایمر/شمارنده را افزایش می دهیم تا موج ولتاژهای خروجی کاهش یابد (به آسانی یک خط کد).

برای اینکه کد به بایت های ورودی پاسخگو باشد ، کد به شدت به فراخوانی توابع وابسته است.

شما به کتابخانه های Sparkfun "Adafruit_MCP4725.h" و چهل و هفت جلوه/"MIDI.h" فرانسوا بست نیاز دارید! (با تشکر فراوان از این افراد: بدون تلاش آنها این پروژه هرگز محقق نمی شد!).

فرض می کنم که Arduino IDE را در رایانه خود آماده کرده اید و می دانید چگونه یک طرح را در برد Arduino خود بارگذاری کنید.

من در زندگی واقعی رمزگذار نیستم ، بنابراین به احتمال زیاد این طرح را می توان به شیوه ای بهتر نوشت. من برای پیشنهادات آماده هستم (همیشه با نگاه کردن به کد برنامه نویس چیزی یاد می گیرم ؛))

یادداشت های اضافی در کد زیر نوشته شده است. دو کتابخانه را نصب کنید ، کد پیوست شده را روی IDE خود باز کنید ، برد خود را متصل کنید ، نوع برد را انتخاب کرده و بارگذاری کنید.

مرحله 6: عیب یابی

حتی اگر پروژه سطح پایینی داشته باشد ، هزاران چیز وجود دارد که ممکن است اشتباه پیش برود. اگر هنگام تلاش برای ایجاد جعبه MIDI به CV خود مشکلی دارید ، این مراحل را دنبال کنید:

1. مطمئن شوید که آردوینو به درستی پیام های MIDI را دریافت می کند

کانال خروجی صفحه کلید خود را بررسی کنید یا DAW یا Sequencer پیام های MIDI را به آن ارسال می کند. آردوینو به طور پیش فرض به کانال 1 گوش می دهد. "TEST_MIDI_IN.ino" را برای خواندن یک پیام یادداشت ورودی ON بارگذاری کنید.

2. سیم کشی های خود را دوبار بررسی کنید

… یا حتی بهتر: سه بار آنها را بررسی کنید! وقت خود را برای این کار اختصاص دهید.

3. آدرس و خروجی DAC را بررسی کنید

DAC را می توان طوری تنظیم کرد که داده ها را در آدرس متفاوتی نسبت به آدرس تعیین شده در طرح دریافت کند. آدرس را با اجرای "I2C_scanner.ino" بررسی کنید. در صورت بروز خطا "هیچ دستگاهی پیدا نشد" ، سیم کشی DAC خود را بررسی کنید (ورودی های SDA و SCL در بردهای مختلف آردوینو متفاوت است!). اگر اسیلوسکوپ دارید (حتی اسیلوسکوپ های دیجیتالی 15 یورویی به اندازه کافی خوب هستند … و می توانید با آنها بازی کنید!) می توانید خروجی DAC خود را با بارگذاری نمونه ژنراتور مثلث موج مثل نصب کتابخانه DAC بررسی کنید.

به یاد داشته باشید که وقتی یک optocoupler به ورودی RX برد arduino شما متصل می شود ، نمی توانید یک طرح جدید بارگذاری کنید !! یک سوئیچ (ممکن است یک بلوز ساده باشد) قبل از پین RX قرار دهید.

بیشتر این طرح های آزمایشی مال من نیستند یا حداقل بر اساس مطالب آنلاین موجود هستند.

این موضوع برای من بی صدا به نظر می رسد !؟

این یک مسئله واقعی نیست: معادله به دست آمده برای کنترل Hz/V "ایده آل" است. دور شدن از رفتار ایده آل می تواند از 5 ولت +ای که شما 5000 ولت تهیه نمی کنید ، از DAC و از خود دستگاه افزایش یابد. برای حل این مشکل ، باید از پتانسیومتر تنظیم صدا/تنظیم دقیق و "voil" یک کنترل MIDI کاملا تنظیم شده استفاده کنید.)

مرحله 7: پیوندهای مفید

fa.wikipedia.org/wiki/CV/gate

www.instructables.com/id/Send-and-Receive-…

www.songstuff.com/recording/article/midi_me…

pages.mtu.edu/~suits/NoteFreqCalcs.html

espace-lab.org/activites/projets/fa-arduin…

learn.sparkfun.com/tutorials/midi-shield-h…

provideyourown.com/2011/analogwrite-conver…

www.midi.org/specifications/item/table-3-c…

arduino-info.wikispaces.com/Arduino-PWM-Fr…

sim.okawa-denshi.jp/fa/PWMtool.php

توصیه شده: