תוכן עניינים:

עוד תיבת MIDI ל- CV: 7 שלבים (עם תמונות)
עוד תיבת MIDI ל- CV: 7 שלבים (עם תמונות)

וִידֵאוֹ: עוד תיבת MIDI ל- CV: 7 שלבים (עם תמונות)

וִידֵאוֹ: עוד תיבת MIDI ל- CV: 7 שלבים (עם תמונות)
וִידֵאוֹ: תפסתי אותה על חםםםם!!!!!! 2024, יולי
Anonim
עוד MIDI ל- CV Box
עוד MIDI ל- CV Box

עוד תיבת MIDI ל- CV היא פרויקט שפיתחתי כאשר Korg MS10 דפק לי בדלת והתרחש בסטודיו שלי. מכיוון שההתקנה שלי מתייחסת במידה רבה ל- MIDI לאוטומציה ולסנכרון של כל המכשירים, כאשר קניתי את MS10 הבעיה הראשונה שנאלצתי להתמודד איתה הייתה כיצד ליישם שליטה כזו.

Korg MS20/10 אינם הסינתזים הקלים ביותר ליישום MIDI כדי: קודם כל, הם מסתמכים על בקרת הרץ/V (מתאם לינארי בין מתח הבקרה ותדר התווים), במקום אוקטובר/V (1V לאוקטבה); שנית, כדי להפעיל פתק עליך לשלוח אות שער שלילי ולקצר את הקלט לאדמה (S-Trig), לא אות +5 V (V-trig).

ישנם פתרונות מסחריים שונים לשליטה במכשירים כאלה בימינו (כלומר Arturia Beatstep Pro, Korg SQ-1, Kenton Solo) אבל אני ממזר זול ואפילו 100 יורו זה יותר מדי עבור מכשיר "לא נשמע":).

הנה אנחנו אז: תן לי להראות לך כיצד לבנות תיבת MIDI לתקציב נמוך בתקציב כדי לשלוט/להפוך את המגרש, השער, המהירות ותדירות החיתוך של MIDI לפני בקר עם MIDI חיצוני (מקלדת, DAW, רצף או כל דבר אחר).

"מה עם מיני MS20 החדש?"

כפי שכמעט כולם יודעים, ה- MS20 החדש הוא למעשה מוכן ל- MIDI: IN עם מחבר MIDI 5 קוטבים ו- IN/OUT עם מחבר USB.

"אם כן, אם יש לי מיני MS20 הדבר הזה חסר תועלת!"

ובכן לא. MS20 mini מזהה רק הודעות הפעלה/כיבוי של פתקים והמקלדת אינה רגישה למהירות. אין דרך להתגבר על זה עם מקלדת Vintage או מיני MS10/20, אבל עם תיבת midi ומקלדת רגישה למהירות אתה זהוב. בנוסף, בעזרת תיבת MIDI אתה יכול להפוך את ניתוק המסננים (או כל פרמטר אחר שניתן לשלוט במתח) לאוטומטי או לווסת אותו על ידי פתק ה- MIDI הנכנס במהירות. שוב, ערוץ MIDI היחיד ש- MS20 mini מגיב אליו הוא ערוץ 1. בעזרת תיבה זו תוכל להתגבר גם על הגבול הזה.

"מה אם יש לי סינתר אוקטובר/וי?"

אין בעיה! הקוד שכתבתי תואם לסינתיסייזרים Oct/V (לא נבדק, אבל אני בטוח שזה יעבוד מחוץ לקופסה;)).

שלב 1: !! הערה זהירות - כתב ויתור

הציוד שלך יקר מאוד ואין להשתמש בו לביצוע בדיקות.

משחק עם חשמל עלול לפגוע קשות בציוד שלך או לפגוע בעצמך.

אינני יכול להיות אחראי לנזקים לציוד/לחומרה שלך או אפילו לעצמך הנובעים מהתוכנות או התוכניות או מידע או קישורים שדיווחתי עליהם בהוראה זו.

