תוכן עניינים:
- אספקה
- שלב 1: קונספט
- שלב 2: הכינו את מד התאוצה
- שלב 3: בנה את הכפפה
- שלב 4: חיבור ב- Ableton
- שלב 5: התחל להשתמש ב- Firmata
- שלב 6: בדוק את Firmata
- שלב 7: השפיע על מוזיקה עם תנועות הידיים שלך
- שלב 8: שיעור המסלול (בונוס!)
- שלב 9: אורך מסלול, פעימות ועוד (בונוס!)
וִידֵאוֹ: כפפת ריקוד: 9 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:13
במדריך זה אלווה אותך בעיצוב כפפה המאפשרת לך ליצור אינטראקציה עם מוזיקה באמצעות ריקוד. אתה תבנה כפפה המותאמת למד תאוצה, תעצב קומפוזיציה באבלטון ואז תחבר את השניים בצורה מורכבת או פשוטה כמו שאתה רוצה!
אספקה
- Ableton (או ניסיון חינם)
- ארדואינו
- כבלי מגשר
- מלחם
- קַרטוֹן
- אקדח דבק חם
- הרבה דמיון
שלב 1: קונספט
פרויקט זה נועד להיות מהנה. אם הדרך שבה הפרויקט לדוגמה במדריך זה עובד אינה מהנה עבורך, תכנן אותו מחדש!
אני ממליץ לשים כמה מהשירים האהובים עליך, להעביר אליהם את הידיים ולראות מה קורה. אתה מזיז את הידיים למעלה ולמטה? צד לצד? לאט או מהר? אילו היבטים במוזיקה גורמים לך לרצות להזיז את הידיים? אם יש לך רשימה של אלה שנכתבו, סביר להניח שתוכל למצוא כמה דרכים לשלב את התנועות שאתה נהנה מהאלגוריתמים בסופו של דבר.
להלן התנועות בהן השתמשתי:
- תנועה מהירה למעלה ולמטה מפעילה את תחילת השיר, התופים או הבס. (אלה קורים בנקודות שונות בשיר, לאו דווקא במקביל!)
- תנועה איטית ומטיפה מצד לצד מעוררת צליל הד, גבוה יותר.
- בקטע מסוים של השיר, הטיית היד כלפי מעלה הופכת את המוזיקה לשקטה - אז "תפסתי" אותה באגרוף הסגור שלי.
השתמש באלה או עשה בעצמך!
(שימו לב: הדרכה זו אינה מכסה כיצד לייצר מוזיקה או מנגינות בשידור חי באבלטון! אם תעמדו בהנחיות אלה, תוכלו רק להגדיל/להקטין את עוצמת השירים או ליישם אפקטים של אודיו.)
שלב 2: הכינו את מד התאוצה
ראשית, בדוק איזה סוג של מד תאוצה יש לך. השתמשתי בזה; כל מד תאוצה בעל שלושה צירים יעשה. (או נסה חיישן מסוג אחר אם אתה רוצה להשתולל.) ודא שאתה יודע לקרוא את נתוני מד התאוצה מהארדואינו. ייתכן שיהיה עליך להוריד ספרייה עבור מד התאוצה שלך אם הוא משתמש במשהו מורכב יותר מאשר קלט אנלוגי.
לאחר שבדקת את זה עם קרש לחם, הלחם חוטים קצרים עם קוד צבע לפינים של מד התאוצה שלך. הכנס חוט אדום לסיכת החשמל, חוט שחור בסיכה הקרקע וכל חוטים נחוצים אחרים לתקשורת של מד תאוצה. (אם יש לך מד תאוצה I2C, זה יהיה סיכות SCL ו- SDA. אם יש לך מד תאוצה אנלוגי, סביר להניח שיהיה סיכה אחת לכל אחת מיציאות x, y ו- z.) ודא שהלחמה שלך מוצקה שהחרוזים לא חופפים בין סיכות סמוכות.
שלב 3: בנה את הכפפה
חותכים חתיכת קרטון דק או נייר עבה למלבן מעט גדול יותר ממד התאוצה שלך. הדבק את מד התאוצה לקרטון וודא שאתה שם דבק בתחתית. לאחר מכן הדבק את מד התאוצה בגב הקרטון לחלק האחורי של הכפפה שלך. לתפור כל חוט באופן רופף על פרק כף היד של הכפפה כדי להקל על המתח על מד התאוצה, ואז הכפפה שלך מוכנה. חבר אותו לחוטים ארוכים יותר כדי שיהיה לך מספיק מקום להזיז את היד כשהוא מחובר לחשמל.
שלב 4: חיבור ב- Ableton
עכשיו הגיע הזמן לחבר את השיר שבסופו של דבר תשתמש בכפפה לשליטה. אני ממליץ על לולאות Ableton שכולן נשמעות טוב יחד, אך ניתן להשתמש בהן כדי לבנות בהדרגה: נסה מנגינה, אקורדים, בס וכלי הקשה. תוכל להשתמש בכפפה בכדי לשלוט מתי כל לולאה משחקת או לא.
אם אתה יכול לחשוב על סוגים מעניינים של צלילים לשלב מדי פעם בשיר, כמו אפקט צליל מוזר או כלי לא שגרתי, נסה להוסיף באחד או שניים מהם גם כן! אתה יכול לקשור אותן לתנועות יד פחות שכיחות כדי להביא משהו מעניין מדי פעם.
להלן קישור להרכב שלי התואם Arduino, למקרה שאתה לא רוצה לכתוב אחד משלך:
(למרבה הצער, לימודך Ableton אינו בגדר ההדרכה. עם זאת, יש הרבה סרטוני הדרכה טובים, ולאבלטון יש ניסיון חינם של 90 יום! אני ממליץ על הסרטון הזה.)
שלב 5: התחל להשתמש ב- Firmata
על מנת לאפשר ל- Arduino שלך לתקשר עם Ableton, יהיה עליך להשתמש בספרייה בשם Firmata. יהיה עליך גם להוריד את ערכת החיבורים לאבלטון.
באבלטון, לחץ על חבילות> ערכת חיבורים> מכשירים בתפריט שבפינה השמאלית העליונה ולאחר מכן לחץ פעמיים על המכשיר הראשון (Arduino) כדי להוסיף אותו. הקפד לזכור לאיזה מסלול Ableton הוספת את המכשיר!
שלב 6: בדוק את Firmata
ראשית, נבדוק ונוודא שהארדואינו שלך מתקשר עם Ableton. העלה את קטע הקוד הזה ל- Arduino שלך והפעל אותו:
#include void analogWriteCallback (pin byte, int int) {if (IS_PIN_PWM (pin)) {pinMode (PIN_TO_DIGITAL (pin), OUTPUT); analogWrite (PIN_TO_PWM (סיכה), ערך); }} הגדרת void () {Firmata.setFirmwareVersion (FIRMATA_FIRMWARE_MAJOR_VERSION, FIRMATA_FIRMWARE_MINOR_VERSION); Firmata.attach (ANALOG_MESSAGE, analogWriteCallback); Firmata.begin (57600);} לולאת void () {Firmata.sendAnalog (0, 800);}
זהו המינימום הדרוש כדי לתקשר עם Firmata. הוא שולח באופן רציף פלט של 800 (מתוך 1024) ליציאה 0 של התקן Firmata באבלטון. אם אתה מעלה את הקוד הזה ל- Arduino שלך בזמן שיש לך מכשיר Firmata פתוח ב- Ableton, הוא אמור להיראות כמו התמונה למעלה. (מפה את יציאת 0 לכל דבר באבלטון בכדי שתוכל לראות את הערכים.)
תוכל ללחוץ על הלחצן מפה ולאחר מכן על כל התקן תואם Firmata ב- Ableton כדי להוסיף מיפוי בין הקלט המתקבל ליציאה ההיא לבין הערך של אותו מכשיר Ableton. דוגמאות קלות כוללות את עוצמת הקול של כל רצועה או כל חיוג בתוך אפקט שמע. חקור וראה מה אתה יכול למצוא כדי למפות!
שלב 7: השפיע על מוזיקה עם תנועות הידיים שלך
בשלב זה אמורה להיות לך קצת מוזיקה באבלטון, תסריט Firmata בארדואינו שלך וכפפת מד תאוצה מחוברת. בואו לעשות קצת מוזיקה!
מפה יציאות של התקן Arduino באבלטון לדברים שונים (אני מציע נפח מסלול), ולאחר מכן הוסף שורות קוד לשליחת נתונים לכל יציאה מהארדואינו.
Firmata.sendAnalog (יציאה, volumeLevel);
השתמש בקוד כזה עבור כל יציאת Firmata.
אם אתה רוצה לעשות משהו פשוט, אתה יכול לשלוח את ערכי מד התאוצה שלא מעובדים ליציאות Ableton ולמפות אותם משם. לחוויה מתוחכמת יותר אתה יכול להחליט: אילו ערכי מד תאוצה צריכים להפעיל צלילים, כיצד ומתי?
לאחר מכן, שחק את כל לולאות Ableton שלך, הפעל את קוד ה- Arduino שלך ורקוד!
(כתב ויתור: אם אתה מתכנן ליצור אלגוריתם מורכב כלשהו לשיר שלך, יתכן שייקח הרבה זמן לכוונן. "לרקוד משם" עשוי להיות פחות מדויק מהצפוי.)
שלב 8: שיעור המסלול (בונוס!)
אם לא אכפת לך לצוץ נפח או שיש לך דרך אחרת להקל עליו, דלג על שלב זה. אחרת, המשך לקרוא!
שמתי לב שהחלפת עוצמת הקול ממושתקת למלאה בבת אחת יוצרת כמה קולות קופצים לא נעימים, וזה נחמד להיות מסוגל לדעוך את עוצמת הקול בהדרגה יותר. עם זאת, קשה לעשות זאת בסביבת התכנות הסינכרונית של הארדואינו. אז הנה קצת קוד שיגרום לקופצות להיעלם:
מסלול בכיתה {public: int volume; int volumeGoal; int updateSpeed; Track () {volume = 0; volumeGoal = 0; updateSpeed = 0; } void setVolumeGoal (int goal) {volumeGoal = goal; } int getVolumeGoal () {return volumeGoal; } void setUpdateSpeed (int fastness) {updateSpeed = מהירות; } int getVolume () {נפח החזרה; } void updateVolume () {if ((volume> volumeGoal) && ((volume - volumeGoal)> = updateSpeed)) {volume - = updateSpeed; } אחרת אם ((volume = updateSpeed)) {volume += updateSpeed; }} השתקת חלל (מהירות int) {volumeGoal = 50; updateSpeed = מהירות; } חלל מלא (מהירות int) {volumeGoal = 950; updateSpeed = מהירות; }};
לכל מסלול יש נפח נוכחי, נפח מטרה ומהירות שבה הוא מתקדם לעבר נפח המטרה הזה. אם ברצונך לשנות את עוצמת הקול של רצועה, התקשר ל- setVolumeGoal (). בכל פעם שאתה מפעיל את פונקציית הלול () בארדואינו שלך, התקשר ל- updateVolume () בכל רצועה ולאחר מכן שלח את המידע הזה ל- Firmata באמצעות getVolume (). שנה את מהירות העדכון לדהייה מהירה או הדרגתית יותר! כמו כן, הימנע מהגדרת עוצמת הקול ל -0 אם אתה יכול; במקום זאת, הגדר אותו לערך נמוך מאוד (ברירת המחדל ב- mute () היא 100).
שלב 9: אורך מסלול, פעימות ועוד (בונוס!)
אתה יכול לעשות הרבה דברים כדי להפוך את הצליל הנובע מהפרויקט שלך לקל יותר להאזנה. להלן מספר אפשרויות:
אתה יכול לעקוב כמה זמן השיר פועל. כדי לעשות זאת, יהיה עליך להבין מתי השיר התחיל; אני ממליץ על לולאת זמן בפונקציית ההתקנה () שמעכבת את הפעלת הקוד שלך עד שהוא חש תנועת יד. אחסן את זמן ההתחלה של השיר במשתנה באמצעות מילי (), ובדוק כמה זמן הוא נמשך בכל פעם שאתה עושה לולאה (). אתה יכול להשתמש בזה כדי להפעיל או להשבית תכונות מסוימות בזמנים מסוימים של השיר.
אם אתה יודע כמה זמן הלולאות שלך באלפיות השנייה, אתה יכול גם לעקוב אחר כמה לופים שעברת כדי להבין יותר את מבנה השירים בניואנסים יותר!
בעיה פוטנציאלית נוספת שאתה עשוי להיתקל בה היא מתי להתחיל ולהפסיק את השמעת רצועה. פתרתי את זה על ידי מעקב באיזה פעימה של מידה השיר נמצא כרגע. לאחר מכן יכולתי לנגן רצועות לכל מספר פעימות לאחר מחווה, במקום לחתוך אותו מיד. זה גורם לדברים לזרום הרבה יותר חלק. להלן דוגמא:
if (millis () - lastLoop> = 4000) {לולאות += 1; lastLoop = millis (); עבור (int j = 0; j <8; j ++) {beatNow [j] = false; }} beat = (millis () - lastLoop) / 250; if (beat! = lastBeat) {lastBeat = beat; beatsLeft -= 1; }
הקפד לעדכן כרכים בהתאם לערכים של beatNow [beat] ו/או beatsLeft. קוד דוגמה המשלב כמעט הכל במדריך זה, ועוד כמה, מצורף למקרה שתרצה לראות אותו בפועל.
מוּמלָץ:
אסטרונומיה ארוזת ריקוד מרים מוסיקה באמצעות Arduino Uno: 5 שלבים
אסטרונומיה לריקוד ארונות ארונות באמצעות מוזיקת Arduino Uno: הבלוג הזה שהראינו לכם מנגינת ריקוד ארונות ארונות עם Arduino Uno כפי שכולכם יודעים על השחלת ממים על אסטרונומיית ריקודי ארונות אז החלטתי לעשות את המנגינה הזו באמצעות arduino uno להלן השלבים והאספקים המשמשים בפרוייקט הזה
פרויקט Magdukarp ריקוד ארדואינו: 4 שלבים
פרויקט Magikarp של ריקוד ארדואינו: היי! לאחרונה הכנתי את פרויקט הארדואינו הקטן שלי בהשראת הנוסטלגיה של שנות ה -90 של פוקימון ובילי בס, ולמטה תוכלו למצוא הוראות להכנת משלכם! הפרויקט נועד ללימודים, והיינו צריכים לבנות משהו שיהיה משעשע
כפפת האשף: כפפת בקר מבוקרת בארדואינו: 4 שלבים (עם תמונות)
כפפת הקוסם: כפפת בקר מבוקרת Arduino: כפפת הקוסם.בפרויקט שלי הכנתי כפפה שתוכל להשתמש בה כדי לשחק את המשחקים הקשורים לקסם האהובים עליך בצורה מגניבה וסוחפת תוך שימוש בכמה נכסי ארדואינו וארדואינו בסיסיים בלבד. אתה יכול לשחק במשחקי דברים כמו מגילות הזקן, או שאתה
אורות ריקוד: 4 שלבים
אורות רוקדים: זהו צעד אחר צעד להוראה המראה כיצד להדליק שתים עשרה נוריות LED בדפוסים שונים באמצעות שני פוטנציומטרים בלבד (סירים). זהו פרויקט פשוט וחסכוני מאוד שאינו דורש כישורים מיוחדים (למעט הלחמה כלשהי) אלא רק
כרית / שטיח ריקוד DDR מעץ: 5 שלבים
כרית / שטיח ריקוד DDR: איך להכין כרית ddr טובה עם קצת עץ, רדיד נחושת, צבע ומשטח USB / מקלדת מתה