pl | en

JPLAY – wirtualny odtwarzacz plików

Niedawno otrzymaliśmy do przetestowania coś szczególnego, w polskich warunkach unikalnego – wirtualny (softwarowy) odtwarzacz plików. Jego autorem jest Polak, redaktor magazynu „Chip”, pan Marcin Ostapowicz. Ponizej znajdą państwo instrukcję obsługi odtwarzacza, w której znajdą państwo mnóstwo informacji o nim samym. Pan Marcin ma przygotować kilka artykułów dotyczacych wykorzystania komputera PC w roli źródła dźwięku, które będą się ukazywały na łamach „High Fidelity”. Przyjrzymy się też odtwarzaczowi JPLAY.

1. O odtwarzaczu JPLAY

JPLAY jako pierwszy na świecie odtwarzacz wprowadza szereg unikalnych funkcji, które mają tylko jeden cel - perfekcyjnie odtwarzać muzykę z peceta:

- odtwarzanie wyłącznie z pamięci RAM: w odróżnieniu od większości playerów pamięciowych, które dynamicznie ładują utwory do RAM-u w trakcie odtwarzania, JPLAY kopiuje do pamięci kompletną playlistę i gwarantuje zerową aktywność dysku podczas odsłuchu (zero disk I/O)
- Large Page Memory: minimalne opóźnienia procesora dzięki wykorzystaniu optymalnych technik zarządzania pamięcią
- Maximum System Timer: obniża latencję systemu operacyjnego Windows, pozwalając szybciej przełączać wszystkie zadania
- Maximal Priority Scheduling: zapewnia niezakłócony transfer bitów poprzez nadanie odtwarzaczowi najwyższych priorytetów
- Hibernation Mode: usuwa wszelkie "zakłócenia" systemu operacyjnego, eliminując setki indukujących jitter procesów oraz wątków
- Overdrive Mode: wykorzystuje procesor komputera do granic możliwości, co jeszcze bardziej zwiększa dokładność transmitowanych bitów (czas)
- DedicatedCore Mode: usuwa wszystkie procesy z rdzenia, na którym rezyduje odtwarzacz, rozdzielając je równolegle na pozostałe rdzenie CPU.

JPLAY powstał w oparciu o jedno założenie: optymalne odtwarzanie muzyki. A to oznacza brak funkcji zarządzania biblioteką plików, brak miłego dla oka interfejsu graficznego - tylko fanatyczna koncentracja na dostarczeniu możliwie najlepszej jakości dźwięku.

Minimalistyczny silnik odtwarzacza całkowicie mieści się w pamięci cache procesora i może działać jako osobny player lub we współpracy z popularnym oprogramowaniem do zarządzania muzyką, takim jak: JRiver Media Center, iTunes, foobar2000, mp3toys.

To pierwszy i na chwilę obecną jedyny player, który potrafi całkowicie przejąć kontrolę nad systemem Windows w sensie zablokowania wszystkich procesów i usług, ograniczających jakość dźwięku. Podczas odtwarzania w trybie hibernacji, poza silnikiem playera i wątkiem sterownika interfejsu audio, nie pracuje żaden proces, nawet systemowy. Program wykorzystuje wówczas pełną moc obliczeniową komputera, wszystkie rdzenie CPU, aby zapewnić nie tyle strumień bit-perfect, ale co ważniejsze - 'time-perfect'.

W muzyce timing jest niezwykle istotny. W cyfrowym audio jeszcze bardziej. Podczas, gdy otrzymanie na wyjściu sygnału bit-perfect jest łatwe, to wytworzenie go dokładnie na czas stanowi nie lada wyzwanie - dla płyty CD-Audio są to 32-bity co 22 mikrosekundy (mikrosekunda jest równa jednej milionowej sekundy). Mimo szybkości dzisiejszych maszyn, w trakcie odtwarzania wykonują one setki, jeśli nie tysiące innych operacji. Przy tak dużej aktywności, pecet ma sporą trudność z wygenerowaniem bitów bez degradujących jakość opóźnień. Optymalizacje wewnątrz odtwarzacza JPLAY mają na celu zminimalizowanie zarówno programowych, jak i sprzętowych 'zakłóceń' i tym samym ułatwiają komputerowi utrzymanie właściwego 'rytmu'.

Odtwarzacz obsługuje pliki 16-bitowe, jak i te wysokiej rozdzielczości zapisane przy użyciu bezstratnych kodeków FLAC, WAV, AIFF oraz ALAC. JPLAY współpracuje z wszystkimi wersjami systemu Windows (32 i 64-bit). Koszt pojedynczej licencji to 99 EUR.

Więcej informacji oraz darmowe wersje trial odtwarzacza można znaleźć na oficjalnej stronie programu pod adresem: www.jplay.eu

2. Wymagania