ראה הוזהרת!

שלב 2: הנדסת החומרה

Arduino שימושי כאשר מתמודדים עם פרויקטים כאלה. קיומה של קהילה גדולה וספריות טובות מאוד המתפרשות על כמעט כל משימה נפוצה הופכות אותה לבחירה הנכונה. כאן הלוח יתוכנת כך שיקרא נתוני MIDI נכנסים ולאחר מכן ישלח מתח מתאים להנעת:

- המגרש, על ידי המרת פלט pwm למתח אנלוגי להנעת ה- VCO באמצעות ממיר דיגיטלי לאנלוגי (DAC)

- מהירות, על ידי סינון פלט pwm להנעת ה- VCA בעזרת מסנן RC פשוט

- תדר ניתוק המסנן, על ידי סינון פלט pwm להנעת ה- VCF בעזרת מסנן RC פשוט

- שער, ישירות מתוך יציאה דיגיטלית במקרה של V-trig (שים 1 קוהם בסדרה עם הפלט כדי להפחית את הניקוז הנוכחי) או באמצעות מתג פשוט של טרנזיסטור pnp מחוץ ליציאה הדיגיטלית (ראה סכמטי המצורף לשלב הסכימות).

Arduino אינו מסוגל להוציא מתחים יציבים ישירות, אך פולסים 0/+5 V עם תקופות שונות (PWM). אנו זקוקים לממירים דיגיטליים לאנלוגיים (DAC) עבור pourpouse. מסנני RC הם ה- DAC הקל ביותר שאני יכול לחשוב עליו. מסנן RC מספיק טוב למגבר ולמסנן המבוקר על מתח (VCA ו- VCF). מסנני RC מותאמים כך שיתקבלו תדר ניתוק <20Hz (התדר הנמוך ביותר הנשמע).

עשיתי בדיקה עם קבלים לא מקוטבים בעלי קיבולת נמוכה וסיימתי עם ערך קיבולת של 0.1uF כדי להיות המתאימה ביותר. נבדק טוב ב- MS20 MKII.

למרבה הצער, איננו יכולים להסתמך על מסנן RC להנעת המתנד הנשלט (VCO) מכיוון שהוא לא יהיה מספיק מדויק (בקנה המידה של הרץ/V, בקצה התחתון שתי גוונים למחצה נוגדים זה מזה בפחות מ- 0.02V; ב- V /אוקטובר, שתי אייטמי חצי -חצי שונים נובעות מ- 0.083 וולט); אנו הולכים להשתמש ב- IC DAC (MPC4725) לשם כך.

גבולות ידועים

הגבלת מתח הכונן ל- 5V (מתח המוצא Arduino), טווח 0 עד 5V מלא מכוסה במהירות; החתך מכוסה למחצה (-5V עד +5V); טווח ה- VCO מכוסה חלקית בהיותו שבהרץ/וולט יידרש מתח של 8 וולט כדי להגיע ל- 440 הרץ A4. עם מגבלת תפוקה של 5V נוכל להניח את המתנד עד לתדר D4 בהרץ/וולט.

שלב 3: רשימת רכיבים

רשימת רכיבים
רשימת רכיבים
רשימת רכיבים
רשימת רכיבים
רשימת רכיבים
רשימת רכיבים

אתה זקוק ל:

1X ארדואינו UNO (או ננו)

1X MPC4725 לוח DAC

מחברי מונו 4X 1/8 "או 1/4"

מחבר MIDI 1X

מחבר אופטי 1X 6N138

דיודה 1X 1N4148

נגד 1 x 220 אוהם 1/4 W

נגד 470 אוהם 1/4 וואט

נגד 1K 10K אוהם 1/4 W

נגד 4X 1K אוהם 1/4 W

קבלים 2X 0.1 uF

טרנזיסטור pnp 1X BC547 (במקרה של S-trig)

תיבת ABS 1X (לפחות 55 x 70 x 100 מ מ)

