Kontroler z Lidla i Virtual DJ Pro

DJ

Inne takie › Kontroler z Lidla i Virtual DJ Pro

Konsola DJ SilverCrestOstatnimi czasy nabyłem drogą kupna w osiedlowym Lidl-u konsolę DJ-ską marki SilverCrest. SilverCrest jest marką własną Lidl-a, a pod nią kryją się różni producenci, tym razem producentem jest Targa GMBH, firma, która robi elektronikę głównie na potrzeby właśnie Lidl-a. Konsola jest dostarczana z programem MixVibes Cross DJ LE, ja jednak postanowiłem ją zmusić do pracy z moim ulubionym Virtual DJ.

 

Wykonanie

Wygląd konsoli jest wzorowany na konsoli ION Discover DJ, na tyle, że śmiem twierdzić iż stoi za nią ten sam producent. Oczywiście wykonanie jest nieznacznie inne, Lidl dodał pomarańczowy kolor podstawy, ale idea, wykonanie, pokrętła, jog-i wszystko jest zbliżone. Konsola SilverCrest jest jednak bardziej rozbudowana. W stosunku do konsoli ION dodano tutaj:

  • przyciski hot cue, po dwa na każdy kanał (HOT1, HOT2)
  • pokrętło PITCH na każdy kanał zastąpiło mniej wygodne przyciski
  • wciskane pokrętło wyboru efektu, plus pokrętło regulacji mocy efektu
  • przyciski trybu JOG-a są teraz niezależne dla każdego kanału
  • gorsze jest niestety pokrętło BROWSE, nie jest wciskane, co jednak niewiele przeszkadza

Poza tym wszystko to samo, przyciski są podświetlane, mamy też diodę informującą o włączeniu efektu. JOG-i obsługują dotyk, chodzą precyzyjnie, można je "rozpędzić".
Dodatkowo konsola jest dostarczana z identycznym programem co produkt ION-a a więc MixVibes Cross DJ LE. Jest to prawie pełna wersja programu, głównym ograniczeniem jest współpraca tylko z jednym typem konsoli, tym z którym jest sprzedawana.
Konsola jest wykonana z mocnego plastiku, wygląda solidnie.

Jak to podłączyć ?

Czym w zasadzie jest to urządzenie ? Jest to kontroler, jak myszka, czy klawiatura, podłączany do komputera przy pomocy kabla USB. Poza kablem USB nie można do niej podłączyć nic innego, żadnych wzmacniaczy, mikrofonów itp. Więc jak to działa ? Wszystko robi program, konsola tylko nim steruje, to przy pomocy programu wybieramy piosenki których chcemy słuchać, Konsola symuluje urządzenie MIDI, czyli standard powszechnie stosowany w przemyśle muzycznym, co powoduje że można ją skonfigurować do pracy z każdym programem DJ-skim, nie tylko z dostarczonym przez producenta konsoli.

Virtual DJ Pro

Każdy DJ ma swój ulubiony program do odtwarzania i miksowania muzyki. Najpopularniejsze na rynku są Traktor DJ Studio i Virtual DJ. Są tez inne jak dostarczany z konsolą Cross DJ. Ja podczas swoich domowych imprez korzystam przeważnie z Virtual DJ, ceniąc sobie w nim szczególnie łatwą nawigację po utworach, wyszukiwanie, dodawanie własnych folderów i na koniec tryb automix, kiedy już się nie chce prowadzić imprezy, tworzy się playlistę jak w WinAmp-ie a program sam miksuje kolejne piosenki.

Jeśli korzystamy z laptopa, a tak przeważnie się prowadzi "imprezy", to do pełni szczęścia potrzebujemy jeszcze dodatkowej karty dźwiękowej, wystarczy taka najprostsza na USB do kupienia na Allegro za kilka złotych. Ta dodatkowa karta służy do odsłuchu, podłączamy do niej słuchawki i niezależnie od tego przy czym bawią się nasi goście, my możemy odsłuchiwać następne utwory celem dobrania jak najbardziej odpowiedniego.

Program rozmawia z konsolą

Virtual DJ w wersji Pro potrafi współpracować z większością dostępnych na rynku konsol, jednak moja jest dość egzotyczna, mimo podobieństwa do konsoli ION jest rozpoznawana przez system zupełnie inaczej, mianowicie jako SilverCrest SDJ 100 A1. Twórcy Virtual DJ jednak przygotowali swój program do współpracy z nieznanymi konsolami, trzeba stworzyć odpowiednie pliki konfiguracyjne. Jeden z nich odpowiada za mapowanie przycisków, ledów, suwaków, jog-ów i pokręteł na odpowiednie nazwy, w drugim pliku przypisujemy odpowiednie nazwy funkcjom programu lub też całym skryptom. Opis jak zrobić takie pliki znajduje się na stronie programu Virtual DJ

Plik urządzenia

