logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Prototyp] Behringer DJX700 CustomFX - ulepsz sobie mikser, a co!

MocnyAmper 23 Cze 2022 14:57 1866 4
REKLAMA
  • [Prototyp] Behringer DJX700 CustomFX - ulepsz sobie mikser, a co!

    Witajcie :D
    Jak już kiedyś zapowiadałem przy okazji mojego wcześniejszego projektu (RotaryFX), pracowałem również nad efektorem do popularnego, choć raczej amatorskiego miksera Behringer DJX700. Prawdę mówiąc, pracowałem przez pewien czas równolegle nad obydwoma projektami, ale po skończeniu RFX-a zrobiłem sobie na kilka miesięcy przerwę od techniki audio i DSP.

    Na chwile obecną posiadam działający prototyp modułu DSP oraz płytki deweloperskiej, że tak to nazwę. Całość przedstawię jako gotowy projekt kiedy skończę efekty, ale pierwszymi wynikami mogę się pochwalić już dziś :)

    Podstawową zmianą względem oryginalnego modułu DSP Behringera jest możliwość regulacji parametru każdego z efektów oraz synchronizacja tempa efektów, które wykorzystują LFO. Nie muszę chyba dodawać, że oryginalny moduł DSP nie oferował takich bajerów ;)

    Wprowadziłem tutaj swoje autorskie rozwiązanie (a przynajmniej nie spotkałem się nigdzie z takowym) polegające na ładowaniu efektów do procesora DSP nie bezpośrednio z pamięci EEPROM, ale pośrednio z wykorzystaniem procesora sterującego. Co to daje? A no kilka ciekawych możliwości, m.in. praktycznie nieograniczoną ilość efektów, które mogą być załadowane do DSP oraz, co ważniejsze, możliwość edytowania efektów 'w locie', tj. w trakcie przesyłania ich do DSP. Jest to bardzo przydatne z uwagi, że sam procesor DSP nie posiada żadnej magistrali, która w sposób cyfrowy pozwalała by modyfikować parametry programu. Chcąc użyć oscylatora LFO (tutaj: DDS) do kontroli prędkości efektów wymagana jest duża precyzja sygnału synchronizującego, której nie da się uzyskać poprzez wejścia potencjometryczne. Co więc zrobić? Ustawić w kodzie efektu tzw. "kotwicę", której później będzie szukał uC podczas ładowania efektu i zmieni jej wartość na taką, z którą chcemy załadować program. Proste? Wydaje się, że tak. W rzeczywistości sprawia kilka problemów natury technicznej, ale nic z czym nie dało by się poradzić. Szerzej o tym napiszę przy publikacji wersji finalnej.

    Planuję aby efektor posiadał 16 slotów (2 banki po 8 efektów) - w mojej wersji będą to praktycznie te same efekty, które przedstawiłem przy okazji publikacji RFX-a, ale niektóre będą po prostu zmodyfikowane do sterowania poprzez LFO. Jak wspomniałem wcześniej, teoretycznie jedynym co ogranicza ilość efektów jest pojemność pamięci EEPROM (i/lub ich ilość), ale uznałem, że 16 efektów wystarczy w zupełności.

    No i najważniejsze - będzie to projekt komercyjny, a więc każdy zainteresowany będzie mógł sobie takie urządzenie sprawić. Planuję co jakiś czas wystawić na sprzedaż kilka modułów produkowanych własnoręcznie w lekko zawyżonej cenie :D Moduł będzie miał już wgrane 16 predefiniowanych efektów, ale oczywiście będzie również możliwość tworzenia własnych. Do tego również będzie specjalny devkit, choć nie jest on niezbędny, ale napewno ułatwi pracę.

    Na chwile obecną to chyba wszystko. Poniżej wideo prezentujące Flanger i Break. Chętnie przyjmę każdy feedback ;)




    Fajne? Ranking DIY
    O autorze
    MocnyAmper
    Poziom 25  
    Offline 
    Specjalizuje się w: Psuję wszystko po trochu
    MocnyAmper napisał 1385 postów o ocenie 282, pomógł 87 razy. Jest z nami od 2021 roku.
  • REKLAMA
  • #2 20074641
    Urgon
    Poziom 38  
    Posty: 7281
    Pomógł: 197
    Ocena: 2632
    AVE...

    Trochę skromny ten opis. Rozumiem, że nie chcesz dzielić się schematem czy wzorem PCB, ale mogłeś napisać, na jakich układach ten moduł jest oparty. Czy używasz oryginalnego procesora DSP z modułu Behringera, czy jakiegoś innego? Jak duży jest pojedynczy efekt? W sensie, ile miejsca w pamięci EEPROM zajmuje?
  • REKLAMA
  • #3 20074786
    MocnyAmper
    Poziom 25  
    Posty: 1385
    Pomógł: 87
    Ocena: 282
    Wybacz mój skrót myślowy :D Ogólnie to z niewiadomych mi przyczyn założyłem, że osoba zainteresowana tematem zapozna się również z moją poprzednią konstrukcją gdzie pisałem więcej na temat samego procesora ;) Moim zamiarem jest opisać szerzej to urządzenie podczas publikacji wersji finalnej. W każdym razie, użyłem tu procesora FV-1 (SPN1001) firmy SpinSemi. Jeśli chodzi o efekty, pojedyńczy efekt zajmuje 512 bajtów. Przy czym warto nadmienić, że jest to procesor 24-bitowy. To sprawia, że każda instrukcja składa się z 24-bitowej wartości oraz 8-bitowej komendy (np OR 0xFFFFFF). W związku z tym liczba instrukcji pojedyńczego programu jest ograniczona do 128, ale każda z nich wykonuje się w pojedyńczym takcie zegara (nawet te bardziej skomplikowane jak log czy exp), który trwa właśnie 128xFs. Skompilowany plik wynikowy zapisywany jest w formacie intel hex.

    Wspomniałem o częstotliwości próbkowania (Fs). Ogólnie to wszystkie zegary w FV-1 są z nią synchronizowane, a to również daje pewne ułatwienia konstrukcyjne, ale o tym więcej napiszę przy okazji omawiania mechanizmu kotwic i wgrywania efektów do pamięci procesora ;)

    Sam procesor posiada ograniczenie w postaci możliwości zaadresowania jedynie 8 efektów z zewnętrznego eepromu (pierwsze 4096 bajtów) o czym pisałem przy okazji mojej poprzedniej konstrukcji. Tam obszedłem ten problem stosując dwa banki efektów (dwie fizyczne kości eeprom), których adresy były dynamicznie przełączane przez procesor sterujący. Tutaj efekt ustawiony jest na stałe na efekt 5 (taki wewnętrzny efekt testowy, troche jak bypass), a po przełączeniu dsp na prace z zewnętrzną pamięcią zwraca się on do procesora sterującego po kod efektu "myśląc", że ma do czynienia z normalną pamięcią eeprom, a w gruncie rzeczy procesor sterujący emuluje działanie takiej pamięci podstawiając tam dowolny kod. To sprawia, że można użyć dowolnej pamięci eeprom czy flash o pojemności np 4MB do której zmieści się ponad 1000 efektów :P Oczywiście jest to abstrakcja bo raczej nikt więcej niż 16 nie potrzebuje, ale chodzi jedynie o pokonanie ograniczenia technicznego.

    Schematem pewnie się podziele, wszak nie ma tu żadnej większej magii. Nie udostępniam jedynie plików PCB i kodów źródłowych ;) Natomiast udostępnie wszystko co mam (schematy i pcb) do dev-boardu. Jest to układ czysto analogowy, do tego wykorzystujący fragmenty schematu oryginalnego miksera.
  • REKLAMA
  • #4 20089539
    MocnyAmper
    Poziom 25  
    Posty: 1385
    Pomógł: 87
    Ocena: 282
    Miałem chwile to nagrałem wszystkie efekty, które będą domyślnie wgrane w urządzenie. Myśle, że na dniach nagram oficjalne demo z opisami.



  • #5 20111324
    MocnyAmper
    Poziom 25  
    Posty: 1385
    Pomógł: 87
    Ocena: 282
    Projekt został ukończony.
    Zapraszam do dyskusji tutaj: https://www.elektroda.pl/rtvforum/topic3907656.html
REKLAMA