EiS na Facebook FanPage EiS na Twitter EiS na YouTube EiS na Google+ EiS News - kanał RSS EiS Forum News - kanał RSS





Ulubiony kiosk EiS

EiS Online - Index  
  1. Główna
  2. EiS Media
  3. Forum
  4. Demowicze
  5. Ogłoszenia
  6. Artykuły
  7. EiS FAQ
  8. Szukaj w EiS
  9. Redakcja
Status użytkownika
 Nie jesteś zalogowanym/zarejestrowanym użytkownikiem serwisu EiS
       Zaloguj/zarejestruj się

 

EiS w październiku
EiS 10/2014 - okładka

   Spis treści
   Na płycie DVD


EiS PLUS 5
BEATS & BASS

   Spis treści
   Na płycie DVD


EiS PLUS 4
EFEKTY W PRODUKCJI MUZYCZNEJ

   Spis treści
   Na płycie DVD


EiS PLUS 3
EiS PLUS - okładka

   Spis treści

Poradnik EiS
KONTAKT 5. Prawdziwe instrumenty w komputerze

   Spis treści
   Na płycie DVD


EiS - numery archiwalne

     W numerze 2005-06          Strona główna archiwum

EiS 2005-06
  TECHNOLOGIA 

When I'm Sixty-Four...
64-bitowe chipy i programy w zastosowaniach muzycznych

Piotr Tutka


Pojawienie się w latach osiemdziesiątych komputerów osobistych było wydarzeniem, które bezpowrotnie zmieniło nasz sposób patrzenia na wszystko, co można określić mianem narzędzia. Początkowo były to maszyny 8-bitowe, ale ich możliwości były za małe do poważnych zastosowań w muzyce.

Zdecydowany postęp odnotowano wraz z nadejściem maszyn 16-bitowych. Obecnie, w erze komputerów 32-bitowych, mamy do swojej dyspozycji narzędzia, które z najwyższą jakością są w stanie realizować praktycznie wszystkie zadania i procesy studyjnej obróbki dźwięku. Jaką więc korzyść możemy odnieść z pojawienia się w naszym zasięgu sprzętu i programów 64-bitowych?

Po co nam 64 bity?
W przypadku 32-bitowych procesorów i aplikacji maksymalna teoretyczna ilość pamięci RAM wynosi 232 bajtów, czyli 4GB. Domyślnie system Windows przydziela 32-bitowym programom tylko połowę tej wielkości - 2GB. Z pomocą odpowiednich ustawień można jednak zwiększyć ilość pamięć dla aplikacji 32-bitowych do 3GB i to już jest kres możliwości. W przypadku architektury Windows x64 limit pamięci RAM to 240 bajtów, czyli 1TB (terabajt). Można zadać pytanie, dlaczego nie jest to 264 skoro mamy do dyspozycji 64-bitowe procesory? W rzeczywistości do 264 bajtów możemy zwiększyć jedynie pamięć wirtualną, maksymalna pamięć fizyczna to 1TB.

Co oznacza możliwość stosowania tak dużej pamięci RAM? Przede wszystkim pozwala ona na zapis danych bezpośrednio do szybkiej pamięci RAM, a nie - jak to się dzieje do tej pory - na dużo wolniejszym twardym dysku komputera. Programy mają znacznie szybszy dostęp do danych, takich jak ścieżki audio, pętle itp. Przechowywanie tych danych w pamięci RAM znacznie usprawnia ich obróbkę w czasie rzeczywistym (zmiana wysokości dźwięku, kompresja/ekspansja czasowa). Większość programów już obecnie przechowuje sporo danych w pamięci RAM, ale zwiększenie jej objętości aż do 1TB może sprawić, że można tam będzie ulokować kompletne sesje, duże banki próbek czy zestawy brzmień. Aktualnie większość programów typu sampler czy sample-player do odtwarzania pokaźnych objętościowo banków korzysta z różnych form odczytu danych z twardego dysku, z pamięci RAM (z uwagi na jej notoryczny brak w aplikacjach audio) czytając tylko niezbędne do szybkiego odtworzenia fragmenty. Możliwość załadowania do RAMu całego banku raz na zawsze eliminuje problem latencji przy odtwarzaniu - naciśnięty klawisz spowoduje niemal natychmiastowe uruchomienie odtwarzania dźwięku.