Komputer PC z systemem operacyjnym Windows Vista (Windows Server 2008) lub Windows 7 (Windows Server 2008R2). Dla najlepszych rezultatów zalecanym systemem jest 64-bitowa wersja systemu Windows 7 z aktualizacją Service Pack 1.
Minimalne wymagania sprzętowe:
- dowolny współczesny procesor x86 (min. klasy Pentium)
- 512 MB RAM
- interfejs audio i sterowniki kompatybilne z WASAPI i/lub Kernel Streaming

Zalecane wymagania sprzętowe (oferujące optymalną jakość):
- czterordzeniowy, 64-bitowy procesor (np. Intel core i5 w 32nm architekturze Sandy Bridge)
- co najmniej 4GB pamięci RAM DDR3 (im wyższa częstotliwość i niższe opóźnienia, tym lepiej)
- dysk SSD na system operacyjny i zewnętrzny storage USB na pliki z muzyką (tryb AHCI)
- brak części mechanicznych w obudowie komputera (zakłócenia generowane przez silniki talerzowych dysków twardych oraz wentylatory, wibracje)
- w przypadku laptopów odtwarzanie z baterii (odłączenie kiepskiej jakości zasilacza SMPS)

3. Uruchomienie odtwarzacza

Odtwarzacz nie wymaga instalacji. Jest to niewielki plik, który zapisujemy na dowolnej partycji, koniecznie pod nazwą 'jplay.exe'. Pierwsze uruchomienie powinno być z prawami administratora. W tym celu klikamy prawym klawiszem myszy na jplay.exe i wybieramy z listy 'Uruchom jako administrator'. (wymagany restart systemu) Po pierwszym uruchomieniu i prawidłowym zamknięciu odtwarzacza (wciśnięciu 'q' na klawiaturze) w kataogu playera tworzony jest plik jplay.settings, w którym znajdują się wszystkie ustawienia. Plik można otworzyć notatnikiem lub jakimkolwiek innym edytorem tekstu.

4. Optymalny scenariusz użytkowania

Plik odtwarzacza zapisujemy na sformatowanej wcześniej pamięci USB flash. Przy formatowaniu wybieramy system plików exFAT oraz największy z możliwych rozmiar klastra:

Uruchamiamy odtwarzacz i zamykamy ('q'). Używając notatnika, edytujemy plik jplay.settings na naszej pamięci USB.

