SOX Najpopularniejszy sposób zapisu na Amidze próbek dúwiëkowych, zwanych samplami, to IFF 8SVX. Inne komputery korzystajâ jednak z zupeînie innych sposobów zapisu. Jak sobie poradziê, gdy chcemy z dowolnego formatu uzyskaê amigowy IFF? Jarosîaw Horodecki Programem, który rozwiâûe powyûszy problem, jest doskonaîe narzëdzie nazwane SOX, czyli SOund eXchange. Jest to amigowska wersja programu stosowanego w systemie Unix, niewiele zresztâ róûniâca sië od swego pierwowzoru. SOX moûe byê uruchamiany tylko z poziomu CLI jako zwykîa komenda. Nie ma ûadnego interfejsu uûytkownika, uruchamianie go z poziomu Workbencha nie ma wiëc najmniejszego sensu. SOX nie jest z pewnoôciâ programem prostym w obsîudze. Aby konwersja zostaîa przeprowadzona poprawnie, naleûy podaê wiele parametrów, opisujâcych zarówno plik wejôciowy, jak i format, który chcemy uzyskaê w rezultacie dziaîania programu. Wszystko to wymaga pewnej wiedzy o sposobach zapisu dúwiëku, jak i rozpoznawanych przez SOX formatach i moûliwych zmianach poszczególnych parametrów. Formatów tych jest doôê duûo, a dodatkowo SOX umoûliwia takûe definiowanie nietypowych sposobów zapisu dúwiëku, opartych na zbiorach typu RAW, czyli bez ûadnych nagîówków -- czyste dane o dúwiëku. Zacznijmy jednak od podstawowych moûliwoôci SOX-a. Niejako standardowo rozpoznaje on kilkanaôcie najbardziej popularnych formatów. Miëdzy innymi znajdziemy tutaj oczywiôcie amigowski IFF 8SVX, ale takûe wiele innych, jak AIFF (stosowany w komputerach Apple), AU (komputery Sun Microsystems), HCOM (MacIntoshe), VOC (pliki znane z komputerów PC), WAV (sample uûywane pod Windows 3.1) oraz RAW (czyli same dane, wymagajâce dokîadnego opisu). Sama konwersja pomiëdzy poszczególnymi formatami nie jest czynnoôciâ szczególnie trudnâ, choê oczywiôcie wymaga minimum znajomoôci AmigaDOS-u. Znajâc podane w dokumentacji skróty odpowiadajâce poszczególnym formatom, nikt nie powinien mieê problemów z dokonaniem potrzebnej konwersji. Na przykîad, aby zamieniê plik typu WAV, pobrany z peceta, na amigowski 8SVX, wystarczy skorzystaê z nastëpujâcej komendy: sox -t wav plik1.wav -t 8svx plik2.iff, gdzie plik1 oraz plik2 to odpowiednio nazwy zbioru úródîowego oraz docelowego. Oczywiôcie nie muszâ sië one koïczyê rozszerzeniami WAV i IFF, jednak ich uûycie znacznie uîatwia pracë. Podobnie postëpujemy równieû przy dokonywaniu innych rodzajów konwersji. W niektórych wypadkach trzeba jednak podaê pewne, niezbëdne do poprawnego dokonania kompresji, parametry. Przykîadem mogâ byê tutaj pliki z rozszerzeniem AU, pochodzâce z komputerów Sun. Aby zamieniê je na przykîad na format amigowski, naleûy uûyê nastëpujâcej komendy: sox -U -r 8000 plik1.au -t 8svx plik2.iff. Znaczenie poszczególnych opcji za chwilë wyjaônimy, warto jednak zwróciê uwagë, iû w powyûszym rozkazie musimy sami okreôliê pewne parametry pliku úródîowego. Podobnie niewielkiej zmiany w standardowo przyjëtych ustawieniach naleûy dokonaê podczas konwersji plików z MacIntosha, standardowo majâcych rozszerzenie SND. Sîuûy do tego nastëpujâca komenda: sox -t .ub -r 11395 plik1.snd -t 8svx plik2.iff Jak widaê, tym razem korzystamy juû z konfiguracji przyjëtej dla plików typu UB, jednak jeden z parametrów jest przez nas modyfikowany. Warto w tym miejscu zauwaûyê, ûe parametry wpisywane przez uûytkownika sâ nadrzëdne wobec tych zakodowanych w programie, dziëki czemu dowolnie modyfikowaê moûna standardowe, przyjëte przez autorów, ustawienia. Proponujë jednak zapoznaê sië z dostëpnymi opcjami, z jakich moûna skorzystaê uûywajâc SOX-a. Warto moûe jeszcze zaznaczyê, ûe wszystkie opcje, podawane przed nazwâ pliku úródîowego, dotyczâ wîaônie tego pliku, natomiast opcje znajdujâce sië za wspomnianâ nazwâ, dotyczâ formatu zapisu pliku docelowego. Jak zapewne kaûdy juû zauwaûyî, najczëôciej uûywana jest opcja -t. Sîuûy ona do zdefiniowania standardowego typu dla pliku úródîowego oraz docelowego. Nie ma oczywiôcie koniecznoôci korzystania z niej, niemniej jednak trzeba wtedy dokîadnie okreôliê parametry pliku wejôciowego. Kolejna opcja, którâ nietrudno chyba rozszyfrowaê, to -r. Sîuûy ona do definiowania czëstotliwoôci próbkowania wczytywanego, a takûe nagrywanego, sampla. Za jej pomocâ moûna wiëc takûe dokonywaê konwersji czëstotliwoôci sampli. Nastëpne opcje wymagajâ juû pewnego rozeznania w ôwiecie dúwiëków: -s/-u/-U/-A to opcje odpowiadajâce za sposób zapisu próbek. Odpowiednio jest to zapis liczbami caîkowitymi ze znakiem (w kodzie uzupeînieï do dwóch), liczbami caîkowitymi bez znaku oraz w kodach logarytmicznych U-law i A-law, bardzo rzadko uûywanych. Najczëôciej uûywany jest zapis liczbami caîkowitymi bez znaku. -b/-w/-l/-f/-d/-D -- odpowiadajâ wielkoôci poszczególnych próbek, a co za tym idzie, ich dokîadnoôci. Poszczególne opcje odpowiadajâ zapisaniu kaûdej jednostki za pomocâ (odpowiednio) jednego bajtu (8 bitów), jednego sîowa (16 bitów), jednego dîugiego sîowa (32 bitów), jednej liczby zmiennoprzecinkowej typu float (32 bitów), jednej liczby zmiennoprzecinkowej o podwójnej dokîadnoôci typu double float (64 bity) lub w standardowym zapisie liczb zmiennoprzecinkowych IEEE (80 bitów). W praktyce najczëôciej uûywane sâ dane 8-bitowe oraz 16-bitowe. -x -- podanie tej opcji powoduje odwrócenie kolejnoôci bajtów w danym sîowie lub dîugim sîowie, tak aby ich ustawienie pasowaîo do formatu stosowanego w Amidze (od najstarszego do najmîodszego bitu). -c -- liczba kanaîów wykorzystanych w danym samplu, skorzystaê moûna z argumentów 1, 2 oraz 4, odpowiednio dla sampla monofonicznego, stereofonicznego oraz kwadrofonicznego. Oprócz powyûszych opcji, dziëki którym moûna dokîadnie okreôliê format danego sampla, dostëpne sâ takûe trzy dodatkowe: -v -- zmiana gîoônoôci sampla, parametr 1.0 oznacza brak zmiany gîoônoôci, kaûda liczba mniejsza od 1.0 to zmniejszenie gîoônoôci, kaûda liczba wiëksza od 1.0 to jej zwiëkszenie. Warto tutaj pamiëtaê, iû parametr ten ma charakter logarytmiczny, a nie liniowy. -V -- powoduje wyôwietlanie w okienku systemowym informacji o tym, co w danym momencie SOX robi ze wskazanym samplem. -e -- opcja ta pozwala na pominiëcie nazwy pliku docelowego, przydatna, gdy korzystamy z efektu STAT. Jak juû wspomniaîem, SOX to program sîuûâcy nie tylko do dokonywania konwersji pomiëdzy poszczególnymi typami sampli, ale równieû potrafiâcy dokonywaê wielu niezîej jakoôci przeksztaîceï dúwiëku. Sîuûy do tego kilka dostëpnych efektów, których kody umieszczane sâ na koïcu sekwencji opcji i nazw plików. Skorzystaê moûna z nastëpujâcych efektów: copy -- przyjmowany domyôlnie efekt, polegajâcy na prostym przekopiowaniu zawartoôci pliku úródîowego do pliku docelowego; rate -- efekt wîâczany, gdy dwa sample majâ róûne czëstotliowoôci próbkowania. Program posîuguje sië prostâ metodâ interpolacji liniowej. Metoda ta jest szybka, niemniej jednak niezbyt dokîadna. /* moûna skonsultowaê z Mobiusem - Least Common Multiple */ avg -- w zaleûnoôci od liczby kanaîów zawartych w wejôciowych danych dokonywana jest zamiana sampla czterokanaîowego na dwukanaîowy, lub dwukanaîowego na jednokanaîowy. stat -- podaje informacje o wkazanym pliku bëdâcym jakimkolwiek samplem. echo -- efekt polegajâcy na wielokrotnym odtwarzaniu sampla úródîowego z podanym jako argument przesuniëciem oraz szybkoôciâ wybrzmiewania. Moûliwe jest podanie wiëcej niû jednej pary argumentów, co moûe doprowadziê do otrzymania interesujâcych efektów. vibro -- efekt zmieniajâcy gîoônoôê sampla przy wykorzystaniu funkcji sinus jako okreôlnika tego parametru. Jako argument naleûy podaê czëstotliwoôê zmiany gîoônoôci (do 30 Hz), moûna takûe okreôliê amplitudë drgaï (argumenty od 0.00 do 1.00), okreôlonâ standardowo na 0.5. lowp -- wîâczenie filtra dolnoprzepustowego. highp -- wîâczenie filtra górnoprzepustowego. band - reverse -- odwrócenie caîego sampla. Jak widaê, moûliwoôci manipulowania dúwiëkiem za pomocâ SOX-a nie sâ wcale takie maîe, zwaûywszy na wielkoôê samego programu. Warto takûe dodaê, ûe wszystkie efekty dziaîajâ bardzo dobrze, a prëdkoôê obróbki dúwiëku jest doôê duûa. Dodatkowo w pakiecie dostarczone sâ wersje SOX-a dla procesorów MC68020 i lepszych, a takûe wersje korzystajâce z koprocesora arytmetycznego. Na koniec chciaîbym przekazaê jeszcze kilka uwag praktycznych na temat korzystania z SOX-a. Z programu tego korzystaîem gîównie dokonujâc konwersji danych z formatu, w jakim muzyka zapisywana jest na zwykîych, muzycznych, pîytach kompaktowych. Teoretycznie wymagaîo to zdefiniowania parametów tych danych (wszak sâ to dane typu raw -- surowe). W praktyce jednak wystarczyîo zajrzeê do kodu programu, aby zorientowaê sië, iû mimo braku odpowiedniej informacji w dokumentacji potrafi on takûe przyjâê odpowiednie ustawienia dla tego typu danych. Naleûy skorzystaê z opcji -t cdr. Byê moûe program ten potrafi takûe rozpoznaê inne nie udokumentowane formaty. Warto to sprawdziê. Druga uwaga dotyczy obróbki bardzo dîugich sampli. Jak zauwaûyîem, SOX dokonujâc konwersji danych z pîyty kompaktowej (zwykle o dîugoôci kilkudziesiëciu megabajtów) na sample stereo IFF 8SVX zapisywaî dane wyjôciowe zarówno na twardy dysk, pod nazwâ pliku docelowego, jak i do katalogu T:, który umieszczony byî na RAM-dysku. Sytuacja taka szybko doprowadzaîa do przepeînienia sië pamiëci operacyjnej komputera. Wystarczyîo jednak zmieniê przypisanie katalogu T:, kierujâc dane na twardy dysk, aby SOX staî sië programem, który moûe sië uporaê z samplami o dowolnej dîugoôci. Podumowujâc moûna chyba stwierdziê, ûe mimo niezbyt prostej obsîugi i braku eleganckiego interface'u uûytkownika, SOX jest programem wartym pol ecenia kaûdemu, kto choê trochë zajmuje sië muzykâ. Dziëki niemu moûna wszak uzyskaê dostëp do potëûnych bibliotek sampli, do których normalnie nie mamy dostëpu. Nazwa: AmiSOX Wersja: 3.3 Autor: ? Rodzaj: PD Uniwersalnoôê: 9 Prostota obsîugi: 5 Wyglâd: n/d Jakoôê dziaîania: 9 Ogólnie: 8