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

תחנת MIDI לולאה ארדואינו מרובת מסלולים: 6 שלבים
תחנת MIDI לולאה ארדואינו מרובת מסלולים: 6 שלבים

וִידֵאוֹ: תחנת MIDI לולאה ארדואינו מרובת מסלולים: 6 שלבים

וִידֵאוֹ: תחנת MIDI לולאה ארדואינו מרובת מסלולים: 6 שלבים
וִידֵאוֹ: Setting up a 3d Printer with MKS sGen L v1.0 2024, יולי
Anonim
תחנת MIDI לולאה מרובת מסלולים של Arduino
תחנת MIDI לולאה מרובת מסלולים של Arduino
תחנת MIDI לולאה מרובת מסלולים של Arduino
תחנת MIDI לולאה מרובת מסלולים של Arduino
תחנת MIDI לולאה מרובת מסלולים של Arduino
תחנת MIDI לולאה מרובת מסלולים של Arduino

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

יש הרבה תחנות לולאת הקלטת אודיו בחוץ, הן בצורה של חומרה ייעודית (כמעט לכל יצרן דוושות גיטרה יש מוצר משלה) או תוכנת מחשב (ה- Linux Sooper Looper המעולה או Windows Mobius, אם לציין את המוכרים ביותר). יכולתי למצוא רק כמה פרויקטים על DIY שאינם אודיו אבל לופרים של MIDI, כלומר כלי להקלטת אירועי MIDI ולהפעיל אותם מיד בלופ; רוב הפרויקטים האלה (כולם, אני צריך לומר) נטושים או אבודים … ובכן, הנה פרוייקט שלם לכולם!

תחנת לולאת MIDI Arduino זו פשוט עוקבת אחר אירועי MIDI הנכנסים ומשמיעה אותם. אתה רק צריך ללחוץ על דוושת ההקלטה, ליצור את הריף הכי טוב שלך אי פעם ולהפסיק להקליט על ידי לחיצה על הדוושה שוב. סופר קל:)

פרויקט זה מבוסס על חומרה פתוחה שקל למצוא (Arduino DUE), תוכנה (הקושחה שלי ו- Arduino IDE) וניתנת להתאמה אישית כך שתשקף את העדפותיך.

בוא נעשה את זה!

נ.ב.: כן, זה סופר זול!

שלב 1: גבולות

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

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

- לא ניתן לאחסן ולשחק לולאות לאחר כיבוי. אתה יכול לשלוח אותם למחשב ולשמור אותם.

- אין כימות הערות.

- שעון MIDI נתמך, אך בשלב מוקדם בשלב זה.

- הודעות MIDI מוקלטות הן הערה מופעלת, פתק כבוי, שינויי שליטה וכיפוף גובה; הודעות MIDI אחרות כגון: לאחר מגע, שינוי תכנית, SysEx וכו 'אינן מתייחסות.

- פוליפוניה מקסימלית מוגדרת כ -10 כברירת מחדל (שוב, מגבלות זיכרון Aduino DUE).

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

אם נראה לחיות עם המגבלות האלה סביר (וזה בשבילי), יהיה לך מאוד טוב עם הדבר הזה;)

שלב 2: איך זה עובד

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

1) בחר את הרצועה שאליה ברצונך להקליט את רצף ה- MIDI שלך. כברירת מחדל מסלול "אחד" נבחר, אך ניתן לשנות אותו על ידי לחיצה על אחד מכפתורי הרצועות (אחד לכל רצועה).

2) כאשר אתה לוחץ על המתג/דוושת רגל "REC" בפעם הראשונה, הלופר מופעל. נורית הלד הירוקה נדלקת. זה יחכה עד שההערה הראשונה שלך תתקבל לפני שתתחיל להקליט את הרצף/הריף בפועל.

