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

רצף מקטע Arduino MIDI Rhythm: 8 שלבים (עם תמונות)
רצף מקטע Arduino MIDI Rhythm: 8 שלבים (עם תמונות)

וִידֵאוֹ: רצף מקטע Arduino MIDI Rhythm: 8 שלבים (עם תמונות)

וִידֵאוֹ: רצף מקטע Arduino MIDI Rhythm: 8 שלבים (עם תמונות)
וִידֵאוֹ: Еще один барабанный секвенсор Arduino с минимальным аппаратным обеспечением drumseq81212 2024, יולי
Anonim
רצף מקטע Arduino MIDI Rhythm
רצף מקטע Arduino MIDI Rhythm
רצף מקטע Arduino MIDI Rhythm
רצף מקטע Arduino MIDI Rhythm
רצף מקטע Arduino MIDI Rhythm
רצף מקטע Arduino MIDI Rhythm

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

… הנה!

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

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

הוא מורכב בעיקר ממטריצת כפתורים של 4 על 4 (עם נוריות LED), אחת לכל שלב של סרגל. כל רצף 64 השלבים מורכב מ -16 שלבים כפול 4 ברים. כל שלב הוא 1/16 פתק.

ישנם שני אופני פעולה: מצב חי ומצב עריכה.

במצב עריכה אתה יכול למעשה לערוך שלב אחר שלב את הרצף שלך על ידי הגדרת איזה תוף ישמיע בכל שלב.

מכשיר החומרה החיצוני שלך ("תוף") מופעל על ידי שליחת הודעת MIDI "note on" עבור מספרים שונים של "MIDI note" בערוץ מספר "10". כברירת מחדל מספרי פתקים אלה הם

תוף מס '1 (כלומר בעיטה) -> מספר פתק MIDI "60"

תוף מס '2 (כלומר סנפיר) -> מספר פתק MIDI "62"

תוף מס '3 (כלומר מוחא כפיים) -> מספר פתק MIDI "64"

תוף מס '4 (כלומר Hihat) -> מספר פתק MIDI "65"

תוף מס '5 -> מספר פתק MIDI "67"

תוף מס '6 -> מספר פתק MIDI "69"

תוף מס '7 -> מספר פתק MIDI "71"

תוף מס '8 -> מספר פתק MIDI "72"

תוף מס '9 -> מספר פתק MIDI "74"

תוף מס '10 -> מספר פתק MIDI "76"

תוף #11 -> מספר פתק MIDI "77"

תוף מס '12 -> מספר פתק MIDI "79"

אתה יכול לשנות ערכים אלה (ואת ערוץ MIDI) בסקיצה אם אתה מעדיף.

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

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

קטע קצב?

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

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

שלב 2: חומרה

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

פרויקט זה מתממש סביב לוח Arduino DUE. ניסיתי לשמור על החומרה פשוטה ככל האפשר, כלומר על ידי הימנעות משימוש במנהלי LED. Arduino DUE כנראה לא הלוח המתאים ביותר להתמודד עם חבורת נוריות ללא נהג LED בגלל מגבלות זרם הפלט שלו (מ -5 mA עד 15 mA, תלוי בסיכה), אבל זה הארדואינו המהיר ביותר והתזמון הוא הכל בעת התמודדות. עם רצפים. אז זכור שתצורת החומרה הזו כנראה תדחוף את ה- Arduino שלך לגבולותיה ועלולה לפגוע בה בטווח הארוך.

עם זאת, החומרה היא בעיקר 16 כפתורים, 16 נוריות LED (אחת לכל שלב) עם 5 כפתורים נוספים לפונקציות ו -3 פוטנציומטרים. הוספתי גם נורית אדומה לאחר הוספת פונקציית הקלטה חיה.

להלן כתב החומרים:

- 1x Arduino DUE

- 16x כפתורי לחיצה רגעיים וללא נעילה עם נוריות משולבות (אתה יכול להשתמש בנורות חיצוניות אם אתה מעדיף, אך זכור להשתמש בנורות צריכת חשמל נמוכה !!)

- 1x אדום LED (הספק נמוך!)

- 5x כפתורי לחיצה רגעיים וללא נעילה

- 3x 10K סיבוב יחיד, ליניארי, פוטנציומטרים

- נקבה בגובה 3x 6.5 מ מ

- מארז פלסטיק 1x (השתמשתי במארז 190x140x70 מ מ)

- מחבר שקע פנל מסוג DIN 5 נקבה בעל 5 פינים (MIDI)

- לוח דו צדדי בגודל 70X90 מ מ

- רצועת כותרת סיכה אחת עם פינים של 40 סיכות אחת (2.54 מ מ), עדיף אם מצופה זהב

- 1x H11L1 מצמד אופטי

- דיודה 1N4148 1x

- נגדי 23x1000 אוהם

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

- טרנזיסטורים pnp 2 x BC547

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

שימו לב שהכפתורים בתמונות הוחלפו בסוג אחר של כפתורי לחיצה (אפילו יותר זולים …) בגלל ההקפצה המקוממת …

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

