Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Weselny automat muzyczny - detektor znaczników

Alpha 14 Apr 2017 12:45 20094 17
  • Weselny automat muzyczny - detektor znaczników
    To urządzenie o dość zagadkowej nazwie miało mnie wspomóc podczas imprezy taneczno-konsumpcyjnej z okazji urodzin. Z uwagi na ograniczone środki finansowe oraz dość sprecyzowany gust muzyczny postanowiłem zrezygnować z usług zawodowego DJ'a i sam zadbać o oprawę muzyczną.
    Scenariusz na takich imprezach zwykle jest podobny: 5 utworów do tańca (z pełną głośnością), 3-5 utworów przerwy (ze zmniejszoną głośnością) na szeroko rozumianą konsumpcję i odpoczynek.
    Przy sprzęcie grającym chciałem spędzić jak najmniej czasu, więc postanowiłem zautomatyzować cały proces sciszania i podgłaśniania utworów. Zacząłem szukać w sieci programu-odtwarzacza, który pozwoli mi zrealizować ten proces, jednak nic nie znalazłem. Albo miałem pecha, albo-co mnie zaskoczyło-nie ma czegoś takiego. Musiałem więc stworzyc na szybko coś odpowiedniego.

    Na realizację i testy miałem tylko kilka dni, więc nie jest to szczyt wyrafinowania zarówno pod wzgledem projektowym, jak i wykonania. To prototyp, który z pewnością nie będzie produktem komercyjnym, jeśli w ogóle kiedykolwiek go jeszcze użyję. Dlatego nie oczekuję zachwytów na temat staranności wykonania. To po prostu pomysł, który udało się zrealizować z pozytywnym skutkiem i może komuś sie przyda.
    Weselny automat muzyczny - detektor znaczników
    Opis działania:
    Podczas imprezy utwory muzyczne (w dowolnym formacie, ja bazowałem na mp3) odtwarzane są zgodnie z utworzoną wcześniej z dość dużą starannością i zapisaną listą utworów przez dowolny program-odtwarzacz (ja używam foobara).
    Po utworze kończącym część taneczną, na liście utworów wstawiony jest jingiel "a teraz idziemy na jednego" a następnie znacznik <cicho>. Następne utwory, aż do znacznika <głośno> będą odtwarzane ze zmniejszoną głośnością. Znacznik <głośno> przywraca wysoki poziom głośności kończąc przerwę. I tak do końca imprezy ;)
    Znaczniki <chicho> i <głośno> to 3-sekundowe tony o częstotliwości 16,5kHz oraz 18,5kHz zapisane na jednym z kanałów audio. Są one wychwytywane przez detektory tonu oparte o tani i dość popularny niegdyś układ NE567 (LM567), które przez przerzutnik RS wystarowują przekaźnik. Do jego styków dołączone jest źródło muzyki (wyjście karty muzycznej komputera), które puszczane jest albo bezpośrednio na wyjście Automatu, albo przez układ rezystor+potencjometr obniżający poziom głośności.
    Aby zabezpieczyć się przed przypadkowym przełączeniem, na drugim kanale audio wstawiany jest znacznik dodatkowy o częstotliwości 17,5kHz, więc dopiero detekcja obu częstotliwości powoduje zmianę stanu przekaźnika.
    Dźwięki znaczników są w formacie wav i nie zostały skompresowane do formatu mp3, bo obawiałem się, że ten proces może je osłabić lub nawet wyciąć. Zostały one utworzone w genialnym, małym programie o nazwie Test Tone generator. 30 dniowy trial pozwala na zapisanie maksymalnie 3-sekundowych dźwięków, ale to w zupełności wystarcza dla detektora, nawet z włączoną funkcją crossfade (przenikanie się kolejnych utworów) ustawioną na czas 3,6 sekundy.
    Dźwięki o tak wysokiej częstotliwości nie są słyszalne w głośnikach, albo z powodu jakości mojego zestawu (zwykły sprzęt domowy), albo z racji obniżającego się z wiekiem progu słyszalności ludzkiego ucha.
    Gdy już przetestowałem podstawową funkcję Automatu, pojawił się apetyt na dodatkowe funkcje. Dodałem więc możliwość podłączenia zakupionego specjalnie na tą imprezę mikrofonu bezprzewodowego oraz zdalne sterowanie całością przy pomocy pilota radiowego (opartego o układ IC2262/2272), zakupionego kiedyś na chińskim portalu za 2$ z haczykiem, na którego nie znalazłem innego zastosowania.
    Schemat jest odręczny-zwykle szkoda mi czasu na rysowanie go na ekranie.
    Weselny automat muzyczny - detektor znaczników
    Sygnał z mikrofonu dołączany jest do toru "cichego" za pomocą przycisku na obudowie Automatu lub pilotem. Zastosowałem przerzutnik D, więc każde naciśniecie przycisku powoduje odwrócenie stanu przekaźnika. Na płytce przewidzialem od razu miejsce na stabilizator 1,8V do zasilania odbiornika radiowego, z którego wcześniej wyprowadziłem przewód z wtykiem DC. Podczas uruchomienia okazało się, że sygnał audio z odbiornika jest za niski, więc postanowiłem sprawdzić, czy da się go podciągnąć. Okazało się, że na wyjściu układu CXA1191A, na którym jest oparty odbiornik mikrofonu, znajduje się dzielnik rezystorowy z prostym filtrem, który trzeba ominąć. Wtedy sygnał wyjściowy jest na akceptowalnym poziomie (trzeba podłączyć się do ujemnej końcówki kondensatora 10uF wychodzącego z pinu nr 27 układu scalonego).

    Na panelu Automatu znajdują się kontrolki wykrycia tonów sciszania, podgłaśniania i dodatkowego, przycisk i kontrolka włączenia mikrofonu, przyciski włączenia opcji <cicho> i <głośno> (wraz z kontrolkami) umożliwiające ręczne sterowanie oraz potencjometry do regulacji poziomu sygnału mikrofonu, poziomu głośności opcji <cicho> oraz czułości detektorów tonu.

    Automat zaliczył dedykowaną jemu imprezę z dobrym skutkiem. Jeden raz, z nieznanych mi przyczyn, pominął znacznik i musiałem posiłkować się pilotem. Myślę, że winę ponosi funkcja crossfade, która mogła "przykryć" znacznik sygnałem kolejnego utworu, który zbyt gwałtownie się zaczął lub skończył.
    Pilot zresztą bardzo się przydał podczas imprezy, bo umożliwiał modulować długość przerw oraz reagować na nieprzewidziane wydarzenia.

    Kilka uwag dla tych, co postanowią pójść moim śladem:
    Czestotliwość "rezonansową" układów NE567 można odczytać z nózki 5 i 6 za pomocą miernika częstotliwości, co bardzo ułatwia uruchomienie. Kondensatory dołączone do k.6 muszą być typu MKS lub MKP, ceramiczne spowodują niestabilną pracę. Kondensatory filtrów (k.2 i k.1) wg noty powiny być tantalowe i zachowywać proporcje C3>2xC2. Mają one wpływ na szerokość pasma detekcji, przy wartościach C3=4,7uF oraz C2=2,2uF pasmo wynosiło ok 600Hz więc około 4,5% i nie trzeba tu kombinować.
    Testując układ przy pomocy generatora sygnałowego zauważyłem, że pasmo detekcji trochę się zmienia w zależności od tego, czy częstotliwość z generatora wzrastała, czy malała. W każdym razie nie ma to większego znaczenia dla pracy tego układu.

    Dp przeprojektowania jest płytka przekaźników - nie miałem już czasu na optymalne rozmieszczenie elementów i poprowadzenie ścieżek, dlatego nie jestem dziś zadowolony z efektu.
    Zmodyfikować trzeba też filtr na wejściach przerzytników D, bo czasami dało się odczuć wpływ drgania styków przycisku włączającego mikrofon.
    Na pcb przewidziałem miejsce na trzeci, dodatkowy przekaźnik, który jest wyzwalany czwartym kanałem pilota. Może służyć do włączania jakichś efektów wizualnych itp.

    Mikrofon bezprzewodowy to najtańszy sprzęt znaleziony na alle.. i tak też działa. Niestety przy odległościach od odbiornika większych niż 10 m daje sie już odczuć wpływ przemieszczania się na jego słyszalność.

    Podczas prób okazało się, że karta muzyczna USB (z tych najtańszych) nie radzi sobie z odtwarzaniem znaczników. W ich miejscu pojawiały się jakieś dziwactwa o częstotliwości na oko 1kHz. Musiałem więc zabrać komputer stacjonarny, bo mój Atigo-T nie dorobił się jeszcze dobrej karty zewnętrznej (nie wiem zresztą, czy dałby radę ją obsłużyć).

    Utwory na liście koniecznie muszą zostać znormalizowane pod względem poziomu głośności, żeby uniknąć potem różnic przy odtwarzaniu. To niby oczywiste, a jednak wielu o tym zapomina.
    Od doświadczonych imprezowiczów otrzymałem radę, by z upływem czasu skracać trochę przerwy, by towarzystwo nie osłabło za bardzo od picia ;).

    Urządzenia ma wymiary 12x12,5cm, obudowa z oferty firmy Kradex.

    Ogólnie jestem bardzo zadowolony z tego urządzenia - zrobiło to, co do niego należało, a ja miałem mniej trosk na głowie i mogłem się oddać zabawie :).

    Załączam projekt płytek w programie Dip Trace oraz dodatkowe zdjęcia bebechów. W wolnej chwili dorzucę znaczniki <cicho>, <głośno>, i może nawet jingle "idziemy na jednego", gdyby ktoś chciał.

    Pozdrawiam czytających :)

    Cool? Ranking DIY
    About Author
    Alpha
    Level 24  
    Offline 
    Has specialization in: kolekcjonowanie części
    Alpha wrote 903 posts with rating 377, helped 51 times. Live in city Skoki. Been with us since 2003 year.
  • #3
    Stefan_2000
    Level 19  
    Alpha wrote:
    Przy sprzęcie grającym chciałem spędzić jak najmniej czasu, więc postanowiłem zautomatyzować cały proces sciszania i podgłaśniania utworów. Zacząłem szukać w sieci programu-odtwarzacza, który pozwoli mi zrealizować ten proces, jednak nic nie znalazłem. Albo miałem pecha, albo-co mnie zaskoczyło-nie ma czegoś takiego. Musiałem więc stworzyc na szybko coś odpowiedniego.


    Standardowy linuksowy mplayer ma możliwość pracy w trybie slave, wtedy przyjmuje polecenia ze standardowego wejścia i możesz mu wysłać dowolną serię poleceń.
  • #4
    Alpha
    Level 24  
    szymon122 wrote:
    3 sekundy? Trochę długo, ile minimalnie potrzeba aby detektor to wyłapał?

    To z uwagi na funkcję crossfade w odtwarzaczu. Obawiałem się, że krótszy dźwięk zostanie zjedzony przez sąsadujące z nim utwory. Normalnie detektor reaguje dość szybko i 1-sekundowy znacznik spokojnie by wystarczył.

    Stefan_2000 wrote:
    Standardowy linuksowy mplayer ma możliwość pracy w trybie slave, wtedy przyjmuje polecenia ze standardowego wejścia i możesz mu wysłać dowolną serię poleceń

    A no widzisz, nie siedzę w linuksie :(
    Rozwiń wątek "przyjmuje polecenia ze standardowego wejścia", albo podlinkuj temat gdzie to jest wyjaśnione jak dziecku, chętnie poczytam.
  • #6
    krzbor
    Level 25  
    Jeśli coś jest odtwarzane z komputera to czy nie prościej zrobić to programowo?
    Przykład (prosty batch oparty o VLAN):
    vlc.exe --gain="0.2" --play-and-exit c:\muzyka\utwor1.mp3
    vlc.exe --gain="1" --play-and-exit c:\muzyka\utwor2.mp3
  • #7
    CMS
    Administrator of HydePark
    Pewnie, że prościej, ale trzeba o tym wiedzieć. Autor nie wiedział, więc poradził sobie w inny sposób. Liczy się wyobraźnia, a tej jak widać autorowi nie brakuje.
  • #8
    MastrPlastr
    Level 11  
    na tym pilocie za 2$ jaki masz zasięg? I jakiej długości użyłeś anteny do odbiornika? Producent obiecywał 150m, u mnie przy antenie 23cm (pół fali) zasięg to jakieś 10m :)
  • #9
    japko1024
    Level 18  
    Alpha wrote:
    Zostały one utworzone w genialnym, małym programie o nazwie Test Tone generator. 30 dniowy trial pozwala na zapisanie maksymalnie 3-sekundowych dźwięków
    Myślałeś o użyciu wolnego Audacity? Też można w nim generować różnego rodzaju tony (przebiegi sinusoidalne, piłokształtne i prostokątne, DTMF itd.) i zapisywać je w wielu formatach, bez ograniczeń narzuconych przez producenta.
  • #10
    Varret
    Level 1  
    Widzę, że Audacity zostało już tutaj wspomniane, ale najprostszym rozwiązaniem problemu puszczania utworów z różną głośnością byłoby po prostu w tym programie zmniejszyć odpowiednio głośność nagrań i wrzucić je na playlistę. Audacity to świetny program do prostych operacji na plikach audio(nawet szumy wycina). W każdym razie gratuluję pomysłowości, ciekawy projekt :)
  • #11
    Tremolo
    Level 43  
    Profesjinalne działania korygujace. Ale sprzetowo tez podejrzewam szloby cos usprawnic by pilot nie oniemial. Nie wiem czy stary winamp nie mial rozbudowanej bazy programowania. Moglbys wymusic i wiecej funkcji przechodzac na cyfrowa obrobke. Cos ala sygnal z commodore 64 odtwarzajacy poczatek sciezki programu na magnetofonie. Mogloby to byc sprzezone z ekranem iluminacji i swiatlami albo projektorem. Pomysl o rasberry Pi. Czy sa jakies male komputerki z obsluga Audii?
  • #12
    398216 Usunięty
    Level 43  
    Skoro całą muzyką sterował automat, czy nie można by zamiast tych wszystkich bajerów po prostu nagrać po kolei utworów w określonym porządku i z określoną głośnością? Przecież i tak (jak sam pisałeś) zgrywałeś wszystko a'la long. 5 głośno, dżingiel, pięć cicho itd... Uniknąłbyś konieczności pilnowania czy automat nie zgłupieje... :)
  • #13
    Alpha
    Level 24  
    Oczywiście, najłatwiej było by z góry wytypować i za pomocą jakiegokolwiek programu do zmiany poziomu głośności (np. MP3 Gain) obniżyć decybele "przerw", jednak jak przypuszczałem, a moja impreza potwierdziła, czasami trzeba reagować na wydarzenia. Jak pisałem:
    Alpha wrote:
    Pilot zresztą bardzo się przydał podczas imprezy, bo umożliwiał modulować długość przerw oraz reagować na nieprzewidziane wydarzenia.

    Druga ważna kwestia: skąd wiedzieć, na jakim poziomie ustawić głośność tych przerw? Dopiero pełna sala z gośćmi umożliwia ustawienie optimum. Mając potencjometr pod palcem, korekty były natychmiastowe, bez wpływu na głośność "roboczą". Korygowanie tego programem, to pewnie nie raz, było by uciążliwe.
  • #14
    japko1024
    Level 18  
    Zmiana głośności poszczególnych utworów w Audacity lub innym edytorze dźwięku ma niestety pewną wadę: jeśli zastosujemy taką samą liczbę bitów do zapisu jednej próbki, jakość dźwięku może się nieznacznie pogorszyć. Kiedy pomnożymy/podzielimy jakąś liczbę przez dany współczynnik, może się okazać, że dokładny zapis wyniku będzie wymagał większej ilości cyfr, więc trzeba będzie zastosować zaokrąglenie. Jeśli głośność będzie regulowana oddzielnie, to przy odpowiedniej budowie wzmacniacza w odtwarzaczu będzie można uniknąć tego problemu.
  • #16
    Alpha
    Level 24  
    MastrPlastr wrote:
    na tym pilocie za 2$ jaki masz zasięg? I jakiej długości użyłeś anteny do odbiornika? Producent obiecywał 150m, u mnie przy antenie 23cm (pół fali) zasięg to jakieś 10m :)

    Na zasięg nie mogę narzekać-ze standardową antenką o długości około 15cm zasięg był wystarczający-na całej sali nie było problemu.

    Piottr242 wrote:
    Czy podczas przełączania przekaźnika, nie było słychać "kliknięć" w głośnikach?

    Też się tego obiawiałem, ale na szczęście nic takiego nie ma miejsca w tym zestawie, który posłużył do nagłośnienia imprezy (komputer stacjonarny + amplituner).
    Natomiast w konfiguracji laptop+głośniki komputerowe trzask przy przełączaniu był już mocno słyszalny. Z ciekawości prześledziłem tematy na "elce" związane z tym efektem, jednak nikt nie podał na to konkretnej przyczyny oraz sposobu jej zniwelowania. Ja nie miałem czasu ani potrzeby nad zastanawianiem się nad tym.
  • #17
    CMS
    Administrator of HydePark
    Alpha wrote:
    Natomiast w konfiguracji laptop+głośniki komputerowe trzask przy przełączaniu był już mocno słyszalny.


    Czy to był "trzask styków" przekaźnika, czy może zakłócenia spowodowane jego cewką...? Spróbuj "podwiesić" na stykach cewki kondensator, lub diodę i sprawdź ponownie w konfiguracji z laptopem.

    Pozdrawiam.
    CMS
  • #18
    CMS
    Administrator of HydePark
    Tremolo wrote:
    Mogloby to byc sprzezone z ekranem iluminacji i swiatlami albo projektorem. Pomysl o rasberry Pi.


    Wolniej, wolniej, wstrzymaj konia, albo raczej kombajn :)

    Alpha wrote:
    To prototyp, który z pewnością nie będzie produktem komercyjnym, jeśli w ogóle kiedykolwiek go jeszcze użyję.


    Może przestańcie dywagować o tym co by było gdyby...
    Bo najwyraźniej nie będzie.

    EDIT:

    Najwyraźniej, któryś z kolegów posprzątał temat gdy pisałem powyższą wiadomość.