Inną ważną zaletą architektury x64 jest większa wydajność wynikająca z większej liczby rejestrów i poprawionej jednostki zmiennoprzecinkowej (FPU) w procesorach 64-bitowych. Aby przybliżyć tę problematykę warto sobie wyobrazić, że procesor zapisuje przeliczane informacje w różnych obszarach swojej pamięci. Owe obszary mogą znajdować się "bliżej" lub "dalej" CPU, a dystans ten określa czas, w jakim procesor może skorzystać z zapisanych w nim danych. Rejestry są rodzajem pamięci, która znajduje się najbliżej CPU. Dane w rejestrach dostępne są natychmiast, bez żadnego opóźnienia. Jeśli dane znajdują się poza rejestrem, korzystający z nich program musi je zapisać do pamięci RAM. Może to oznaczać redukcję wydajności, ale procesory mają wbudowane "mechanizmy obronne" np. w postaci cache, czyli specjalnej pamięci podręcznej przeznaczonej na przechowywanie ostatnio przetwarzanych informacji. Kiedy program czyta dane zlokalizowane w pamięci RAM, cache sprawdza czy owe dane już były czytane, i jeśli tak, szybko zwraca programowi stosowną informację. Jeśli nie, szybko spada wydajność, gdyż procesor musi pobrać dane z pamięci RAM, co może oznaczać wstrzymanie pracy programu na czas trwania kilkudziesięciu impulsów zegara. Jest więc oczywiste, że procesor wyposażony w większą liczbę rejestrów (i większą pamięć podręczną - cache) będzie bardziej wydajny przy współpracy z programami zdolnymi wykorzystać jego możliwości.

Prześledźmy ten proces na przykładzie cyfrowego korektora. Podczas przeliczania korekcji korzysta się zwykle z małych, 8-cyfrowych fragmentów kodu zwanych bikwadratami. W standardowej jednostce zmiennoprzecinkowej x86 znajduje się w sumie 8 rejestrów, a zatem nawet coś tak prostego jak pojedynczy bikwadrat jest w stanie zająć wszystkie rejestry. Co więcej - stosowane w praktyce korektory używają wielu bikwadratów: do pracy stereofonicznej, uzyskania ciekawszych efektów filtracji itp. W takich przypadkach kod DSP będzie wymagał ciągłego odwoływania się procesora do pamięci RAM, co zwalnia proces obliczeń. Ponieważ procesory x64 mają dwukrotnie więcej rejestrów FPU, kod cyfrowego filtru jest przemieszczany do pamięci RAM dwukrotnie rzadziej, co zwiększa wydajność. Co więcej, wszystkie operacje zmiennoprzecinkowe w procesorach x64 są przeliczane za pomocą technologii Streaming SIMD (SSE/SSE2), co oznacza, że kod DSP może zostać rozdzielony na dwa strumienie.
Na podstawie: "White Paper: Benefits of x64 for Audio Workstations".

Komputer złożony na potrzeby niniejszego artykułu to typowy przykład rozwiązania budżetowego z uwzględnieniem dobrej jakości i wydajności podzespołów: płyta główna Asus K8N z procesorem AMD Athlon64 3000+. Z systemem Windows XP Pro x64 kompatybilne są procesory AMD Athlon 64, AMD Opteron, Intel Xeon (ze wsparciem Intel EM64T) oraz Intel Pentium 4 (ze wsparciem Intel EM64T).

AMD Athlon 64
Procesory 64-bitowe nie są nowością, jednak do tej pory stosowano je wyłącznie w drogich, wysokowydajnych systemach serwerowych. Na tak zwanym "rynku konsumenckim" jako pierwszy zadebiutował AMD - Athlon64 (wrzesień 2003). Obecnie występuje on w dwóch odmianach: Socket 754 oraz Socket 939, z których druga pracuje w trybie dwukanałowym (Dual Channel). Co do różnic w wydajności zdania są podzielone, więc trudno jednoznacznie powiedzieć, który jest lepszy. Warto odnotować, że wśród najważniejszych zastosowań procesora 64-bitowego AMD wymienia także zaawansowaną obróbkę dźwięku. Czyż nie jest to dla nas wspaniałą informacją?