3) לאחר שסיימת את הרצף שלך, לחץ שוב על המתג/דוושת כף הרגל "REC" כדי להגדיר את אורך הריף בפועל. נורית הלד הירוקה כבויה. הלופר יתחיל לשחזר את רצף ה- MIDI שלך באופן מיידי. אם תגיע לזמן המקסימלי, ההקלטה תיפסק אוטומטית והרצף יתחיל להיות משוכפל בלולאה.

4) כעת, אתה יכול להחליט להקדים את הרצף שלך על הרצועה הנוכחית או לבחור רצועה חדשה ולהקליט עליה, על ידי לחיצה על המתג/דוושת "REC". בשני המקרים הנורית הצהובה תדלק, גם אם המסלול החדש ריק, מכיוון שמדובר במסלול "עבד" (עבדים לרצועה הראשונה ביותר שנרשמה). לחץ שוב כדי לעצור את הדיוור יתר (נורית צהובה כבה).

לאלה מכם הנוחים עם תחנות לולאת אודיו, התקדמות MIDI זו נקראת "REC/PLAY/OVERDUB" והיא היחידה הנתמכת.

אם בכל עת אתה מרגיש שהאובר -דאב האחרון שלך אינו תקין, תוכל למחוק אותו על ידי לחיצה על מתג "ביטול"/דוושת כף הרגל. אתה יכול לנקות את כל המסלול הנוכחי על ידי לחיצה על דוושת "REC" למשך יותר מ -3 שניות; אתה יכול לאפס את הלופר (איפוס תוכנה) על ידי לחיצה על שלושת כפתורי המסלול הראשונים במקביל או על ידי ניקוי כל הרצועות המשומשות.

ניתן להשתיק/לבטל השתקה של רצועה על ידי לחיצה על כפתור הרצועה של הרצועה הנוכחית.

אתה יכול לשלוח פאניקה! הודעה על ידי לחיצה על כפתור הבהלה. אתה יכול אפילו לשלוח פאניקה! הודעה על ידי לחיצה על שני כפתורי הרצועות הראשונות במקביל.

ללופר יש מטרונום פשוט מובנה: הערה בהודעת MIDI עבור הערה מספר "64" נשלחת במהירות של 100 BPM בערוץ 10 (הערוץ שאפשר להניח שמכונת התופים שלך מאזינה לו). אתה יכול להגדיל או להקטין את הקצב על ידי סיבוב המקודד האופטי; על ידי לחיצה על מתג המקודד האופטי תוכל להפעיל/להשבית את המטרונום. שים לב כי מכשיר התופים שלך חייב להיות מוגדר לנגן צליל (סנוור, בס או כל צליל שאתה מעדיף) בעת קבלת הערת MIDI "64" או שהמטרונום יהיה מושתק.

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

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

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

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

שלב 3: חומרה

חוּמרָה
חוּמרָה
חוּמרָה
חוּמרָה
חוּמרָה
חוּמרָה
חוּמרָה
חוּמרָה

כתב חומרים:

תחנת MIDI לולאה מלאה עם 5 רצועות

1x Arduino DUE

7x כפתורי לחיצה רגעיים

מארז פלסטיק 1x (השתמשתי במארז 150 על 110 על 70 מ מ)

2 x 5 פינים DIN נקבה מחבר שקע MIDI

1 x שקע שקע בעל 6.3 מ מ

1x לוח דו צדדי 50x70 מ מ

5x 3 מ מ LED (ירוק)

1x 3 מ מ LED (צהוב)

מקודד אופטי 1x

מחבר אופטי H11L1

1x דיודה 1N4148

נגדי 3x 1000 אוהם

נגדים 3x 220 אוהם

נגדי 10x 470 אוהם

קצת חוט הלחמה, כמה כבלים, תחנת הלחמה … וזמן פנוי:)

הזמן הנדרש להשלמת הפרויקט: 6-9 שעות

למה לא UNO?

בדיקות ראשונות (וקוד עבודה מתחיל) נכתבו על לוח UNO ארדואינו "רגיל". ללוח זה יש גבולות RAM שאילצו אותי לצמצם את הפוליפוניה ל- "4", אורך מקסימלי לפחות מ -4 שניות ורזולוציה של 40 ms במקס. זאת ללא טיפול רב ערוצי. על ידי הסרת מדידת המהירות, הצלחתי להגדיל את זמן ההקלטה עד 7 שניות.