אזהרה: הרכיבו תמיד משקפי מגן וכפפות בזמן הקידוח! כתמי חומר חמים יכולים להיות מוקרנים לעיניך או לבוא במגע עם העור שלך ולגרום לכוויות או אפילו נזק חמור יותר לך או לאנשים מסביבך

שלב 3: חיווט

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

לחצני שלב מחוברים ישירות לסיכות Arduino מ 22 (שלב 1) עד 37 (שלב 16). אדמת הכפתורים כבולה חיננית ומחוברת לקרקע ארדואינו DUE. אין צורך בנגדי Pullup או Pulldown מכיוון שנגדי Pullup משולבים של Arduino מופעלים על ידי תוכנה (ראה הסקיצה).

אותו הדבר לגבי 5 הכפתורים הנוספים (סיכות Arduino 2, 3, 4, 5 ו- 6), המשמשים לפונקציות שאינן שלבים. הנחתי גם מחבר שקע נקבה בגודל 6.5 מ"מ במקביל לכפתור "התחל" על מנת שאוכל לשחק ולעצור את הרצפים שלי מרחוק.

נוריות מחוברות לסיכות קרקע (שרשרת דייזי) ו- Arduino DUE מ -38 (שלב מספר 1) עד 53 (שלב מספר 16) בסדרה עם נגד 1K אוהם כל אחת כדי להגביל את הניקוז הנוכחי ולשמור על המיקרו -בקר.

פוטנציומטרים מחוברים כפי שמוצג בתמונה המצורפת. שימו לב כי מתח ההתייחסות הוא 3.3V, לא 5V. הכניסות המשמשות הן A0, A1 ו- A2.

יישמתי גם שני יציאות טריגר לאותות ארפג'יו, כמו אלה הדרושים כדי להבליט את הסינתר הישן של שנות ה -80 כמו קורג פוליסיקס ורולאן ג'ונו 6/60. הם מחוברים לסיכות A3 ו- A4, אבל אתה יכול להשתמש בסיכות דיגיטליות אם אתה מעדיף להיות אותות דיגיטליים. במקרה שאתה עומד לרצף סינטה תואם לאותות V-Trig (טריגר מתח), נגזר מסדרת 1k אוהם כדי להפחית את הניקוז הנוכחי יהיה מספיק; במקרה של סינתר S-Trig (מתג מתג), תזדקק למעגל מתג pnp פשוט (ראה ערכה מצורפת).

מעגלי MIDI IN ו- OUT מתואמים בתמונות המצורפות. שימו לב שבניגוד לרוב הארדואינים, Rx1 ו- Tx1 משמשים כברירת מחדל בלוחות DUE במקום ב- Rx0 ו- Tx0. זה נהדר מכיוון שאתה יכול להעלות את המערכון שלך ללא צורך לנתק את Rx בכל פעם. שים לב גם שהשתמשתי במתאם אופטי H11L1 מכיוון שלא הצלחתי להריץ כפי שהוא אמור להיות 6N138 משותף בגבול ה- 3.3 V של Arduino.

שלב 4: תוכנה

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

אתה יכול להוריד את הקושחה המעודכנת HERE (קישור github).

המערכון נשען על ספריית ה- MIDI המעולה של FortySevenEffects. יהיה עליך להתקין את הספרייה ב- arduino IDE שלך.

הערות MIDI out שהוקצו לכל תוף מוגדרות על ידי משתנה drumNote [STEPS_NUM] בסקיצה. אתה יכול לשנות אותם כרצונך.

מספר ערוץ MIDI out לתופים מוגדר כ- "10" כברירת מחדל.

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

שלב 5: מדריך להתחלה מהירה

תופים: רצף שלב אחר שלב

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

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

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

כעת, לאחר שיצרת תבנית יפה, המשך ללחוץ על "shift" וכבה את המדרגה המסומנת בשורה התחתונה (זה אמור להיות השלב הראשון של השורה הרביעית אם אימצת את אותה הפריסה שבה השתמשתי): יש לך רק " ביטול נעילה "הרצף שידרוס כעת את כל ארבעת הסורגים. נוריות LED גולמיות תחתונות יתחילו "לזוז", מה שמציין איזה סרגל מושמע כרגע (התקדמות סרגל). תוכלו להבחין שרק כאשר בסרגל הראשון ישחק רצף, כאשר כל שלושת הברים האחרים לא יישמעו קולות. הסיבה לכך היא שהקצאת תופים רק לסרגל הראשון, האחרים נותרים ריקים. אתה יכול למלא אותם ביד (בחר סרגל חדש על ידי לחיצה על אחד מ -4 כפתורי השלבים האחרונים תוך כדי לחיצה על "shift", בחר באחד התופים, מלא את השלבים וכו 'וכו') או העתק והדבק את רצף הסורגים שיצרת. לכל הסורגים על ידי כניסה למצב עריכה (נעילה מחדש לסרגל הראשון) ולחיצה על "רשומה" (שכעת מניחה את הפונקציה "הדבק") תוך לחיצה על "shift". נעשה יותר קל ממה שנאמר.

תופים: מצב הפעלה בשידור חי