Podstawową zaletą Athlona64 jest zgodność w dół (pozwalająca na pracę z systemami 32-bitowymi) oraz możliwość jednoczesnego wykonywania instrukcji pochodzących z aplikacji 32 i 64-bitowych. Korzyści wynikające z architektury 64-bitowej to przede wszystkim przełamanie bariery 4GB dla pamięci operacyjnej (RAM), zwiększenie wydajności wynikające z 64-bitowej szyny oraz otwarcie na przyszłe 64-bitowe oprogramowanie.

Z czasem Athlon64 doczekał się intelowskiego konkurenta w postaci Intel Xeon i oba te procesory wymienione są na liście wymagań sprzętowych niezbędnych do zainstalowania i uruchomienia...

Windows XP Professional x64 Edition
Na stronie www.microsoft.com/windowsxp/64bit/default.mspx jest dostępna bezpłatna, 360-dniowa wersja próbna 64-bitowego systemu Windows XP Professional, przeznaczona dla komputerów zbudowanych w oparciu o 64-bito­we procesory firm AMD i Intel. Całość waży 555MB, więc osobom nie posiadającym stałego łącza internetowego, polecamy usługi kawiarenek internetowych. Opis wymagań minimalnych, oprócz wspomnianych procesorów, zawiera także minimum 256MB pamięci operacyjnej, 1,5GB wolnej przestrzeni na twardym dysku, kartę grafiki o rozdzielczości przynajmniej 800×600, napęd CD lub DVD oraz myszkę i klawiaturę. Ponadto istotne są jeszcze trzy informacje: system nie współpracuje z procesorami Intel Itanium, nie ma polskiej wersji językowej tego systemu, a przed pobraniem wersji testowej trzeba dokonać rejestracji na stronach Microsoftu. Niezbędny podczas instalacji klucz produktu dostarczany jest na uprzednio podany adres e-mail. Może się też tak zdarzyć, że list elektroniczny z kluczem nie dotrze do adresata z powodu zadziałania filtrów antyspamowych. W takim przypadku należy podać adres, który nie posiada takiego filtru lub go na chwilę wyłączyć.

Pobrany plik jest plikiem obrazu dysku CD (ISO), z którego należy najpierw utworzyć (wypalić) płytę instalacyjną, a na­stępnie uruchomić komputer z włączoną w BIOSie opcją bootowania z dysku CD.

Proces instalacji systemu w zasadzie powinien przebiegać bez jakichkolwiek niespodzianek i tym samym nie odbiegać od tego, co możemy spotkać podczas instalacji systemu 32-bitowego. Gdy chcemy zainstalować go na komputerze, w którym już jest starszy system, trzeba będzie wygospodarować miejsce (partycję) na twardym dysku lub dodatkowy dysk. 64-bitowy Windows korzysta z takich samych partycji dyskowych jak system 32-bitowy, nie będzie więc problemów z dostępem do istniejących dokumentów i pozostałych danych. Zakończenie procesu instalacyjnego wieńczy widok pulpitu systemu bardzo podobnego do wersji 32-bitowej. I nic w tym dziwnego, gdyż w rozumieniu użytkowania to ten sam system i już na pierwszy rzut oka pojawiają się skojarzenia z 32-bitowym Windows XP Service Pack 2. Świadczy o tym m.in. aplet zabezpieczeń systemu. Jedną z niespodzianek jest pojawienie się w menu All Programs skrótów do dwóch przeglądarek Internet Explorer: jednej 32, a drugiej 64-bitowej.