עם UNO תוכל לממש אז תחנת לולאה MIDI "עובדת", אך מוגבלת מאוד.

שלב 4: תוכנה

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

Arduino IDE והקהילה שלה הם חלק חשוב נוסף ב"הצלחה "הזו.

לא אכנס לפרטים כיצד להעלות את הסקיצה ל- arduino DUE שלך. אם זו הניסיון הראשון שלך עם arduino IDE, אנא קרא זאת תחילה.

כתבתי שתי גרסאות שונות של הקוד, המבוססות על שתי גישות שונות לחלוטין.

עקרון העבודה של גרסה 1 הוא שבמהלך הקלטה או דיבוב יתר של Arduino DUE בודקים ומאחסנים בזכרון ה (נדיף) שלה את אירועי ה- MIDI הנתמכים (הערה על, הערה כבויה, שינוי שליטה והתכופפות); ציר הזמן מכמת בשלבים של 20 אלפיות השנייה והודעות שהתקבלו מאוחסנות בחריצים האלה בהתאם. תוך כדי משחק, הודעות MIDI המאוחסנות נשלחות בחזרה לסינת'ר בכבוד לכמות הזמן.

עקרון העבודה של גרסה 2, במקום זאת, הוא להקליט "פשוט" אירוע מידי ושעה שבהם יש להפעיל את האירוע. לגרסה 2 יש גבולות שונים מגירסה 1 (המופיעה בשלב הקודם). נסה את שניהם והשתמש באחד המתאים לך יותר.

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

אתה יכול לבטל את השעון החיצוני על ידי לחיצה על כפתור ה"בהלה "בעת הפעלת הלופר.

הקודים מועלים כאן. הערות מונחות על כולן, כך שתוכל לכופף את הקושחה לפי רצונך;)

שלב 5: חיווט

חיווט
חיווט
חיווט
חיווט
חיווט
חיווט

מעגלי MIDI IN ו- MIDI OUT מדווחים בתמונות המצורפות. שימו לב שמשתמשים ב- TX1 ו- RX1, לא ב- TX0 וב- RX0.

סיכות הכניסה של Arduino DUE לא יכולות להתמודד עם 5V, אבל 3.3V; זו הסיבה מדוע נעשה שימוש במצמד אופטי H11L1 במקום 6N138 נפוץ יותר. יש לי עדויות לכך ששימוש ב- 6N138 יחד עם מחלק מתח להפחתת מתח האות העובר ל- TX1, כמו בפרוטוטייפ הראשון שלי, יכול לעבוד בצורה לא יציבה בחלק מההגדרות.

נוריות מחוברות לסיכות פלט של Arduino DUE באמצעות נגדים של 470 אוהם. אתה יכול להשתמש בנגדים עד 1K אוהם כדי להפחית את הזרם העובר ללדים ולהפחית את בהירותם.

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

המקודד האופטי מחובר ל- GND ו- +5V. הוא עובר לסיכות קלט של Arduino העוברות דרך 2 480 נגדים של אוהם, אחד לכל פלט נתונים אופטי.

Arduino DUE מופעל ישירות מפין 5V ונטען באמצעות רכזת +5V DC.

כל הטעמים קשורים זה לזה.

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

שלב 6: מה אם יש לי יותר ממקור MIDI אחד?

מה אם יש לי יותר ממקור MIDI אחד?
מה אם יש לי יותר ממקור MIDI אחד?

לאחר חיפוש קצר אחר מיזוג MIDI, גיליתי שהפתרון המעשי (והזול ביותר) הוא מחליף MIDI.

מחליף MIDI הוא מכשיר פסיבי המאפשר מקור MIDI ומשבית את כל שאר המקורות. פשוט כמו זה.

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

ב- LINK זה תוכנית.

מוּמלָץ: