דרוש ספריה לזיהוי Hz מהקלטות
-
לגבי מציאת ספרייה אני מאמין שאני יכול לעזור, אבל קודם הייתי רוצה להבין משהו כי מדובר בנושא שאני לא מספיק מכיר:
האם יכול להיות שינוי בין תדר ההקלטה עצמה לתדר הקובץ שנוצר כתוצאה מההקלטה? ואם התשובה היא כן, איזה מהם אתה רוצה והאם באמת אפשר לזהות מה היה תדר ההקלטה עצמה?
שני כלים שאני מכיר שיכולים לעזור זה- exiftool
- ffprobe (מגיע בד"כ ביחד עם ffmpeg)
עבור שניהם יש ספרייות ב-PHP
הרצתי על קובץ אקראי שיש אצלי וקיבלתי 44100 Hz
זה מספר שמוכר לי ונראה לי די סטנדרטי
האם זה הנתון שרצית לקבל? (כי למיטב הבנתי מספר זה לא אומר הכל על איכות ההקלטה, רק על הפורמט של הקובץ הסופי, יכול להיות שההקלטה המקורית היתה באיכות ירודה מזה)
-
טוב, אפשר למחוק כל ההתכתבות הקודמת... טעיתי בכוונתך.
לפי מה שהבנתי לכתחילה, התוצאה לקובץ זה הוא גם 44100 Hz
אבל אתה בטח רוצה את התדר של הקול המוקלט, לא של ה"הקלטה" (מה שידוע כ-sampling rate) כפי שהבנתי בהתחלהטוב, אם ככה אתה צריך לדעת
א) הקול שהקלטת הוא לא בתדר אחד אלא צירוף של הרבה תדרים
ב) אפשר לקבל את הספקטרום המלא של כל התדרים בטון באמצעות אלגוריתם ה-FFT
יש עבור זה ספרייות ב-PHP אבל אני לא יודע כמה זה יעזור לךיש פה דיבורים על הנושא
https://stackoverflow.com/questions/1797631/recognising-tone-of-the-audio
https://stackoverflow.com/questions/1447059/auriotouch-fft-for-an-instrument-tuner -
עוד קישורים:
https://en.wikipedia.org/wiki/Pitch_detection_algorithm
https://github.com/search?q=pitch+detection&type=repositories&s=stars&o=desc
https://github.com/cwilso/PitchDetect/blob/main/js/pitchdetect.js
https://github.com/peterkhayes/pitchfinderאני ממשיך להניח בפוסט הזה עוד קישורים ככל שהמחקר שלי מתקדם אולי אחד מהם יעזור לך
בכל מקרה אני ממליץ בחום ללמוד קצת מהתיאוריה לפני שאתה קופץ לחלק המעשי -
@חגי האמת אני מנסה לבנות טיונר דרך הטלפון שאוכל לכוון גיטרה דרך הטלפון
בשוק יש שתי סוגי טיונרים אחד עובד ע"פ רעידות והשני ע"פ שמע
הייתי בשיחה עם חבר כשהוא עם הטיונר שעובד עם השמע השמעתי דרך הטלפון שלי את הגיטרה והוא השמיע לטיונר שלו דרך הטלפון והטיונר מזהה
למרות שהקול עובר דרך שתי טלפונים
אז אני מנסה לעשות כזה בטלפון -
@EMG אם JS מתאים לך תוכל לנסות ספרייה זו:
https://github.com/peterkhayes/pitchfinder
או זה:
https://github.com/cristovao-trevisan/node-pitchfinder
לא מצאתי משהו ב-PHP