… וכמובן קרש לחם או קרש, ברזל הלחמה, חוט הלחמה וכבלים (צריך להספיק 2 מטרים של 28 AWG).

שימו לב שבתמונות שמעל אב הטיפוס שלי מותקנות 100 כובעים אלקטרוליטיים uF, אך הם איטיים מדי בגלל זמן טעינת הקיבולת. קיבול של 0.1uF הוא הבחירה הנכונה.

השתמשתי במחבר נוסף לאספקת החשמל לארדואינו; אין צורך במיץ של המיקרו -בקר ישירות באמצעות מחבר ה- Mini -USB המשולב.

שלב 4: חיבורים/תרשימים

חיבורים/תרשימים
חיבורים/תרשימים
חיבורים/תרשימים
חיבורים/תרשימים
חיבורים/תרשימים
חיבורים/תרשימים

MIDI IN

מעגל MIDI IN פשוט ומתואר היטב ברשת. קח את המדריך המצוין הזה על MIDI וארדואינו מאת אמנדה גאסאי, למשל. בכל אופן הכנתי את סכמטי ה- n בנושא.

שים לב שהוספתי מתג בתוכנית MIDI IN (מתג 1): זה הכרחי בעת העלאת סקיצה חדשה ל- Arduino מכיוון שהאופטו מפריע לקו RX גם ללא הודעות midi נכנסות. עליך לפתוח את המתג לפני שתעלה את הסקיצה שלך, אחרת ה- IDE לא יעלה את הסקיצה החדשה.

בסופו של דבר תוכל לשנות את הסקיצה לשימוש בתקשורת תוכנה טורית.

DAC, מסנן RC, סינתזה

חיבור עבור DAC, מסנני RC וסינת '(גובה, שער ומהירות) מוצגים בתרשים למעלה. לקחתי לצורך הפניית לוח תיקון MS20 של Korg, אך בדקתי הכל גם ב- MS10. לחיבור הישיר של מהירות ה- CV לנקודת התיקון "רווח ראשוני" VCA אין כל השפעה (אני חייב לחפור את הדבר הזה עוד יותר) אבל אם תחבר אותו לנקודת התיקון "סה"כ ותעלה את הסירים החיצוניים הכוללים (MG/T. EXT), תוכלו לשמוע וריאציות צלילים נחמדות כפונקציה של מהירות התו.

הסכימות שלי (וגם האב -טיפוס שלי) אינן משתמשות בנגד מגביל זרם ביציאת DAC, אך תמיד כדאי למקם אחד כדי להבטיח חיים ארוכים למעגלים שלך. נגד 220 אוהם יהיה מספיק.

שים לב שבתרשימים שמעל 100 uF אלקטרוליטיים מדווחים, אך הם איטיים מדי בגלל זמן טעינת הקיבולת. כובעים לא מקוטבים, 0.1uF הם הבחירה הנכונה.

שער החוצה

במקרה שאתה עומד לרצף סינטה תואם לאותות V-Trig (טריגר מתח), נגזר מסדרת 1k אוהם כדי להפחית את הניקוז הנוכחי יהיה מספיק; במקרה של סינתר S-Trig (מתג מתג), תוכל להשתמש במעגל מתג PNP פשוט (ראה ערכה מצורפת).

שלב 5: התוכנה

התוכנה
התוכנה

ניסיתי להשאיר את המערכון ברור ו"קריא "ככל האפשר.

עבדתי על דף חישוב פשוט שמצאתי כאן כדי להפיק עקומת מתח לעומת הערה# ולהשתמש ישירות במשוואה במיקרו -בקר. המשוואה מוצגת בגרף למעלה. השתמשתי ב- C2 כפתק התייחסות כדי להשיג יחס הערה תואם מתח Arps/Korg (C0 - 0.25V, C1 - 0.5V, C2 - 1V, C3 - 2V, C4 - 4V, C5 - 8V וכן הלאה).