Od tego musimy zacząć. Chcemy aby Virtual DJ rozpoznawał prawidłowo nasze urządzenie. Idąc tropem opisu z linku który podałem w poprzednim akapicie, stworzony plik XML musimy umieścić w folderze Moje Dokumenty/VirtualDJ/Devices, nazwa pliku może być dowolna, jednak najważniejsza jest jego zawartość.

<?xml version="1.0" encoding="UTF-8"?>
<device name="SILVERCRESTSDJ100" type="MIDI" author="Dany" decks="2" drivername="SilverCrest SDJ 100 A1" version="730" date="27/12/2012">
<button note="0x4A" name="PLAY" deck="1" />
...
</device>

drivername - ogreśla jak konsola jest widziana przez Windows, można to sprawdzić na liście urządzeń po podłączeniu konsoli.
name - nazwa włąsna urządzenia, możemy nadać dowolną, jednak należy pamiętać aby potem w pliku mapującym przyciski użyć tej samej
type - MIDI, musi tak być

Potem mamy definicje wszystkich elementów dostępnych na konsoli, nie będę tłumaczył co jest co, specyfikacja jest dostępna tutaj http://www.virtualdj.com/wiki/ControllerDefinitionMIDI.html. Niestety musimy znać kody wysyłane przez elementy konsoli do programu, tutaj z pomocą przychodzi nam program udostępniony przez twórców VirtualDJ, który wyświetla nam kody przesyłane przez konsole. Przykładowo przyciśnięcie lewego PLAY/PAUSE na konsoli wysyła parę kodów:

90 4A 7F 00
80 4A 00 00

pierwszy kod informuje o wciśnięciu przycisku, drugi o jego zwolnieniu, nas interesuje drugi element każdego z kodów (w naszym przypadku 4A), jest to faktyczny kod przycisku, definicja przycisku PLAY/PAUSE w pliku urządzenia będzie więc następująca:

<button note="0x4A" name="PLAY" deck="1" />
<button note="0x4B" name="PLAY" deck="2" />

poza kodem i nazwą mamy dodatkowo artrybut deck określający którego kanału ten przycisk dotyczy. Elementy zdublowane dla każdego z kanałów nazywa się tak samo, gdyż uruchamiają te same funkcje. Mamy wtedy mniej roboty z przypisywaniem przycisków do funkcji. Jeśli jednak z jakiegoś względu chcemy aby przyciski uruchamiały inną funkcję należy stworzyć inne nazwy.

A co z LED-ami ?

Konsola to nie tylko urządzenia wejściowe (wysyłające sygnał do komputera), to także wskaźniki. A na tej konsoli jest ich całkiem sporo, na szczęście są to tylko led-y, droższe konsole mają np. wskaźniki alfanumeryczne i tu już ustawiania jest dużo więcej. Ale jak sprawdzić jaki kod odpowiada każdemu LED-owi ? Można użyć tego samego programu, jest tam przycisk SEND umożliwiający wysłanie komendy do konsoli, wpisujemy więc np.

 90 4C 7F 00

wysyłamy i widzimy, że na konsoli zaświeciła się dioda pod prawym przyciskiem PLAY/PAUSE. Diodzie tej odpowiada więc kod 4C, więc diodę w naszym pliku możemy zdefiniować następująco

<led note="0x4C" name="LED_PLAY" default="PLAY" deck="2" />

Atrybut default określa pod jaki przycisk jest podpięta ta dioda, zwalnia to nas z ręcznego przypisywania diody pod określoną funkcję, VirtualDJ zaświeci tą diodę gdy nasz odtwarzacz będzie odtwarzał piosenkę a zgasi gdy grać przestanie.
Niestety aby zlokalizować wszystkie diody na konsoli należy wysłać wszystkie kody po kolei zmieniając drugi element kodu w zakresie 00 - FF.

90 00 7F 00
90 01 7F 00
90 02 7F 00
...
90 FE 7F 00
90 FF 7F 00

Plik z pełną konfiguracją urządzenia SilverCrest SDJ 100 A1 znajduje się na końcu strony. Należy go wgrać do folderu Moje Dokumenty/VirtualDJ/Devices. Uruchamiamy VirtualDJ przechodzimy do konfiguracji i w zakładce Mappers nasze urządzenie powinno być widoczne.

Mapowanie funkcji

Jak już nasza konsola jest rozpoznawalna przez VirtualDJ możemy przejść do mapowania przycisków na funkcje programu, najprostszy sposób to:

  • przechodzimy do konfiguracji
  • zakładka Mappings
  • wciskamy (znajduje się w dolnej części okienka)
  • wciskamy przycisk na konsoli, powinien go rozpoznać i wyświetlić w polu Key
  • wciskamy Action-Learn, zostaniemy przeniesieni na konsolę programu i tam myszką wskazujemy na element, któremu odpowiada wciśnięty przycisk