version 3 - to jest tylko informacja o wersji odtwarzacza, nie ruszamy
filecache - parametr decyduje, jak dużo pamięci zarezerwuje dla siebie odtwarzacz (w megabajtach). Wielkość jest uwarunkowana ilością fizycznej pamięci RAM, zainstalowanej w komputerze. Z tą różnicą, że musi to być całkowicie wolny obszar - niepofragmentowany. JPLAY korzysta z unikatowej metody zarządzania pamięcią - Large Pages - to pozzwala na zmaksymalizowanie wydajności i zminimalizowanie opóźnień. Jeśli komputer wyposażony jest w 2GB pamięci, może być problem z alokacją nawet 512MB kawałka niepofragmentowanej pamięci. Im większy fileacache, tym większe pliki można odtwarzać (w przypadku odtwarzania całych albumów, utwory są odtwarzane bez przerw, o ile zmieszczą się w pamięci, czyli filecache). Jeśli filecache będzie za duży, program wyświetli ostrzeżenie, że nie było możliwe zablokowanie ustalonej wielkości pamięci, wykorzystując Large Pages i o ile jest wystarczająca ilość pofragmentowanej pamięci, przydzieli ją używając gorszej metody. Nie jest zalecane przeprowadzanie krytycznych odsłuchów przy tej metodzie. Dlatego odtwarzacz należy odpalać jako pierwszy program po uruchomieniu systemu operacyjnego i nigdy nie zamykać. Gdy komunikat błędu Large Pages będzie pojawiał się nawet zaraz po uruchomieniu systemu operacyjnego, edytujemy ponownie jplay.settings, zmniejszamy wartość filecache, zapisujemy plik i restartujemy odtwarzacz.
buffer - bufor jest jednym z najważniejszych parametrów, determinujących jakość dźwięku. Z mojego doświadczenia im mniejszy bufor, tym lepiej. Na interfejsach PCI można uzyskać wielkość nawet 1 sampla. W przypadku przetworników USB jest gorzej i przeważnie nie da się zejść poniżej 128 sampli. Ale to też żadna reguła, ponieważ m2tech hiface może pracować nawet z 1 samplem. Warto poświęcić chwilę i ustalić, jaką wartość da się uzyskać na naszym sprzęcie. Rozmiar stabilnego bufora różni się w zależności od czynników, takich jak: szybkość procesora, wydajność sterownika, wielkość częstotliwości próbkowania itd. Generalnie im szybszy komputer, tym niższy bufor można uzyskać. Wielkość bufora determinuje latencję - niewielkie opóźnienie, gdy program wysyła dane do interfejsu audio. Im większy bufor, tym większe opóźnienie po rozpoczęciu odtwarzania. (dla wartości 44100 sampli i płyty CD Audio jest to 1 sekunda). Dla wyższych częstotliwości próbkowania latencja dla tej samej wielkości bufora jest mniejszawg wzoru:
(Rozmiar bufora/Częstotliwość próbkowania)*2
clock - ten parametr ustala timer systemowy. W systemach Vista/Windows 7, wszystkie aplikacje są odświeżane z odstępem 15,6ms. Można obniżyć tę wartość do 0,5ms, co objawia się ewidentną korzyścią dla audio. Zalecam pozostawienie na 0 (0=0,5ms)
engine - JPLAY posiada dwa unikalne silniki odtwarzania, które nazwaliśmy Beach i River. To 2 algorytymy cache-owania bufora. Beach jest dokładniejszy, ale warto sprawdzić też River (1=Beach, 2=River)
interface - w odtwarzaczu do wyboru mamy dwie metody przesyłania danych do interfejsu. WASAPI oraz Kernel Streaming. Ta druga to najniższa warstwa, która umożliwia znacznie efektywniejszą pracę - streaming w czasie rzeczywistym, szybszy dostęp do urządzeń, niższe opóźnienia i mniejsze wykorzystanie procesora. Kernel Streaming nie wymaga aktywnych usług Windows Audio, Windows Audio Endpoint Builder oraz Multimedia Class Scheduler.
CDBitStream i HiRezBitStream - te dwa parametry decydują o wielkości strumienia danych - w jakich 'paczkach' odtwarzacz będzie przesyłał dane do interfejsu audio. (dla zwykłych płyt red book oraz plików wysokiej rozdzielczości). Niektóre przetworniki (np Ayre QB-9 i Antelope Zodiac) wymagają 24-bitowego strumienia. Jednak, gdy to możliwe, zalecam ustawienie 32-bit (32) dla jednego i drugiego formatu. Komputer znacznie lepiej radzi sobie z paczkami tej wielkości, co zresztą słychać.
Overdrive - tryb 'zajeżdżania' procesora :) Gdy odtwarzamy w hibernacji i Kernel Streaming, CPU wykorzystywany jest do granic możliwości. Zalecam włączenie tej opcji dla uzyskania najlepszej jakości. Mam nadzieję, że Pana laptop nie odleci (zwiększone obroty wentylatora).
DedicatedCore - dedykowany rdzeń dla odtwarzacza - żaden proces nie koliduje z playerem. Wszystko jest przerzucane na pozostałe rdzenie. Proszę ustawić na 1.

5. Odtwarzanie

Uruchamiamy player z pamięci USB, korzystając z Eksploratora Windows lub jakiegokolwiek innego menedżera plików zaznaczamy bezstratny plik audio (WAV, FLAC, AIFF lub ALAC) lub cały folder (album), kopiujemy (ctrl+c lub prawy klik myszy->kopiuj), przechodzimy do okna odtwarzacza i wcisjamy spację. Utwory zostaną załadowane do pamięci i rozpocznie się odtwarzanie. Gdy filecache jest za mały, utwory, które się nie zmieściły trafiają do kolejki.
Wciskając spację kolejny raz, odtwarzacz przeskakuje do kolejnego utworu w kolejce. 'p' pauza, 'm' stop. Wciśnęcie 'm', gdy program nie odtwarza powoduje wyłlączenie usługi Multimedia Class Scheduler (MMCS), co jest korzystne dla jakości - to jedyna opcja, którą trzeba ustawić w programie. Dodatkowo, wszystkie opcje z wyjątkiem filecache można regulować bezpośrednio w oknie aplikacji, wciskając odpowiedni przycisk na klawiaturze. Aktualne ustawienia widoczne są w nawiasach przy poszczególnych opcjach. Wyjście z programu klawiszem 'q' aktualizuje plik jplay.settings.

Ś Najlepsze rezultaty brzmieniowe osiąga się w trybie hibernacji i overdrive. Hibernację aktywujemy wciskając 'h' i potem normalnie spacja. Wówczas ekran powinien się wygasić i komputer 'zasypia', udostępniając całe swoje zasoby odtwarzaczowi. Aby przerwać odtwarzanie w hibernacji, trzeba wyciągnąć pendrive'a z portu USB.

Odtwarzacz może działać samodzielnie - i w ten sposób osiąga się najlepsze rezultaty brzmieniowe (hibernacja, overdrive) oraz w połączeniu z innymi programami do zarządzania muzyką.

Więcej informacji o odtwarzaczu i jego konfiguracji można znaleźć pod adresem www.jplay.eu (blog, faq, download). W razie jakichkolwiek pytań/problemów, proszę o kontakt mailowy: support@jplay.eu. Z chęcią pomogę! :)