Spisu treści:
- Krok 1: Tło
- Krok 2: Oryginalny pomysł
- Krok 3: Napotkane problemy
- Krok 4: Rozwiązanie
- Krok 5: Wykrywanie krawędzi i program Matlab
- Krok 6: Przykład: Instruktaż Robot
- Krok 7: Rozwiązywanie problemów/Przykładowe pliki
Wideo: Muzyka oscyloskopowa: 7 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Wprowadzenie: Niniejsza instrukcja ma na celu spełnienie wymagań dotyczących części dokumentacji projektu interfejsu mikrokomputerowego na Uniwersytecie Stanowym Utah.
Krok 1: Tło
Tło:
Oscyloskop służy do wyświetlania i pomiaru sygnału napięcia wykreślonego w funkcji czasu. Oscyloskop w trybie XY wykreśla sygnał na tle innego sygnału, podobnie jak równanie parametryczne. Ten projekt wykorzystuje oscyloskop w trybie XY do wyświetlania obrazów wytworzonych przez plik dźwiękowy.
Krok 2: Oryginalny pomysł
Pierwotnym pomysłem na projekt było przekształcenie starego telewizora z lampą katodową (CRT) w oscyloskop XY i wykorzystanie go do wyświetlania obrazów. Można to zrobić przez odłączenie cewek odchylających. Po odłączeniu cewek poziomych pojawia się pionowa linia, a po odłączeniu cewek pionowych pojawia się linia pozioma. Wystarczyło podłączyć źródło dźwięku do cewek odchylających i miałbym oscyloskop XY. Niestety napotkałem kilka problemów.
Krok 3: Napotkane problemy
Jednym z problemów, które napotkałem, były funkcje bezpieczeństwa. Telewizor był w stanie wykryć, że jego cewki odchylające zostały odłączone i nie chce się włączyć. Ma to na celu zapobieganie wypalaniu przez wiązkę elektronów dziury w luminoforze na ekranie. Zmierzyłem rezystancję cewek i umieściłem na niej rezystor. Rezystor natychmiast spalił się na pół z powodu wysokiego napięcia. Spróbowałem ponownie, używając rezystora o wyższej wartości znamionowej, ale to też nie zadziałało. Czytałem na niektórych forach internetowych o tym, jak inny zestaw cewek odchylających można podłączyć do oryginalnego telewizora, więc znalazłem inny telewizor i podłączyłem jego cewkę odchylającą do mojej. Impedancja nie była taka sama, więc się nie włączał. Po kilku dalszych badaniach odkryłem, że starsze telewizory nie miały funkcji bezpieczeństwa i nie obchodziło mnie, czy cewki odchylające są odłączone. Udało mi się znaleźć telewizor wyprodukowany w 2000 roku, który wydawał się działać. Udało mi się uzyskać na ekranie kilka prostych kształtów, ale wszystko, co jest bardziej skomplikowane niż okrąg, zostałoby mocno zniekształcone. W końcu ten telewizor przestał działać i ciągle przepalał bezpieczniki.
Udało mi się znaleźć mały telewizor, który został wyprodukowany w 1994 roku. Ten telewizor działał całkiem dobrze, ale nie byłem w stanie uzyskać prawidłowej orientacji obrazu, nawet gdy przełączałem sygnały w każdej kombinacji. Miał też te same problemy, co inny telewizor i nie produkował skomplikowanych obrazów. Po wielu badaniach odkryłem, że problemem było to, że próbowałem stworzyć obraz wektorowy na wyświetlaczu rastrowym. Wyświetlacz rastrowy to ekran, który bardzo szybko skanuje w poziomie, a następnie wolniej w pionie. Wyświetlacz wektorowy wykorzystuje linie do tworzenia obrazów. Znalazłem samouczki, jak przekonwertować wyświetlacz rastrowy na wyświetlacz wektorowy, ale proces ten był niebezpieczny i zajął dużo czasu.
Krok 4: Rozwiązanie
Po tych wszystkich problemach udało mi się znaleźć całkiem proste rozwiązanie; emulator oscyloskopu XY, który pobierał dźwięk jako wejście. Kiedy znalazłem ten program, przerzuciłem się z tworzenia oscyloskopu na tworzenie sposobu na wytworzenie pliku audio z obrazu do wyświetlenia na oscyloskopie.
Emulator oscyloskopu
Krok 5: Wykrywanie krawędzi i program Matlab
Oto podstawowy schemat blokowy mojego programu. Zaczyna się od obrazu, który jest ładowany do programu EdgeDetect.m MATLAB. Ten program konwertuje go na obraz w skali szarości, a następnie wykrywa krawędzie obrazu. Współrzędne XY wykrytych krawędzi są umieszczane w dwóch tablicach, które są konwertowane na plik dźwiękowy.
Krok 6: Przykład: Instruktaż Robot
Oto przykład procesu z robotem instruktażowym. Najpierw pobierz obraz robota instruktażowego i zapisz go jako „image.png” w folderze roboczym MATLAB (to samo miejsce, co „EdgeDetect.m”). Upewnij się, że na obrazie nie ma niczego, co chciałbyś zostać wykryte, w przeciwnym razie może dodać kilka niepotrzebnych współrzędnych do pliku dźwiękowego. Uruchom program EdgeDetect, a obraz zostanie przekonwertowany do skali szarości, a jego krawędzie zostaną wykryte i zapisane jako plik dźwiękowy o nazwie „vector.wav”. Następnie otwórz plik dźwiękowy w Audacity lub innym programie do edycji dźwięku. Otwórz program emulatora oscyloskopu (link w poprzednim kroku), ustaw częstotliwość próbkowania na 192000 Hz, naciśnij start, kliknij przycisk mikrofonu i wybierz opcję line in. W Audacity naciśnij „shift + spacja”, aby odtworzyć plik dźwiękowy w pętli. Obraz powinien pojawić się na emulatorze oscyloskopu.
Krok 7: Rozwiązywanie problemów/Przykładowe pliki
Kiedy rozwijałem ten program, musiałem dostosować niektóre ustawienia w programie. Oto kilka rzeczy, które należy sprawdzić, czy to nie działa:
-Upewnij się, że wyjście audio jest przesyłane do wejścia liniowego w komputerze i że masz 2 oddzielne (lewy i prawy) kanały audio
-Jeżeli obraz nie jest odczytywany przez program MATLAB, być może trzeba go edytować w programie paint i zapisać w innym formacie.
-W wierszu 61 kodu pamiętaj o podaniu cyfr z ekranu wykrywania krawędzi. Program zazwyczaj umieszcza wokół całej rzeczy prostokąt, który można wyciąć, zmieniając go z „i=1:length(B)” na „i=2:length(B)”. Ponadto, jeśli masz określone liczby, które chcesz uwzględnić, ale nie chcesz uwzględniać ich wszystkich, możesz użyć nawiasów kwadratowych, aby uzyskać określone liczby: „[1 3 6 10 15 17]”
-Jeżeli obraz wygląda na chwiejny, a części są w różnych miejscach, może być konieczne zmniejszenie liczby próbek, dostosowując „N” w linii 76. Im prostszy obraz, tym niższe N może być, ale powinno być wyższe, jeśli obraz jest złożony. Dla robota użyłem N=5.
-Można również ustawić "Fs" w linii 86. Im wyższa częstotliwość próbkowania, tym lepszy będzie obraz, ale niektóre karty dźwiękowe nie będą w stanie obsłużyć wyższych częstotliwości próbkowania. Współczesne utwory mają częstotliwość próbkowania około 320000 Hz.
Zalecana:
Niesamowity pokaz świetlny Halloween z muzyką !: 5 kroków
Awesome Halloween Light Show With Music!: W tym projekcie stworzyłem Halloweenowy wyświetlacz świetlny z kilkoma specjalnymi światłami zwanymi pikselami RGB, które są zsynchronizowane z 4 piosenkami Halloween. Jeśli chcesz zobaczyć te pokazy świetlne i przyszłe, zajrzyj tutaj. Ten pokaz świetlny może być trudny do zbudowania
Muzyka taneczna do trumny przy użyciu Arduino: 6 kroków
Coffin Dance Music za pomocą Arduino: W tym samouczku pokażę, jak używać Arduino do tworzenia muzyki za pomocą głośnika (nie jest wymagany moduł MP3). Najpierw obejrzyj ten samouczek wideo
Prosta muzyka brzęczyka: 6 kroków
Simple Buzzer Music: Prosta biblioteka do odtwarzania własnych utworów za pomocą Arduino za pomocą brzęczyka lub głośnika. Mały przykład utworu „praeludium”; Johanna Sebastiana Bacha jest wliczony w cenę
Lune - Kontroler MIDI z Arduino (dla DJ-a lub muzyka): 5 kroków (ze zdjęciami)
Lune - Kontroler MIDI z Arduino (dla DJ-a lub muzyka): To mój pierwszy projekt arduino (mikrokontroler) o nazwie Lune. Chciałem nauczyć się arduino z użytecznym i dużym projektem, więc postanowiłem stworzyć kontroler midi DJ, który ma wszystkie funkcje potrzebne do samodzielnego miksowania. Każdy rodzaj czujnika (potencjał
Muzyka z Arduino i przekaźnikiem: 6 kroków
Muzyka z Arduino i przekaźnikiem: w tym samouczku pokażę ci, jak tworzyć muzykę za pomocą przekaźnika i Arduino, interesującego projektu przyjaznego początkującym