W tan sposób przypisujemy wszystkie elementy naszej konsoli. Przyciski i pokrętła jest dosyć łatwo, problem większy jest z JOG-ami oraz pokrętłem wyboru efektu, tu musimy nieco pokombinować. Gotowy plik konfiguracyjny który należy wgrać do folderu Moje Dokumenty/VirtualDJ/Mappers znajduje się na końcu strony

JOG-i

Koła konsoli mogą pracować w jednym z dwóch trybów:

  • vinyl mode: koło udaje płytę winylową, można scretchować
  • cd mode: koło udaje płytę cd i wtedy obracanie kołem podczas odtwarzania spowalnia lub przyspiesza odtwarzany utwór

Jog-i w konsoli wykrywają dotyk (rzecz rzadko spotykana w tańszych konsolach), więc musimy wykryć zarówno dotyk jak i obrót i zmianę trybu.
Key: SCRATCH_TOUCH, funkcja: touchwheel_touch
Key: VINYL_MODE, funkcja: vinyl_mode
Key: JOG, funkcja: touchwheel

Tak ustawione mapowanie powoduje prawidłową obsługę JOG-ów, jednak można się pobawić w bardziej zaawansowane ustawienia, ja ustawiłem sobie to tak, że w  trybie SCRATCH mam vinyl mode, po wyłączeniu koło działa jako szybkie przewijanie, gry przycisk przytrzymam to przechodzi do trybu cd mode, wtedy dioda pod SCRATCH miga.

Pokrętło wyboru efektu

Niestety nie da się wprost przypisać pokrętła wyboru efektu do funkcji w programie, automatyczne mapowanie nie działa, trzeba samemu kombinować ze skryptem, mi udało się to wpisując w pole Action taki oto skrypt:

param_cast "integer" & param_smaller 1 ? effect select +1 : effect select -1

Jak pisać skrypty w programie jest opisane pod tym linkiem: VDJ Script

Dodatkowe funkcje - odtwarzanie i SYNC

Jak już się zacznie zabawę ze skryptami, to aż kusi aby sobie konsolę nieco "podrasować", nieco pozmieniać początkowe przypisanie przycisków. Gotowy plik mapujący, który umieściłem w linku na końcu strony wzbogaca nieco działanie przycisków SYNCREV

  • przytrzymanie dłużej SYNC na nieaktywnym kanale powoduje tzw. autosync, automatycznie płynnie zmienia położenie cossfadera
  • ponieważ uznałem, że przyciskanie SYNC na "aktywnym" kanale nie ma sensu, przycisk ten działa jako chwilowe wyciszenie kanału do 50%, dodatkowo w tym czasie włącza się mikrofon (jeśli jest obsługiwany). Mamy więc gotową funkcję automatyzującą ściszanie muzyki podczas zapowiedzi piosenki.
  • Gdy podczas synchronizacji utwór utracił swoje tempo, zaczyna migać przycisk REV, przytrzymanie go powoduje automatyczny powolny powrót do bazowego tempa utworu, przycisk miga szybciej gdy tempo różni się o więcej niż 10%

Dioda pod przyciskiem PLAY dodatkowo miga gdy załadujemy utwór, również pod koniec utworu (15s przed końcem) zaczyna szybko migać informując o konieczności przełączenia kanału.

Dłuższe przytrzymanie przycisków HOT1HOT2 powoduje skasowanie tych punktów

Dodatkowe funkcje - BROWSE

Podczas przeglądania plików też nieco wzbogaciłem działanie przycisków LOAD

  • krótkie przyciśnięcie LOAD ładuje wybrany utwór na odpowiedni kanał, ale
  • jeśli jesteśmy na liście folderów, to lewy LOAD spowoduje wyświetlanie wszystkich utworów z bierzącego folderu łącznie z podfolderami, co jest przydatne np. w sytuacji gdy w folderze mamy składankę podzieloną na 2 podfoldery, prawy LOAD zwyczajnie przechodzi do listy utworów z folderu
  • przytrzymanie dłużej lewego LOAD na liście utworów przechodzi na listę folderów
  • przytrzymanie dłużej prawego LOAD na liście utworów dodaje utwór do playlisty
  • przytrzymanie dłużej prawego LOAD na playliscie uruchamia/wyłącza tryb automix

Dodatkowe funkcje - regulacja tonów średnich i filter

Ponieważ konsola nie ma pokrętła do regulacji tonów średnich, postanowiłem przypisać tą funkcję do pokrętła PITCH, z którego korzystam dużo rzadziej.
Konsola posiada regulację wzmocnienia efektu, jednak efekty w VirtualDJ sa na tyle dobrze ustawione że postanowiłem przypisać to pokrętło pod FILTER i nieco osłabić mu czułość (łatwiej ustawić jest FILTER w pozycji 0). Dioda FX przy włączonym filtrze miga.

Oczywiście zachęcam do zabawy we własne konfiguracje

Komentarze

Komentarze do Kontroler z Lidla i Virtual DJ Pro na it.jursza.com