Sterowniki
Poważnym problemem, z którym trzeba się zmierzyć, jest wyszukanie sprawnych, działających 64-bitowych sterowników do urządzeń, ponieważ x64 nie akceptuje sterowników 32-bitowych. Spośród istotnych podzespołów, z których składał się komputer testowy, wszystkie posiadały sterowniki 64-bitowe (wersje beta). Zarówno M-Audio, jak i Matrox oraz Creative udostępniają nowe sterowniki na swoich stronach. Ba! Na płycie CD dołączonej do płyty głównej Asus K8N też można znaleźć nowe sterowniki dla jej chipsetu, a więc także dla zintegrowanych z płytą główną podzespołów, choć ich zadziałanie wcale nie jest takie oczywiste. Sterowniki karty graficznej Matrox G450 nie zadziałały, mimo iż stosowane były najbardziej wymyślne metody ich instalacji. Obraz na monitorze i jego od­świeżanie pozostawiało wiele do życzenia (1024×768, 60Hz). Podobne zabiegi towarzyszyły próbie instalacji karty M-Audio Delta Audiophile 24/96, jednak dopiero po wnikliwej lekturze specyfikacji dotyczącej składni plików .inf (owa specyfikacja dostępna jest na stronach Microsoftu) oraz analizie składni podobnych plików innych, działających sterowników, a następnie ręcznej modyfikacji kilku wpisów, udało się ją ożywić (aktualna wersja sterowników - 0.51 - instaluje się i działa bez problemów - przyp. red.). Dźwięki popłynęły także z kary Creative SB Audigy. Jej jakość przetwarzania trudno uznać za profesjonalną, ale za to jej sterowniki zainstalowały się i działają bez najmniejszego problemu. Ponadto udało się zainstalować kartę sieciową zintegrowaną z płytą główną.

Azymut: Muzyka!
I w ten oto sposób dochodzimy do celu wyprawy. Otóż na swoich stronach firma Cakewalk (www.cakewalk.com/x64) udostępniła bezpłatną, próbną wersję swojego flagowego produktu w wersji 64-bitowej - Sonar x64. Podobnie jak na stronach Microsoftu tu też trzeba się zarejestrować, a następnie pobrać blisko 47-megabajtowy plik instalatora oraz 80MB brzmień dla samplera Velocity Drum Sampler. Do instalacji Sonara potrzebny jest jeszcze .NET Framework w wersji 2.0.40607 i jeżeli mamy podłączenie do internetu, to instalator otworzy nam stronę, z której można wybrać, a następnie pobrać brakujący element. Jeśli dostęp do internetu mamy jedynie z platformy 32-bitowej lub innego komputera, należy pobrać Framework Version 2.0 Redistributable Package Beta 1 x64 (64 Bit). Ważne jest, aby nie pobrać wersji nieodpowiedniej, ponieważ niektóre z nich mają ponad 200MB, a są bezużyteczne. Wersja, która nas interesuje zawiera ok. 41,7MB danych.

Instalacja .NET Framework zabiera sporo czasu i chwilami sprawia wrażenie, że program instalacyjny się zawiesił, jednak odrobina cierpliwości będzie dobrym doradcą. Zakończenie instalacji .NET Framework nie jest monitowane żadnym komunikatem czy poleceniem restartu systemu. Jeżeli więc wszystko przebiegło pomyślnie, możemy przystąpić do instalacji Sonara, która nie powinna już przynieść niespodzianek.

64-bitowy Sonar
Skonfigurowanie programu do poprawnej pracy jest już sporym wyzwaniem. Jak wspomniałem, do dyspozycji miałem dwa interfejsy - SB Audigy oraz Delta Audiophile 24/96 - wyposażone w działające, 64-bitowe sterowniki, w tym także sterowniki ASIO. W oknie ustawień audio nie znalazłem jednak w polu wyboru interfejsu karty M-Audio. Sonar pozwala na pracę z trzema rodzajami sterowników: WDM/KS, ASIO, oraz MME (32-bit), jednak wybranie opcji ASIO spowodowało, że na liście dostępnych urządzeń pojawiła się tylko karta Creative. Dopiero po wybraniu trybu WDM/KS mogłem korzystać z obydwu kart. Ba! Nawet jednocześnie. O ile jednak karta Audiophile sprawnie działała przy minimalnej latencji 5,8ms, to Sound­Blaster potrzebował już ok. 200ms.