בעת ההפעלה הרצף נמצא במצב עריכה. כדי לצאת ממצב עריכה עליך ללחוץ על "shift" וללחוץ על כפתור הבר שמוחזק/נעול כעת (כפתור הצעד בשורה הרביעית מופעל). פעולה זו תכבה את הנורית של הסרגל הנעול בעבר ותיפתח את הרצף. אתה נמצא כעת במצב הפעלה חיה.

במצב הפעלה חיה, על ידי לחיצה על לחצן צעד כלשהו התוף המשויך לאותו כפתור יופעל.

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

פעולות אחרות

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

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

ניתן לנקות רצף תופים ספציפי על ידי לחיצה על כפתור הצעד היחסי תוך לחיצה על כפתור "REC".

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

אתה יכול "להניף" את הרצף שלך על ידי סיבוב הפוטנציומטר "הנדנדה".

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

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

שלב 6: קטע קצב

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

לסיכום:

- במצב LIVE, אם הקלטת LIVE מופעלת והרצף התחיל, תוכל להקליט הודעות נכנסות של MIDI נכנסות באופן פוליפוני. פרטי המגרש והנפח יישמרו. עיקול המגרשים ומידע אחר הצהריים אבודים. הודעות MIDI Control Change יישמרו. זכור שיש לך רק חריץ CC אחד לכל ערוץ, לכל שלב.

- אם הרצף מופסק, תוכל להקליט עד 3 ערכי גובה (אקורד) לשלב מסוים של סרגל ספציפי על ידי לחיצה על לחצן שלב היעד ולחיצה (במקביל או אחד אחד) על המקשים הרצויים על הכפתור המקלדת מחוברת ליציאת MIDI IN.

שים לב ש:

- הפתק המופעל על מדרגה "נהרג" כבר בשלב הבא. כדי להגדיל את אורך השטר, פעל על פי פרמטר VCA "שחרור" של הסינתיסייזר שלך.

- בניגוד לתופים, לא ניתן לנגן תווים בגליל על ידי לחיצה על כפתור "גליל".

- בעת הקלטת LIVE, נתוני ערוץ MIDI הנכנסים נשמרים בשלב "התוף" היחסי (ערוץ MIDI #1 -> "תוף" #1 וכן הלאה).

אתה יכול לנקות רצף סינתטי ספציפי על ידי לחיצה על כפתור הצעד "התוף" היחסי תוך לחיצה על כפתור "REC". לחיצה עליו שוב תנקה גם את רצף התופים. אם נרשם רצף CC, זה יהיה הראשון שנמחק, ולאחר מכן בעקבות הצו CC -> Synth -> תוף

שלב 7: מפעילים ארפג'יו

תחילת שנות ה -80 של המאה הקודמת סינתזים מצוידים לעתים בכניסת "קלט טריגר ארפג'יו". על ידי שליחת אות טריג של 2.5 עד 5.0 וולט (V-trig או "טריגר מתח") או על ידי הארקה של קלט ההדק של arpeggio (S-Trig או "switch switch") אתה יכול להגיד לסינתיסייזר להתקדם שלב אחד על רצף ארפג'יו. זה יכול להיות קשה לנהל עם רצף ללא טריגר אאוט ייעודי (לפעמים צלילי "rimshot" ממקום ייעודי היכן/משמשים כמתכשיר לסינתזים של V-trig) אך עם לוח מיקרו-בקר אתה יכול לנהל בקלות אותות ושליטה כאלה. את הארפג'י הסינתטי שלך כפי שנועד על ידי המפעל.

רצף מקטעים זה כולל את האפשרות להפעיל את arpeggiator של שני סינתיסייזרים שונים, באופן עצמאי.

השימוש קל מאוד: בחר תוף 11 או 12 (לחץ על שלב 11 או 12 תוך לחיצה על "shift") והפעל את הצעדים שתרצה שהארפגיאטור יזיז של שלב אחד. בדרך זו תוכל "לתכנת" אורך 1/16 של פתק אורך ארגזים רגיל על ידי הפעלת כל השלבים, או 1/8 על ידי הפעלת כל שלב אחר. בנוסף, תוכל לתכנת ארפגוסים מורכבים יותר על ידי הפעלת שלבים בעקבות נתיב לא רגיל.

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

שלב 8: אם דברים לא עובדים …

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

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

אתה יכול להוריד את קושחת הבדיקה האחרונה כאן (קישור GitHub).

סקיצת המבחן פועלת כדלקמן:

- לחץ על כפתור צעד: נורית ה- LED המתאימה צריכה להידלק והערת MIDI בערוץ 10 תישלח לפלט MIDI.

- לחץ על כפתור פונקציה: אחד מ -5 הנורות הראשונות יידלק.

-סובב פוטנציומטר: נוריות LED ידלקו בהתאם (סיר ראשון -> שורת נוריות ראשונה, סיר שני -> שורת נוריות שנייה, סיר שלישי -> שורת נוריות שלישית).

- אם מתקבלת הערת MIDI מופעלת, נורית הנורית הראשונה תהבהב.

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

מוּמלָץ: