Სარჩევი:
- მარაგები
- ნაბიჯი 1: პურის დაფის დაგება
- ნაბიჯი 2: SD ბარათის გაყვანილობა
- ნაბიჯი 3: პროგრამული ბიბლიოთეკები
- ნაბიჯი 4: ჩაწერეთ MP3 მონაცემები სერიულ მონიტორზე
ვიდეო: Arduino ბიბლიოთეკა MP3 დეკოდირებისთვის: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
სწრაფი მიკროკონტროლერების გავრცელების გამო, როგორიცაა ESP32 და ARM M სერია, MP3 დეკოდირება აღარ არის საჭირო ტექნიკის მიერ. ახლა გაშიფვრა შესაძლებელია პროგრამულ უზრუნველყოფაში.
არსებობს დიდი ბიბლიოთეკა earlephilhower– დან, რომელიც აჩვენებს, თუ როგორ ხდება სხვადასხვა აუდიო ფაილების დეკოდირება და მათი დაკვრა ESP მიკროკონტროლერებზე. ამით შთაგონებულმა მე შევარჩიე ზოგიერთი კოდი მიკროკონტროლერებზე MP3 ფაილების კითხვის მოდულური მეთოდის შესაქმნელად.
მე ვიმედოვნებ, რომ ეს მეთოდი იქნება საკმაოდ ზოგადი ნებისმიერი სწრაფი მიკროკონტროლერის (არა მხოლოდ ESP32 დაფაზე) გამოსაყენებლად, მაგრამ ჯერჯერობით მე მხოლოდ ESP32– ზე გამოვცადე.
მარაგები
როგორც ადრე ვთქვი, ვიმედოვნებ, რომ ეს მეთოდი იმუშავებს ნებისმიერ სწრაფ მიკროკონტროლერზე, მაგრამ შეიძლება არა. ამიტომ ჩემი შედეგების გამეორებისთვის დაგჭირდებათ:
- ESP32 დაფა
- SD გარღვევის დაფა
- SD ბარათი
- Jumper Wires
- პურის დაფა
- მიკრო USB კაბელი (ესკიზის ასატვირთად)
- Arduino IDE
ნაბიჯი 1: პურის დაფის დაგება
მოათავსეთ ESP32 და SD ბარათის გარღვევა პურის დაფაზე.
ნაბიჯი 2: SD ბარათის გაყვანილობა
SD ბარათის კავშირი (ESP32 SD გარღვევა) შემდეგია:
GND GND
3v3 VDD
23 DI (MOSI)
19 DO (MISO)
18 SCLK
5 CS
გთხოვთ გაითვალისწინოთ, რომ ეს კავშირები განსხვავებული იქნება, თუ თქვენ იყენებთ სხვა მიკროკონტროლერს.
ნაბიჯი 3: პროგრამული ბიბლიოთეკები
თუ არ გაქვთ ESP-IDF დაინსტალირებული მათ ვებგვერდზე და დააინსტალირეთ.
შემდეგ დააინსტალირეთ მიკროდეკოდერი ბიბლიოთეკა. ამის გაკეთება შეგიძლიათ საცავის გადმოტვირთვით და თქვენს Arduino ბიბლიოთეკების საქაღალდეში განთავსებით. მიკროდეკოდერი ბიბლიოთეკა ამჟამად მხარს უჭერს.wav და.mp3 ფაილებს.
ფორმატის მიუხედავად, თითოეულ კლასთან არის დაკავშირებული რამდენიმე საერთო მეთოდი და ისინი მოცემულია ქვემოთ მოცემულ კოდში. ეს მოიცავს ფაილების მეტამონაცემების მიღებას და სერიულ მონიტორზე დაბეჭდვას.
#ჩართეთ "SD.h" // შეყვანა
#ჩართეთ "mp3.h" // დეკოდირება #ჩართეთ "pcm.h" // ნედლი აუდიო მონაცემების კონტეინერი mp3 MP3; void setup () {Serial.begin (115200); // სერიული SD.begin () დაყენება (); // SD კავშირის დაყენება ფაილის ფაილი = SD.open ("/cc.mp3"); // MP3 ფაილის გახსნა MP3.begin (ფაილი); // უთხარით MP3 კლასს რა ფაილის დამუშავება MP3.getMetadata (); // მიიღეთ მეტდანაცემების Serial.print ("ბიტი თითო ნიმუშზე:"); Serial.println (MP3.bitsPerSample); // ბეჭდვის ბიტი თითო ნიმუშზე Serial.print ("Sample Rate:"); Serial.println (MP3. Fs); // და ნიმუშის მაჩვენებელი} void loop () {}
ნაბიჯი 4: ჩაწერეთ MP3 მონაცემები სერიულ მონიტორზე
ქვემოთ მოყვანილი კოდის საშუალებით შეგიძლიათ ჩაწეროთ აუდიო მონაცემები სერიულ მონიტორზე. ეს იქნება ძალიან ნელი, მაგრამ გაჩვენებთ თუ როგორ გამოიყენოთ MP3 ბიბლიოთეკა. იგი ასევე ამცირებს მონაცემებს 16 ფაქტორით, ასე რომ მონაცემების შედგენისას ის ჰგავს აუდიო ტალღის ფორმას. ეს კოდი აღებულია SPI_MP3_Serial.ino– ს მაგალითიდან, რომელსაც გააჩნია მიკროდეკოდერი ბიბლიოთეკა. რასაკვირველია, წინსვლისას თქვენ მოისურვებთ ამ აუდიო მონაცემების როგორმე დაკვრას, მაგრამ ეს სხვა ინსტრუქციის თემაა.
#ჩართეთ "SD.h" // შეყვანა
#ჩართეთ "mp3.h" // mp3 MP3 დეკოდი; // MP3 კლასი pcm აუდიო; // ნედლი აუდიო მონაცემების ბათილად დაყენება () {Serial.begin (115200); // სერიული SD.begin () დაყენება (); // SD კავშირის დაყენება ფაილის ფაილი = SD.open ("/cc.mp3"); // MP3 ფაილის გახსნა MP3.begin (ფაილი); // ფაილის გადატანა MP3 კლასში} void loop () {audio = MP3.decode (); // აუდიო მონაცემების გაშიფვრა pcm კლასში / * აუდიოში არის 32 ნიმუში. ინტერლეიდირებული (16 მარცხნივ და 16 მარჯვნივ) *, მაგრამ ჩვენ ვაპირებთ მხოლოდ დავამყაროთ პირველი მონაცემთა წერტილი თითოეულ არხზე. * ეს ეფექტურად ამცირებს მონაცემებს 16 ფაქტორით (მხოლოდ * ტალღის ფორმის სანახავად) */ Serial.print (audio.interleaved [0]); // მარცხენა არხი Serial.print (""); Serial.println (audio.interleaved [1]); // მარჯვენა არხი}
გირჩევთ:
Arduino ტექსტის მეტყველების გადამყვანი LM386 - საუბარი არდუინოს პროექტი - Talkie Arduino ბიბლიოთეკა: 5 ნაბიჯი
Arduino ტექსტის მეტყველების გადამყვანი LM386 | საუბარი არდუინოს პროექტი | Talkie Arduino ბიბლიოთეკა: გამარჯობა ბიჭებო, ბევრ პროექტში ჩვენ arduino– ს ვსაუბრობთ, როგორც საათის ლაპარაკზე, ან რაღაც მონაცემებზე, ამ ინსტრუქციებში, ჩვენ ტექსტს მეტყველებად გადავაქცევთ Arduino– ს გამოყენებით
როგორ დავამატოთ გარე ბიბლიოთეკა არდუინოში: 3 ნაბიჯი
როგორ დავამატოთ გარე ბიბლიოთეკა არდუინოს: ბიბლიოთეკა უზრუნველყოფს დამატებით ფუნქციებს ჩვენ მიერ გაკეთებული ესკიზისთვის. ეს ფუნქციები დაგვეხმარება ესკიზების გაადვილებაში. არსებობს მრავალი ბიბლიოთეკა, რომლის გამოყენებაც შეგვიძლია. Arduino IDE ნაგულისხმევი ბიბლიოთეკა ან გარე ბიბლიოთეკა შექმნილია ვიღაცის ან საზოგადოების მიერ. Ამაში
შექმენით თქვენი საკუთარი არდუინოს ბიბლიოთეკა: 5 ნაბიჯი
შექმენით თქვენი საკუთარი არდუინოს ბიბლიოთეკა: გამარჯობა ყველას. ზოგიერთ პროექტში შეიძლება დაგჭირდეთ საკუთარი ბიბლიოთეკის შექმნა, როდესაც თქვენ ვერ შეძლებთ მზა ბიბლიოთეკების გამოყენებას. ან შეგიძლიათ შექმნათ თქვენი საკუთარი ბიბლიოთეკა თავისი სტანდარტებით. დღეს მე გაჩვენებთ, რამდენად მარტივად შეგიძლიათ ააშენოთ საკუთარი ბიბლიოთეკა და
ბიბლიოთეკა BMP280 და BME280: 7 ნაბიჯი
ბიბლიოთეკა BMP280 და BME280: შესავალი მე არ დამიწერია ამ ბიბლიოთეკის დაწერა. ეს " მოხდა " როგორც პროექტის დაწყებული გვერდითი ეფექტი, რომელიც იყენებს BMP280. ეს პროექტი ჯერ არ დასრულებულა, მაგრამ ვფიქრობ, ბიბლიოთეკა მზადაა სხვებს გაუზიაროს. შემდგომში მე მქონდა
VHS ბიბლიოთეკა Pi უსაფრთხოების კამერა: 3 ნაბიჯი (სურათებით)
VHS ბიბლიოთეკა Pi უსაფრთხოების კამერა: ეს არის ძველი VHS ვიდეო ბიბლიოთეკის კეისი, რომელიც ახლა უზრუნველყოფს სრულყოფილ სახლს Raspberry Pi უსაფრთხოების კამერისთვის. საქმე შეიცავს Pi Zero- ს და კამერა ყალბი წიგნის ხერხემალს უყურებს. ეს მართლაც მარტივი აშენებაა ძველი სამყაროს იერით