180 likes | 373 Views
ניתוח וסינטזה של כלי נגינה אקוסטיים. באישורו של: פויסיק אלברט. בעזרת הפרוייקט ניתן להחליף את הכילים מוזיקליים הישנים והפופולריים בכילים מוזיקליים האלקטרוניים, לדוגמא:.
E N D
ניתוח וסינטזה של כלי נגינה אקוסטיים באישורו של: פויסיק אלברט
בעזרת הפרוייקט ניתן להחליף את הכילים מוזיקליים הישנים והפופולריים בכילים מוזיקליים האלקטרוניים, לדוגמא:
ישנם גם כילים מוזיקליים הכוללים בתוכם אופציות לייצר צלילים של אפקטים שונים וכלי נגינה שונים, ישנם גם אופציות כגון הקלטה ונגינת קבצים מוקלטים.
כלים הדרושים לפרויקט: • כלי מוזיקלי: תוף • מיקרופון: מחשב: הכולל בתוכו כרטיס קול, רמקולים, Windows ותוכנת ה- Matlab
להלן סכמת המערכת הכוללת של החומרה והתוכנה: Sound Recorder Microphone Sound Blaster Matlab Speakers
כיצד מקליטים ??? • ההקלטה מתבצעת בעזרת תוכנת ה- Sound Recorder המובנת בתוך תוכנת ה- Windows • מיקום התוכנה: • מאפייני ההקלטה ניתנים לשינוי:
תהליך קליטת אות אנלוגי, שמירתו בתוך קובץ WAV כאות דיגיטלי והכנסתו לתוך ווקטור S_full בתוך תוכנת ה- Matlab אות אנלוגי (צליל) Sound Blaster כל המידע של הצליל נשמר בתוך ווקטור S_full בתוך תוכנית ה- Matlab נשמר בתוך קובץ WAV ( אות דיגיטלי )
תיאור תהליך האנליזה: S_decimate DFT phase Sm(DFT) Sm Smw Buffer Nf חלון בגודל Nf m Over Lapping 50%
מהמידע ששמרנו נוציא שני גרפים: 1) אמפליטודה: (ניתן לראות מהגרף תדרי בסיס) 2) מופע: (לא אומר לנו כלום, נזדקק למטריצת המופעים בזמן הסינטזה)
הכנה עבור תהליך הסינטזה: • קביעת ערך סף-עוצמה (קבעתי לפי גרף) • בניית אלגוריתם למציאת נקודות מקסימום (תדרי בסיס) בתוך מטריצת האמפליטודות שמירת מיקומם וכמותם. • בניית שתי מטריצות חדשות של אמפליטודות ומופעים אשר מכילות רק את המידע הרלוונטי.new_S_abs, new_S_angle
ביצוע אלגוריתם הסינטזה: • הסינטזה מתבצעת לפי הנוסחא הבאה: • S(t) – האות המוזיקלי • k – מספר ההרמוניות • AK(t) – האמפליטודה הרגעית של ההרמוניה k • fa – תדר הבסיס ( ההרמוניה הראשונה ) • Δfk – שינויים הרגעים בהרמוניה k • θk – הפאזה של הרמוניה k
תיאור אלגוריתם הסינטזה ב- Matlab+גרפים: תוצאה של הסינטזה עבור תדר דגימה של 2kHz
הסוף המשמח: • הצליל שקבלנו דומה לצליל המקורי אך לא ב- 100% צליל מקורי צליל המתקבל
הסיבות לשוני בין צליל המקורי לצליל המתקבל: • רעשים בזמן הקלטת הקובץ WAV • פקודות Decimate ו- Interp • חלון לא מושלם • דיוק הדגימות • הרמוניות לא רצויות • ערך-סף עוצמה • הזנחות לא רצויות • ישנם עוד הרבה סיבות...