Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Licznik BPM

DJ_Kranky 07 Wrz 2007 22:16 7090 12
  • #1 07 Wrz 2007 22:16
    DJ_Kranky
    Poziom 9  

    Mam nadzieję, że większość wie, o co mi chodzi.
    Jest to "takie cóś", które mierzy tempo danej piosenki/utworu.

    I teraz (jak się zapewne domyślacie) - poszukuję schematu Smile

    Wiem, że taki temat na forum już był, jednak nie mogłem ściągnąć załącznika, po za tym, nie było wiadomo, czy "to" działa Smile

    Czy ktoś jest w stanie mi pomóc Question

    0 12
  • #2 07 Wrz 2007 22:35
    LuckyDj
    Specjalista - oświetlenie sceniczne

    Jedyne wyjście, to zaprogramować odpowiednio proca! Bo filozofia liczenia tempa i pokazywania w Bit/min. jest dość skomplikowana. Do tego musisz wykonać sprzętowy selektor rytmu (jakiś porządny, z automatyczną regulacją czułości) Poza tym jaki to ma sens, skoro nawet fabryczne liczniki często pokazują głupoty...
    Jedyny dobry licznik z jakim się spotkałem, to licznik w odtwarzaczu RCD3000s Jest dokładny i pokazuje tempo zaraz po włożeniu płyty i wybraniu utworu (nawet nie trzeba go puszczać), ale nawet nie chcę myśleć jak jest zbudowany ;) Jeśli chodzi o soft, to pewnie niezłe "kongo"...

    Pozdrawiam i życzę powodzenia ;)

    PS: Możesz wykonać sobie miernik BPM (był w jakiejś EP, jest schemat na elce), ale to miernik i trzeba gałą dopasować mruganie ledy z beatem i wtedy odczytać BPM.

    0
  • #3 21 Wrz 2007 21:58
    DJ_Kranky
    Poziom 9  

    ...a z tego co się dowiedziałem, na pewnym forum, podobno wystarczy:

    -detektor uderzeń
    -sterownik wyświetlacza

    ...i co wy na to :?:

    0
  • #4 22 Wrz 2007 17:20
    dzik84
    Poziom 17  

    No tak, tylko ten cały detektor uderzen to wlasnie caly algorytm detekcji tempa

    Tyle co ja gralem to zaden pionek czy denon nie radzil sobie z kazdym kawalkiem

    Pozatym taka moja drobna uwaga, dobry DJ gra ze sluchu a nie cyferek na wyswietlaczu ;)

    Pozdro

    0
  • #5 23 Wrz 2007 22:24
    LuckyDj
    Specjalista - oświetlenie sceniczne

    Detektor uderzeń i sterownik wyświetlaza, pewnie zwykły licznik, tylko co Ci po tym jeśli pomiar trwa minutę?

    0
  • #6 10 Paź 2007 03:05
    c_04
    Poziom 21  

    mialem kiedys w domu jakis efekt z wbijanym recznie beatem... nie wiem czy to nie byl jakis korg (keyboard) 4 nacisniecia do rytmu powodowaly obliczenie bpm
    BPM to inne oznaczenie czestotliwosci bo chodzo o uderzenia na minute a np w Hz - f/sec

    kiedys nad tym myslalem i trzeba by zbudowac cos liczacego czas pomiedzy 2 kolejnymi beatami a dla usrednienia mogloby ich zliczac np 4 wiec pomiar nie musi trwac minuty
    z czasu juz mozna powiedziec bpm np 428ms to czas odstepu pomiedzy 2 kolejnymi uderzeniami przy tempie 140bmp

    teraz ktos niech zrobi program do proca ktory policzy odstep czasowy z zadana podstawa np 100bpm i niech sie do tego ustosunkuje... zamiana czasu na bpm to jakas prosta matematyka
    dokladny wzor to 60/przez czas
    czyli 60/0,428s=140,18bpm

    dlatego przypuszczam ze wiele urzadzn ma niedokladny pomiar poniewaz odbywa sie on tylko pomiedzy 2 uderzeniami stopy co jak wiadomo moze byc zmienne (sam kiedys wprowadzalem przesuniecie w petlach co 2 beat dawalo to takiego pompujacego kopa)

    dla opcji dokladniejszej trzeba dodac licznik zliczajacy do 4 beatow a potem wynik musialby byc podzielony przez te 4 dla usrednienia

    zeby pomiar odbywal sie automatycznie trzeba by zastosowac jakis filtr tylko nie wiem na jakiej czestotliwosci poniewaz blisko stopy lezy tez bas (dla muzy techno) a w kazdym utworze jest to inaczej

    calosc mozna by byc moze zrobic duzo prosciej np na takiej zasadzie jak odbywa sie pomiar w multimetrach gdzie dopinany jest kondensator i ladowany po czym rozladowywany... ten czas jest podstawa do obliczenia pojemnosci kondesnatora... gdyby tak odwrocic caly ten uklad i dac znany kondensator a ze zmeinnym czasem probowac ladowac kondesator i go rozladowywac to mozna by np mierzyc napiecie do jakiego sie naladowal i na tej podstawie okrecilic tempo... ale to juz chyba za ostra jazda;)
    zdecysowanie prosciej zrobic szczegolnie temu kto sie zna na programowaniu urzadzenie zliczajace interwaly czasowe i ja bym widzial to tak:
    podstawa czasowa np licznik zliczajacy czas i z nowym beatem wyzwlaloby kasowanie poprzedniego wyniku jakims impulsem np szpilka zeby nastepne odliczanie zaczynalo sie np po uplywie 1ms tak zeby czas byl stabilny a potem juz jak pisalem - prosta matematyka... na upartego mozna jeszcze sie zastanowic nad odejmowaniem tych 4ms ktore moglyby sie tu dodac i zafaloszowywac wynik koncowy ale to zalezy od dokladnosci takiego beatmetera bo jezeli liczylby tylko bez miejsc po przecinku to te 4ms po podzieleniu przez 4 wyniesie tylko 1ms na beat... (mozna by tez od razu dzielic caly czas przez 4 i po zliczeniu 4 beatow odczytac wynik)
    mozna zrobic jeszcze tak ze zastosowac 2 liczniki + dzielnik przez 2 + latch... wynik po pierwszym zliczeniu bylby od razu wyswietlany na wyswietlaczu lcd a nastepne zliczenie przelaczaloby na ten drugi licznik zliczajacy w czasie wyswetlania pierwszego... impulsem przlaczajacym bylby wspomniany impuls beatu ktory przestawialby np cd4013 i zmienial w rezultacie wynik wyswietlany... jezeli nie potraficie programowac uC zawsze mozna siedziec z kalkulatorem i przleiczac wg podanego przeze mnie wzoru;)... oczywiscie dokladnosc sie zwiekszy z wieksza rozdzielczoscia czasowa czyli zamiast najmnijszej jednostki jaka bylby taki licznik zliczyc zamiast 1ms bylaby 0,01ms;) wychodzi na to ze 1ms to 1000Hz tzn cos o czasie trwania 1ms czyli 0,001s... hmm to chyba nie taki trudny zegar

    0
  • #7 12 Lut 2008 23:12
    djgrabo
    Poziom 11  

    jestem na etapie budowy takiego ukladu z wykorzystaniem ATMega8 @ 8MHz, oto koncepcja programu:

    1 beat => wystartuj licznik 16-bitowy clk/64
    2 beat => zatrzymaj licznik

    pojedynczy bit gornego rejestru licznika dla tych ustawien ma wage 2,048ms a licznik zawiera jej wielokrotnosc rowna okresowi pomiedzy dwoma beat'ami

    60000/2,048=29296,875

    wiec do rejestru roboczego (w sumie do pary rejestrow 8-bitowych, np R1:R0) wpisujemy ta wartosc, nastepnie wykonujemy petle:

    :START
    odejmij wartosc licznika od R1:R0
    jesli pojawi sie flaga Z lub N idz do KONIEC
    dodaj 1 do BPM
    idz do START
    :KONIEC

    w rejestrze BPM bedziemy mieli wartosc BPM z dokladnoscia do 1 :)
    oczywiscie trzeba zrobic zalozenia ze wartosc licznika musi zaiwerac sie w okreslonych granicach

    0
  • #8 05 Mar 2008 12:27
    djramu

    Poziom 15  

    Ja też pracuje nad takim urządzeniem i myśle sobie, ze sam pomiar tempa to pikuś. ale jak wysterować wyświetlacz LED?

    Myślę na programem częstotliwościomierza który będzie mierzył częstotliwość przez pewien czas (np. 2 sekundy), uśredniał wynik pomiaru i mnożył do przez 60.

    Do tego celu mam zamiar urzyć uP ATTINY2313.
    Chcę zrobić wyświetlacz z segmentów LED lecz nie wiem jak nimi streować.
    Może nie tyle nie wiem jak sterowac, tylko nie wiem jak podzielic zmienna, aby na kazdym z wyświetlaczy miał swoją cyfrę. Wyświetlacze będą sterowane multipleksowo.
    A może ktoś wie jak to zrobić w BASCOM - AVR?

    0
  • #9 05 Mar 2008 15:19
    LuckyDj
    Specjalista - oświetlenie sceniczne

    djramu napisał:
    ...uśredniał wynik pomiaru i mnożył do przez 60.


    Może przemawia przeze mnie brak doświadczenia, ale to będzie bardzo (żeby nie powiedzieć MEGA) niedokładne, a o dokładność pomiaru tu przecież chodzi...

    Tak, czy owak pozdrawiam.
    Lucky

    0
  • #10 05 Mar 2008 18:27
    c_04
    Poziom 21  

    witam
    przypominam szanownym kolegom ze zeby pomiar byl w miare precyzyjny trzeba pod rozwage wziac 4 beaty... nie wiem ktory z kolegow zajmuje sie muzyka i nie wiem czy zdajecie sobie sprawe ze stosuje sie pewne przesuniecia dla dodania feelingu... cos takiego np sie uzyskuje ze przesuwa sie 2 i 4 uderzenie do przodu tzn lekko wyprzedza

    wynikaloby z tego ze beat konczacy powinien miec nr 5: 1 start... 5 stop i wtedy to wszystko podzielic przez 4 przez co wszystkie przesuniecia w czasie sie usrednia i podany wynik powinien byc w miare rzeczywisty

    pozdrawiam

    0
  • #11 12 Mar 2008 12:33
    loszmi
    Poziom 2  

    A nie dałoby się stworzyć programu, który zliczałby impulsy np z mikrofonu? Chodzi mi o stworzenie maszyny zliczającej uderzenia perkusisty.

    0
  • #12 12 Mar 2008 14:08
    LuckyDj
    Specjalista - oświetlenie sceniczne

    No jasne ze tak, ale taki pomiar trwał by minutę (jeśli ma to być w BPM)

    0
  • #13 12 Mar 2008 20:05
    błyskacz
    Poziom 10  

    Witam Jak najbardziej zgadzam sie z dzik84. praktycznie kazdy licznik cie w jakis sposób oszuka a napewno juz ten w mixerach z licznikami. Pozatym jak zdązył nadmienić Dzik84 dobry Dj gra ze słuchu więc nie ma bardzo sensu konstrułwac licznika tylko wziasc sie do pracy ;]


    Dodam jeszcze ze takie urządzonko z mickiem nie dosc ze zliczało by BPM długo to było by mega niedokładne bo przecierz było by narazone na zakłócenia z zewnątrz

    0