הייתי צריך להגדיר איזה משתנה לשחק איתו על מנת לקבל כוונון טוב … קח את הזמן כדי למצוא את הערכים הנכונים. מקלט נחוץ.

אנו הולכים להגדיל את תדירות pwm של טיימר/מונה כדי להפחית את אדוות המתח של הפלט (קל כמו שורת קוד).

כדי שהקוד יגיב על בתים נכנסים, הקוד מסתמך במידה רבה על שיחות חזרה לפונקציות.

אתה זקוק לספריות "Adafruit_MCP4725.h" של Sparkfun וארבעים ושבעה אפקטים/"MIDI.h" של פרנסואה בסט להרכבה! (תודה רבה לאנשים אלה: ללא מאמציהם הפרויקט הזה לעולם לא יתממש!).

אני מניח שיש לך Arduino IDE מוכן במחשב האישי שלך ואתה יודע כיצד לטעון סקיצה ללוח ה- Arduino שלך.

אני לא מקודד בחיים האמיתיים, ולכן סביר להניח שאפשר לכתוב את המערכון בצורה טובה יותר. אני פתוח להצעות (אני תמיד לומד משהו מסתכל על הקוד של הקודן;))

הערות נוספות כתובות בקוד להלן. התקן את שתי הספריות, פתח את הקוד המצורף ב- IDE שלך, חבר את הלוח שלך, בחר את סוג הלוח והעלה.

שלב 6: פתרון בעיות

גם אם הפרויקט ברמה נמוכה, ישנם המון דברים שעלולים להשתבש. אם אתה נתקל בבעיות בעת ניסיון ליצור תיבת MIDI ל- CV משלך, בצע את השלבים הבאים:

1. וודא כי Arduino מקבל נכון הודעות MIDI

בדוק את ערוץ הפלט שמקלדת או DAW או רצף שלו מוציאים אליו הודעות MIDI. Arduino מאזין לערוץ 1 כברירת מחדל. העלה את "TEST_MIDI_IN.ino" כדי לקרוא הודעה נכנסת ON.

2. בדוק שוב את החיווט שלך

… או אפילו יותר טוב: בדוק אותם משולשת! שמור את הזמן שלך בשביל זה.

3. בדוק את כתובת ה- DAC והפלט

ניתן להגדיר את ה- DAC לקבל נתונים על כתובת אחרת מזו שהגדרתי בסקיצה. בדוק את הכתובת על ידי הפעלת "I2C_scanner.ino". אם מתרחשת שגיאת "לא נמצא מכשיר", בדוק את חיווט ה- DAC שלך (כניסות SDA ו- SCL שונות בלוחות Arduino שונים!). אם יש לך אוסצילוקופ (אפילו האוסילוסקופים הדיגיטליים של 15 יורו מספיקים … וכיף לשחק איתם!) תוכל לבדוק את תפוקת ה- DAC שלך על ידי העלאת דוגמא למחולל המשולש הכלול בהתקנת ספריית DAC.

זכור שכאשר מחובר אופוטוקולר לכניסת RX של לוח הארדואינו שלך, לא תוכל להעלות סקיצה חדשה !! הצב מתג (יכול להיות מגשר פשוט) לפני סיכת ה- RX.

רוב סקיצות הבדיקה הללו אינן שלי או לפחות מבוססות על חומר מקוון קיים.

הדבר הזה נשמע לי לא מתאים !?

זו אינה בעיה אמיתית: המשוואה הנגזרת לבקרת הרץ/V היא "אידיאלית". כמה סחף מההתנהגות האידיאלית יכול לעלות מ -5 V +שאתה מספק בהיותו לא 5.000 V, מה- DAC ומהמכשיר עצמו. כדי לפתור עליך לפעול על פי ניגון הסינתור/כוונון עדין ו"ווילה "שליטת MIDI מכוונת לחלוטין;)

שלב 7: קישורים שימושיים

en.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/en-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/en/PWMtool.php

מוּמלָץ: