MxChip audio
Photo by Phuc H. on Unsplash |
Na płytce mamy wbudowany mikrofon i wyjście audio. Można więc pobawić się trochę dźwiękiem.
Zacznijmy od dokumentacji
Z dokumentacji dowiadujemy się, że mamy dwie opcje nagrywania dźwięku: callback i WAV. Taki stary format audio. Programując arduino serio przypominają się inne czasy :DMamy tutaj ograniczenie wielkości nagranej próbki. Wielkość ta również zależy od metody nagrywania.
Ja pójdę w stronę wav. To też spoko format, bo jakby się człowiek uparł to można taki plik potem do chmury wypchnąć.
const int AUDIO_SIZE = 32000 * 3 + 45;
Audio.format(8000, 16);Ograniczenie wielkości nagranego dźwięku w przypadku powyższych ustawień mamy jakieś 8 sekund.
Rozwiązanie z dokumentacji działa prześlicznie.
Pomysł wykorzystania audio
Fascynującym pomysłem dla mnie wydało się pozyskanie poziomu hałasu. Nawet znalazłam takie rozwiązane opisane tutaj:Detect Noise Level Audio Decibels In MXChip Azure IoT DevKit
Całe rozwiązanie bez zbędnego szumu wygląda tak:
Niestety ja nie rozumiem na jakiej podstawie obliczany jest rzekomy poziom hałasu. A dane które są wyświetlane są w ogóle nie adekwatne do tego co ja rozumiem przez poziom hałasu, czyli około 10dB to cichutkie cykanie zegarka. Tutaj mamy wartości z zakresu 1- 2.5
No cóż ja nie rozumiem, jak wyciągnąć taką wartość z mikrofonu. Za słabo znam się na fizyce prądu.
Ale co możemy wyciągnąć z tego rozwiązania to inną metodę dostępu do dźwięku - czyli poprzez callback. Całe rozwiązanie przygotowanie jest pod wysyłanie poziomu hałasu jako jednego ze składników telemetrii, dlatego też funkcja callbackowa próbkująca dźwięk dużo częściej w mniejszych paczkach.
Mamy więc dwie działające metody obsługi dźwięku. Być może uda się to później wykorzystać.
Komentarze
Prześlij komentarz