Sonar x64 w zasadzie jest na nowo skompilowaną i w pełni funkcjonalną wersją Sonara 4, dlatego jego obsługa nie odbiega od obsługi jego poprzedników. Ograniczenia wersji bezpłatnej dotyczą w zasadzie tylko daty, z którą program przestanie się uruchamiać (31 VIII 2005).

W praktyce nagrywanie audio z użyciem funkcji Direct Monitoring (bezpośredni odsłuch sygnału nagrywanego - opcja włączana ręcznie w panelu kontrolnym karty) przebiegało płynnie. Użycie podsłuchu z wpiętym w ślad kompresorem i dodatkowo wysłanym sygnałem do pogłosu już przy obciążeniu ok. 10% powodowało cykliczne przerwy w transmisji sygnału z wejścia. Zwiększenie latencji do ok. 11ms było lekarstwem na dropy, ale przy takiej latencji nie da się już komfortowo i precyzyjnie grać.

Praca z instrumentami wirtualnymi nie powodowała niepożądanych skutków, natomiast duże problemy występowały przy próbie użycia efektów. Kończyło się to komunikatem o niewystarczającej ilości pamięci albo komunikatem o błędzie w pracy programu i w efekcie jego zamknięciem. Sytuacja poprawiła się nieco po wyłączeniu karty SB Audigy, ale i tak pojawiały się problemy (np. nie udawało się ponownie otworzyć okna edycji efektu). Należy jednak zaznaczyć, że w przypadku wtyczek 32-bitowych pracujących w programie 64-bitowym nigdy nie osiągniemy takiej wydajności jak w przypadku wtyczki 64-bitowej (patrz ramka "Kompatybilność wtyczek").

Wpływ technologii 64-bitowej na brzmienie jest bezsporny, ponieważ przełożenie długości słowa binarnego na jakość dźwięku ma zasadnicze ­znaczenie. Inna sprawa, że wykorzystywane w interfejsach audio 24-bitowe przetworniki A/C i C/A też mają swoje ograniczenia, których nie da się przeskoczyć. Z pewnością jednak lepiej zabrzmią efekty i filtry pracujące z rozdzielczością 64 bitów (gdy tylko takowe się pojawią), niż te same efekty 32-bitowe, nawet jeśli na końcu procesu produkcyjnego sygnał zostanie zredukowany do postaci 24 czy 16-bitowej.

Jeśli chodzi o wydajność, to należy przyjąć, że 3-gigahercowy procesor 64-bitowy zaoferuje taką samą wydajność jak procesor 32-bitowy taktowany zegarem 4GHz. Jeden warunek - system i całe oprogramowanie (włącznie z wtyczkami i driverami) musi być 64-bitowe.

Cubase/Nuendo
Zanim dotarłem do jakichkolwiek informacji na temat zgodności produktów Steinberga z systemem 64-bitowym zdążyłem podjąć próbę zainstalowania Nuendo (v.2.2.0). Sam instalator zgłosił tylko problem związany z brakiem możliwości aktualizacji komponentów audio, ale sama instalacja się powiodła. Nie zadziałały jednak sterowniki klucza za­bezpieczającego USB i program nie pozwolił się uruchomić. W trakcie poszukiwań niezbędnych sterowników do klucza znalazłem informację, iż nowy Cubase 3 jest zgodny z systemem 64-bitowym. Dzięki uprzejmości firmy Audio Factory miałem możliwość sprawdzić, jak w nowych warunkach spisuje się Cubase 3. Instalacja programu przebiegła wzorcowo. Co ciekawe, klucze do Cubase i Nuendo są sprzętowo identyczne, a więc po instalacji Cubase zadziałał także klucz i program Nuendo! Cubase jak i Nuendo bez przeszkód korzystały z nowych sterowników ASIO karty Delta Audiophile. Celem porównania pracy obydwu programów stworzyłem w Nuendo mały projekt, aby go potem otworzyć także w Cubase (Nuendo 2 nie czyta projektów zapisanych w Cubase 3), a także otworzyć go pod systemem 32-bitowym, aby porównać zachowanie się programów, obciążenie procesora oraz ewentualny wpływ systemu operacyjnego na brzmienie nagrania.

W zasadzie różnice w pracy programów pod kontrolą każdego z systemów są niezauważalne. Natomiast wpływ systemu oraz programu na brzmienie finalne mógłby być przyczyną niejednej dyskusji, bowiem na cztery zgrania (Mixdown), z których dwa dokonane były pod systemem 32-bitowym i dwa pod 64-bitowym, każde brzmi identycznie w ocenie subiektywnej (na ucho), ale przy próbie z przeciwfazą (patrz ramka "Próba z przeciwfazą"), w każdym przypadku na jaw wychodziły różnice, choćby minimalne. Można je przypisać nie zawsze identycznym efektom pracy plug-inów, gdyż na przykład partia gitary bez wtyczek w próbie z przeciwfazą za każdym razem znikała całkowicie. Powtórzyłem ten sam eksperyment dokonując dwóch zgrań z tego samego programu i systemu (Cubase 3/Win32). Wynik próby z przeciwfazą potwierdził moje przypuszczenia, że różnice można przypisać minimalnym różnicom w pracy plug-inów.

Obciążenie procesora w zależności od użytego programu i systemu prezentuje poniższa tabelka (latencja - 256 samples ~5 ms):

Nuendo 2 32-bit ~22%, maks. 25%
Nuendo 2 64-bit ~19%, maks. 21%
Cubase SX3 32-bit ~18%, maks. 20%
Cubase SX3 64-bit ~18%, maks. 20%

Jak widać nie są to wielkie różnice (sięgają maks. 20%), ale warto zauważyć, że nieoptymalizowany do pracy z procesorami i systemami 64-bitowymi program Nuendo 2, w systemie tym też stał się bardziej wydajny.

Podsumowanie
Jeżeli w najbliższym czasie planujesz zakup, zmianę lub przebudowę komputera i interesują Cię rozwiązania przyszłościowe, zdecydowanie powinieneś zainwestować w podobną do opisywanej tu konfiguracji. Jej dodatkowym atutem jest walor cenowy, gdyż np. użyty w tym teście procesor Athlon64 3000+ (Socket 754) i płyta główna Asus A8N należą do tzw. dolnej półki cenowej, a jednocześnie charakteryzują się wyjątkowo korzystnym stosunkiem ceny do jakości i wydajności. W przypadku pracy z systemem 32-bitowym nie należy się spodziewać negatywnych skutków ubocznych, zaś możliwość choćby przetestowania platformy 64-bitowej będzie co najmniej wielką frajdą i nowym doświadczeniem. Jeśli jednak jesteś producentem czy twórcą, dla którego komputer jest tylko narzędziem pracy, od którego wymaga się głównie wydajności i posłuszeństwa, to na dzień dzisiejszy polecam sprawdzone rozwiązania 32-bitowe.


     


     Drukuj artykuł       drukuj artykuł

     W numerze 2005-06          Strona główna archiwum

 


ARCHIWALIA

2005-12
2005-12
2005-11
2005-11
2005-10
2005-10
2005-09
2005-09
2005-08
2005-08
2005-07
2005-07
2005-06
2005-06
2005-05
2005-05
2005-04
2005-04
2005-03
2005-03


PARTNERZY

Studia Nagraniowe i Koncertowe Polskiego Radia  Kancelaria Adwokacka - Damian Kosmala  Polskie Stowarzyszenie Realizatorów DĄwięku    LIVE SOUND & Installation  E-Muzyk.pl 


PATRONATY

  Warsaw Electronic Festival     


AVT KORPORACJA
  LiveSound
  Mag. Gitarzysta
  Mag. Perkusista
  Mag. Basista
  MuzykoMachia
AUDIO
Super Dyskoteka
Firmy Muzyczne
Młody Technik
Świat Radio
Elektronika Dla Wszystkich
Elektronika Praktyczna
Automatyka B2B
Elektronika B2B
AVT Sklep
Magazyn Internet
Internet Maker
WebToster
Magazyn T3
DigitalCamera.pl
Ekobudowanie
Budujemy Bom
Czas na Wnętrze
IBiSS
IRBJ
O Budowaniu
Zielony Ogródek
Dla Dziecka
Wydawnictwo AVT
Prenumerata EiS