Linux Sound Playing HOWTO

Autor: Yoo C. Chung wacko@laplace.snu.ac.kr
v1.5, 7 Listopada 1997
Wersja polska: Leszek Urbański tygrys@fidonet.org.pl
v 1.0, 28 Marca 1998


Ten dokument opisuje aplikacje dla Linuxa, służące do odgrywania dźwięku w różnych formatach. Dokument ten został napisany w standardzie ISO-8859-2. Oryginał tego dokumentu znajduje się pod adresem http://laplace.snu.ac.kr/~wacko/howto/

1. Wprowadzenie

To jest Sound Playing HOWTO. Opisuje wiele formatów dźwięku i aplikacje, które mogą być użyte do ich odtwarzania. Opisuje także pare trików i rad dotyczących tych aplikacji. Jest tu też trochę innych interesujących programów związanych z dźwiękiem, nie związanych bezpośrednio z odtwarzaniem. Jednakże ten dokument nie opisuje, jak ustawić obsługę dźwięku w Linuxie. Zobacz Linux Sound HOWTO autorstwa Jeff'a Tranter'a, dla uzyskania instrukcji konfiguracji obsługi dźwięku i obsługiwanego sprzętu.

Ten dokument opisuje tylko normalne aplikacje użytkownika. Znaczy to, że tłumaczy tylko to, co średnio zaawansowany użytkownik powinien wiedzieć o stronie programowej dźwięku, a nie egzotyczne tematy typu synteza dźwięku lub sprzęt - jest on opisany w Sound HOWTO.

1.1 Prawa autorskie tego dokumentu

Ten dokument może być dowolnie dystrybuowany i modyfikowany (byłbym wdzięczny, gdybym był zawiadamiany o zmianach), dopóki są zachowane wiadomości o prawach autorskich. Jednakże nie może posiadać żadnych innych ograniczeń, a zmodyfikowany dokument musi mieć te same prawa autorskie, co ten. Musi być także podany autor zmian.

1.2 Prawa autorskie opisanych aplikacji

Jeżeli nie ma informacji o prawach autorskich, aplikacja jest pod Licencją Publiczną GNU (GNU General Public License).

1.3 Gdzie można zdobyć ten dokument

Najnowsza oficjalna wersja tego dokumentu może być ściągnięta z http://sunsite.unc.edu/LDP/. Najnowsza nieoficjalna wersja znajduje się na http://laplace.snu.ac.kr/~wacko/howto/. Koreańska wersja tego dokumentu (bardzo nieaktualna) znajduje się na http://laplace.snu.ac.kr/~wacko/howto/Sound-Playing-HOWTO.ks. Japońska wersja tego dokumentu jest dostępna na http://jf.gee.kyoto-u.ac.jp/JF/JF-ftp/euc/Sound-Playing-HOWTO.euc.

1.4 Kontakt z autorem

Nie jestem ominescentny i nie używam wszystkich aplikacji opisanych tutaj (kilku nawet nie wypróbowałem), więc mogą być błędy. Programy także ewoluują, więc dokumentacja ciągle się przedawnia. Jeżeli więc znajdziesz jakieś błędy, wyślij mi poprawki. Sugestie i dodatki będą także mile widziane.

1.5 Podziękowania

dla wszystkich autorów aplikacji opisanych w tym HOWTO. Także Hannu Savolainenowi za świetny sterownik dźwięku i Linusowi Torvaldsowi za świetny system operacyjny.

Chciałbym też podziękować Raymondowi Nijssenowi (raymond@es.ele.tue.nl), Jeroenowi Ruttenowi (jeroen@es.ele.tue.nl), Antonio Perezowi (aperez@arrakis.es), Ianowi Jacksonowi (ijackson@gnu.org) i Peterowi Amstutzowi (amstpi@freenet.tlh.fl.us) za informacje i pomoc.

2. Odtwarzanie różnych formatów dźwięku

Istnieje wiele rodzajów formatów dźwięku (WAV, MIDI, MPEG itp.). Poniżej opisuję różne formaty i aplikacje używane do ich odtwarzania.

2.1 MIDI

MIDI znaczy Musical Instrument Device Interface (Interfejs urządeń i instrumentów muzycznych). Pliki MIDI mają zazwyczaj rozszerzenie .mid. Zawierają informacje sekwencerowe, to znaczy informacje kiedy odtworzyć jaki instrument w jaki sposób itp. Zależnie od Twojego sprzętu (i może oprogramowania, którego używasz) dźwięk może być świetny, albo niewyraźny i charczący.

"Adagio package"

Ten pakiet zawiera mp (odtwarzacz MIDI obsługiwany z linii komend) i xmp (odtwarzacz MIDI oparty na XView, nie mylić nazwy z odtwarzaczem modułów także nazywanym xmp). Do używania xmp będziesz potrzebował rozszerzeń SlingShot. Pakiet zawiera także inne programy do odtwarzania utworów Adagio. Jeżeli jesteś posiadaczem GUS'a, mpmoże także odtwarzać pliki MOD (zobacz sekcję Moduły, żeby uzyskać więcej informacji o modułach).

Jeden mały, ale denerwujący błąd (w wersji 0.5 na niektórych kartach) - dźwięk urywa się przy końcu. Zamiast zakończenia utworu w sposób, który opisuje plik MIDI, kończy się on na przydługim odegraniu przedostatniej nuty. Nie przeszkodziło mi to w używaniu mp, ale może kogoś zniechęcić do używania go do ,,prawdziwej'' pracy. Uruchamia się dosyć wolno. W pakiecie nie ma notatki o prawach autorskich (przynajmniej nie mogłem takiej znaleźć), więc przyjmuję, że może być dowolnie dystrybuowana i modyfikowana. (W dokładnej interpretacji przepisów o prawach autorskich, nie wolno tego robić, ale sądzę, że taka była intencja autora). To jest wersja CMU MIDI Toolkit pod Linuxa (ale tak dużo zostało dodane, że można to zakwestionować) autorstwa Grega Lee (lee@uhunix.uhcc.hawaii.edu). Można go ściągnąć z anonimowego ftp z tsx-11.mit.edu z katalogu /pub/linux/packages/sound/adagio05.tar.gz. Binaria tu załączone są w formacie a.out (z dołączonymi archaicznymi bibliotekami), a binaria xmp działają w środowisku X11R6 (XFree86 3.1.1, libc 4.7.2). Binaria mp działają dobrze w środowisku a.out. Do skompulowania tego będzie potrzebne trochę sztuczek. Właściwie niewiele - wszystko, co musisz zrobić, to załączyć przełącznik -lfl na koniec SHROBJ i XMPOBJ w pliku Makefile. Jest to potrzebne do dołączenia biblioteki flex, co nie jest standardowo zrobione. Dalej postępuj zgodnie z instrukcją instalacji. I nie zapomnij, żeby mieć zainstalowane XView i rozszerzenia SlingShot, jeżeli chcesz skompilować xmp

TiMidity

Niektórzy ludzie polecają ten eksperymentalny program z powodu dobrej jakości dźwięku (co jest prawdą, brzmi znacznie lepiej niż mp na Sound Blaster'rze 16, jednak nie będzie brzmiał o wiele lepiej na karcie z syntezą wavetable, jak np. GUS). Jednakże jego problemem jest duże obciążanie procesora. Odgrywa MIDI przez skonwertowanie go do WAV i odtworzenie WAV (możesz także skonwertować MIDI do WAV bez odtwarzania). To tłumaczy obciążanie CPU. Ma także opcjonalny interfejs ncurses, SLang, Tcl/Tk lub Motif. Potrzebujesz plików z instrumentami Gravis'a Ultrasound do używania tego programu. Zobacz FAQ załączony z TiMidity. Autorem jest Tuukka Toivonen (tt@cgs.fi). Najnowsza wersja TiMidity znajduje się na stronie domowej TiMidity. Ta strona zawiera też odnośnik do małej biblioteki instrumenów GUS'a.

playmidi

To jest odtwarzacz MIDI obsługujących syntezę FM, GUS'a i zewnętrzny interfejs MIDI. [po odpowiednim "załataniu" także AWE32/64 - przyp. tłum.] Uruchamia się szybciej niż inne odtwarzacze MIDI. Może także odgrywać pliki Creative Music Files, pliki Microsoft RIFF i duże archiwa MIDI z gier takich jak Ultima 7. Posiada interfejs X i SVGA. Posiada także opcję śledzenia nut na każdym kanale i zegar odtwarzania (dołączony automatycznie z xplaymidi i splaymidi).
Powinieneś napisać coś takiego:

$ splaymidi foo.mid; stty sane

jeżeli chcesz używać interfejsu SVGA, jednak nie przywraca on trybu tty poprawnie. Tryb SVGA może być usunięty w bliskiej przyłości. Ten program był napisany przez Nathan'a Laredo (laredo@gnu org lub laredo@ix.netcom.com). Znajduje się na anonimowym ftp - sunsite.unc.edu w katalogu /pub/Linux/apps/sound/players/playmidi-2.3.tar.gz.

2.2 Moduły

Moduły (w muzyce komputerowej) to pliki z muzyką cyfrową, stworzone ze zbioru próbek (sampli) i informacji sekwencerowych, mówiących odgrywarce kiedy odtworzyć jaką próbkę (instrument) na jakiej ścieżce i z jaką wysokością, opcjonalnie wytwarzając efekt, taki jak np. vibrato. Ma zaletę nad MIDI - może zawierać prawie każdy rodzaj dźwięku (łącznie z głosem ludzkim). Po drugie, brzmi prawie tak samo na każdej platformie, ponieważ próbki są w module. Wadą jest, że moduły mają znacznie większy od MIDI rozmiar, a także to, że nie ma prawdziwego standardowego formatu (jedynym ,,prawdziwym'' jest ProTracker, z którym wiele modułów nie jest kompatybilnych). Pochodzi z Amigi. Najczęściej spotykany format to .mod. Jest wiele rozszerzeń, zależenie od formatu.

tracker

Ten bardzo elastyczny program (został napisany na wiele platform) odtwarza moduły muzyczne Soundtracker'a i Protracker'a. Używa wyjścia stereofonicznego 16-bitowego, jakość uważam za bardzo dobrą. Jeżeli potrzebujesz prostego sposobu na zredukowanie obciążenia procesora, użyj opcji -mono. To jest program "giftware" (cytując autora). Jest nim Marc Espie (Marc.Espie@ens.fr). Wersja z plikiem Makefile dostosowanym pod Linuxa może być sciągnięta z anonimowego ftp z sunsite.unc.edu z katalogu /pub/Linux/apps/sound/players/tracker-4.3-linux.tar.gz

gmod

Gmod to odtwarzacz modułów muzycznych dla Gravisa. Obsługiwane formaty to 4/6/8 kanałowy MOD, 8 kanałowy 669, MultiTracker (MTM), UltraTracker (ULT), FastTracker (XM) i ScreamTracker III (S3M).

Gmod wymaga wersji 3.0 lub późniejszej sterownika dźwięku. Oraz, oczywiście, GUS'a. Możliwe, że będziesz musiał zmodyfikować jądro żeby kontrola głośności działała tak, jak sobie tego życzysz.

Gmod posiada interfejs X'owy. Używa bibliotek QT (wersja 0.99 lub wyższa). Sprawdź stronę domową QT, żeby uzyskać informacje o QT.

Program może być darmowo rozpowszechniany. Był początkowo napisany przez Hannu Savolainen'a, a teraz jest nadzorowany przez Andrew J. Robinson'a (robinson@cnj.digex.net).

Można go ściągnąć z anonimowego FTP z sunsite.unc.edu (katalog /pub/Linux/apps/sound/players/gmod-3.1.tar.gz.

MikMod

Ten podręczny odtwarzacz modułów odtwarza formaty XM, ULT, STM, S3M, MTM, MOD i UNI. (Format UNI jest wewnętrznym formatem używanym przez MikMod.) Posiada obsługę spakowanych (zipped) plików z modułami. Używa jakości 16bit stereo. Użyj opcji -m (m jak mono) jeżeli potrzebujesz prostego sposobu obniżenia obciążenia procesora.

Wersja unixowa może używać bądź to ncurses, bądź to Tcl/Tk jako swój interferjs użytkownika. Może być także użyta jako biblioteka, a nie tylko niezależny program.

MikMod był początkowo napisany przez Jean-Paul Mikkers'a (mikmak@via.nl). Teraz jest nadzorowany przez Jake'a Stine'a (dracoirs@epix.net). Jest to shareware, które musi być zarejestrowane, jeżeli chcesz używać je komercyjnie. Potrzebne jest też zezwolenie na dystrybucję komercyjną (niekomercyjne rozpowszechnianie nie wymaga zezwolenia).

Program można znaleźć na stronie domowej MikMod.

xmp

Ten odtwarzacz modułów (nie mylić z xmp Adagia) może odtwarzać moduły MOD, S3M, STM, 669 i XM (inne formaty są też obsługiwane, ale ciągle eksperymentalnie lub niecałkowicie) na kartach z syntezą WaveTable (GUS albo SoundBlaster AWE 32) i na systemach z SoftOSS (sterownik miksujący programowo). W bardzo bliskiej przyszłości zwykły DSP będzie też obsługiwany.

Wersja pod X jest też dostępna.

Program jest napisany przez Claudio Matsuoka'ę (claudio@brasil.enemy.org) i H. Carraro Jr.

Znajduje się na stronie domowej xmp

s3mod

S3mod odtwarza 4/6/8 ścieżkowe moduły MOD i Scream Tracker 3. Używa standardowo jakości 8 bit mono, 22000Hz. Użyj opcji -s, żeby włączyć stereo, -b, żeby włączyć jakość 16 bitową i -f, żeby ustawić częstotliwość. Jednakże jakość dźwięku jest gorsza od tracker'a (szumy), więc polecałbym tracker'a zamiast s3mod do odtwarzania zwykłych plików MOD (chyba, że masz maszynę o małej mocy). S3mod obciąża procesor znacznie mniej niż tracker.

Prawa autorskie należą do Daniela Marks'a i David'a Jeske'a (jeske@uiuc.edu), ale możesz zrobić z tym co chcesz (poza twierdzeniem, że to ty go napisałeś).

Można go zdobyć przez anonimowe FTP z sunsite.unc.edu (katalog /pub/Linux/apps/sound/players/s3mod-v1.09.tar.gz.

mod

Ten program (wersja beta) odtwarza MOD'y (15/31 instrumentowe, do 32 głosów), MTM'y, ULT'y i S3M'y na Gravisie Ultrasound. Może też używać spakowane moduły, jeżeli masz gzip'a, lharc'a, unzip'a i unarj'a. Nie potrafi odtwarzać modułów spakowanych Powerpacker'em lub modułów spakowanych niektórymi programami do komponowania na Amigę (sygnatura "PACK").

Program wymaga wersji 3.0 sterownika dźwięku. Nie będzie działać z wersją 2.90-2 lub wcześniejszą. Interfejs tekstowy wymaga ncurses. Jest także załączony interfejs X'owy, który używa Tcl/Tk.

Mod jest napisany przez Mikael'a Nordqvist'a (mech@df.lth.se lub d91mn@efd.lth.se).

Można go znaleźć na anonimowym FTP z sunsite.unc.edu z /pub/Linux/apps/sound/players/mod-v0.81.tgz.

nspmod

Nspmod to odtwarzacz modułów w wersji alpha, który może odtwarzać moduły MTM, S3M i MOD. Jest przeznaczony dla kart dźwiękowych bez DSP (nie mylić z tym co Creative Labs nazywa DSP). Obciąża procesor porównywalnie z tracker'em

Posiada możliwość zapętlenia modułów, jeżeli są tak zaprogramowane. Ilość zapętleń może być limitowana opcją -l. Używa tylko wyjścia 8 bitowego. (jeżeli chodzi o wersję 0.1).

Został napisany przez Toru Egashira'ę (toru@jms.jeton.or.jp).

Można go ściągnąć z anonimowego FTP (sunsite.unc.edu, katalog /pub/Linux/apps/sound/players/nspmod-0.1.tar.gz).

yampmod

Ten program (wersja alfa) był zaprojektowany do odtwarzania 4 kanałowych modułów, minimalnie obciążając procesor. Nie był zaprojektowany do odtwarzania dźwięku wysokiej jakości. A więc jedyna jakość to 22kHz, mono. Dźwięk nie jest też tak czysty jak powinien, co wyjaśnia status alfa programu.

Został napisany przez David'a Groves'a (djg@djghome.demon.co.uk).

Można go znaleźć na anonimowym FTP z sunsite.unc.edu w katalogu /pub/Linux/apps/sound/players/yampmod-0.1.tar.gz.

2.3 MPEG audio

MPEG jest standardem specyfikującym kodowanie wideo i towarzszącego mu dźwięku w celu cyfrowej archiwizacji. MPEG jest zazwyczaj kojarzony z obrazem, ale część dźwiękowa może być używana oddzielnie. Część dźwiękowa standardu definiuje trzy powłoki (ang. layers), Layer I, II i III. Odtwarzacze mogące dekodować wyższe powłoki mogą także dekodować niższe. (np. odtwarzacze Layer III mogą odtwarzać pliki Layer II). Pliki audio MPEG Layer I mają zwykle rozszerzenie .mpg (więc jeżeli plik z tym rozszerzeniem nie może być odtworzony odtwarzaczem MPEG wideo, to jest to prawdopodobnie strumień audio), Layer II zazwyczaj ma rozszerzenie .mp2, a Layer III .mp3. Kompresja dźwięku nie jest najgorsza. Dwumegabajtowy Layer II zajmie 25 megabajtów jako czysty PCM o tej samej jakości

mpg123

Ten program (wersja beta) jest wydajnym odtwarzaczem MPEG audio, z obsługą powłok I, II i III. Jest oparty na kodzie z wielu źródeł. Może odtwarzać w czasie rzeczywistym strumień przez HTTP (tzn. można odtwarzać strumień MPEG bezpośrednio przez World Wide Web).

Głównym autorem jest Michael Hipp (Michael.Hipp@student.uni-tuebingen.de). Może być używany i rozpowszechniany w niezmodyfikowanej formie darmowo, przeznaczony do zadań niekomercyjnych. Załączenie w kolekcji darmowego oprogramowania (takiej jak CD-ROM'y lub serwery FTP) jest dozwolone.

Najnowszą wersję można znaleźć na stronie mpg123 Oliver'a Fromme'a.

maplay 1.2

Ten odtwarzacz MPEG audio obsługuje tylko Layer I i II. Obsługuje 16 bitowe karty dźwiękowe pod Linuxem.

Złużywa dosyć dużo czasu procesora, ok. 55% na Pentium 60MHz. Dźwięk jest niemożliwy do słuchania na 486 66MHz, ponieważ procesor nie może nadążyć z dźwiękiem. Jeżeli to ci się zdarzy, spróbuj odtwarzać tylko jedną stronę strumienia audio (opcją -l lub -r), zamiast domyślnego stereo.

Mała zmiana w jednym z plików może być potrzebna do skompilowania programu. Musisz dodać taką linię na początek pliku configuration.sh.

#! /bin/sh

Autorem jest Tobias Bading (bading@cs.tu-berlin.de). maplay 1.2 można znaleźć na anonimowym FTP na ftp.cs.tu-berlin.de z /pub/multimedia/maplay1.2/maplay1_2.tar

maplay 1.3b

To jest nieoficjalna modyfikacji (tzn. nie przez oryginalnego autora) maplay'a 1.2, może działać z o wiele mniejszym obciążeniem procesora. Udaje się jej to głównie przez używanie wyjścia u-law na innych platformach poza SPARC'em. Zauważ, że używa wyjścia u-law domyślnie, więc jakość dźwięku jest niższa.

Modyfikacje były przeprowadzone przez Orlando Andico (orly@gibson.eee.upd.edu.ph).

Program można znaleźć na anonimowym FTP na sunsite.unc.edu z katalogu /pub/Linux/apps/sound/players/maplay-1.3b-Linux.tar.gz.

maplay3

To jest kolejny krewny maplay'a 1.2. Dodaje obsługę formatu MPEG Layer 3. W tej chwili ma pewne błędy w odtwarzaniu (możesz słyszeć skrzeczące odgłosy). Możesz pobawić się opcjami żeby to zmienić.

Modyfikacje były przeprowadzone przez Timo Jantunen'a (timo.jantunen@hut.fi lub jeti@cc.hut.fi. Mówi, że może być używany darmowo, ale zarabianie nim pieniędzy nie jest dozwolone. Jakkolwiek nie jestem całkowicie przekonany o poprawności praw autorskich, ponieważ oryginalny maplay jest na Licencji Publicznej GNU (GNU General Public License), która nie pozwala zmodyfikowanym pracom mieć innych praw autorskich.

Program może być znaleziony na anonimowym FTP na sunsite.unc.edu z katalogu /pub/Linux/apps/sound/players/maplay3.tar.gz.

splay

Ten odtwarzacz (wersja beta) jest kolejnym krewnym maplay'a 1.2 (właściwie jest krewnym maplay'a 1.2+, który jest Windows'owym krewnym maplay'a 1.2). Dodaje obsługę strumieni MPEG Layer 3. Może też odtwarzać pliki WAV. Może także odtwarzać strumienie audio przez połączenie HTTP.

Inna opcja splay'a, to możliwość używania go jako biblioteki (na licencji GPL), więc może być używany w innych programach. Próbuje też polepszyć wydajność przez używanie grupowania (threading) (potrzebujesz pthread, żeby używać tą opcję) i trochę assemblera w kodzie.

Splay używa interfejsu linii komend i opcjonalnego X'owego (który używa QT).

Jeżeli nie działa po kompilacji (np. zwraca błąd segmentacji), spróbuj skompilować go jeszcze raz bez grupowania (threading).

Autorem jest Jung Woo-jae (jwj95@eve.kaist.ac.kr).

Program można znaleźć na stronie domowej splay'a.

Sajber Jukebox

Ten program jest odtwarzaczem MPEG z graficznym interfejsem użytkownika. Jest oparty na splay'u, więc obsługuje powłoki MPEG do III. Może też odtwarzać strumienie MPEG w czasie rzeczywistym, ze strumieniem podawanym przez HTTP. Jest także łatwy do skonfigurowania.

Używa bibliotek QT toolkit (w wersji 1.2<). Używa też LinuxThreads (załączone binaria działają tylko z wersją 0.5).

Autorem jest Joel Lindholm (wizball@kewl.campus.luth.se).

Najnowszą wersję można znaleźć na anonimowym FTP na kewl.campus.luth.se z katalogu /pub/jukebox.

amp

Ten odtwarzacz MPEG audio (wersja beta) obsługuje tylko MPEG Layer 3. Może odtwarzać bezpośrednio do karty dźwiękowej i do plików PCM lub WAV. Daje też dosyć duży ładunek dla procesora (około 60% na Pentium 133MHz).

Został napisany przez Tomislav'a Uzelac'a (tuzelac@rasip.fer.hr). Może być darmowo używany i rozpowszechniany, dotąd, dokąd nie będzie sprzedawany komercyjnie bez zezwolenia (załączanie go na CD-ROM'ach z darmowym oprogramowaniem jest dozwolone).

Można go znaleźć na anonimowym FTP na ftp.rasip.fer.hr z katalogu /pub/mpeg/amp-0.7.3.tgz.

XAudio

Ta biblioteka (alfa) została napisana jako szybka implementacja bibliotek dekodowania MPEG audio, do użycia w różnych interfejsach GUI. Obsługuje powłoki I, II i III. Może losowo pobierać dane ze strumieni. Interfejs linii komend jest załączony. Wersja Motif (Lesstif) jest też załączona w wersji pod Linuxa.

Autorzy to Gilles Boccon-Gibod, Alain Jobart i inni. Wykończenia (front-ends) biblioteki mogą być darmowo pobierane. Biblioteka sama w sobie musi być licencjonowana (dostępna jest licencja źródłowa i binarna).

Wykończenia tej biblioteki mogą być ściągnięte ze strony domowej XAudio.

Layer 3 Shareware Encoder/Decoder

Właściwie jest to konwerter, który przekształca strumienie audio MPEG Layer 3 w WAV, AIFF, SND, AIFC lub po prostu czyste PCM. Wersja pod Linuxa nie kieruje wyjścia bezpośrednio do karty dźwiękowej. Trzeba najpierw skonwertować plik do innego formatu.

Jakkolwiek, jeżeli spróbjesz odtworzyć skonwertowany plik używając sox'a, otrzymasz prawdopodobnie tylko szum, poniewać porządek słów (to taki rodzaj "liczby" komputerowej - przyp. Tygrys) w próbkach PCM nie jest poprawny (przynajmniej na platformach Intelowych). Musisz odpalić sox'a z opcją -x, żeby pozbyć się tego problemu. Ale niektóre odtwarzacze nie muszą być zawiadomione, że porządek słów jest zły, więc nie musisz się o to martwić.

Jeżeli masz naprawdę szybki komputer (prawdopodobnie co najmniej Pentium 100MHz), możesz spróbować odtwoezyć strumienie MPEG Layer 3 bezpośrednio, bez potrzeby skonwertowania dźwięku na inny format, tak jak w następującym przykładzie (przyjmuje on, że używasz sox'a i odtwarzasz próbkę 44.1kHz stereo).

$ l3dec foo.mp3 -sto | play -t raw -x -u -w -c 2 -r 44100 -

Liczba po -r jest częstotliwością próbkowania strumienia audio, a liczba po -c zależy od tego, czy to ma być mono, stereo, czy nawet kwadro. Jeżeli to wygląda zbyt skomplikowanie, możesz użyć skryptu lub aliasu.

To jest shareware z prawami autorskimi Fraunhofer-IIS. Wersja demo pod Linuxa na systemy x86 może być ściągnięta z anonimowego FTP na ftp.fhg.de z katalogu /pub/layer3. Wersja demo konwertuje tylko strumienie Layer 3.

2.4 WAV

Cytując ze strony podręcznika man sox'a:

Wydają się być podobne do plików IFF, ale nie takie same. Są oryginalnym formatem dźwiękowym Windows 3.1. Oczywiście Windows 3.1 jest tak ważne dla przemysłu komputerowego, że musiało mieć własny format plików dzwiękowych.

Mają zazwyczaj rozszerzenie .wav

wavplay

Ten program obsługuje odtwarzanie i nagrywanie w formacie WAV. Używa blokowania (locking), więc tylko jeden dźwięk może być odtwarzany w danej chwili. Jego możliwości blokowania mogą też być użyte oddzielnie od jego możliwości odtwarzania dźwięku.

Jako dodatek do interfejsu linii komend, ma także interfejs Motif, który może być używany z Lesstif'em.

Był początkowo napisany przez Andre Fuechsel'a (af1@irz.inf.tu-dresden.de), ale został całkowicie przepisany przez Warren'a W. Gay'a (bx249@freenet.toronto.on.ca lub wwg@ica.net).

Można go znaleźć na anonimowym FTP z sunsite.unc.edu w katalogu /pub/Linux/apps/sound/players/wavplay-1.0.tar.gz.

2.5 Inne rzeczy

Ta sekcja opisuje rzeczy, które odtwarzają formaty dźwięku nie zasługujące na oddzielną sekcję (np. formaty mające tylko jeden odtwarzacz), lub odtwarzacze obsługujące kilka formatów.

sox

Ten program jest właściwie konwerterem, zamienia jednen format dźwięku na drugi. Jakkolwiek, niektóre wersje sox'a, przywoływane komendą play, odtwarzają dźwięk. (Aplikacja play w Sound HOWTO prawdopodobnie odnosi się do tego). Obsługuje czyste (bez nagłówka) binaria i dane tekstowe , Pliki Dźwiękowe IRCAM, .voc Sound Blaster'a, .au SPARC'a (z nagłówkiem), HCOM Mac'a .voc PC/DOS, formaty Sndtool'a i Sounder'a, .snd NeXT'ta RIFF/WAV Windows 3.1, .smp Turtle Beach'a, CD-R i formaty AIFF i 8SVX Apple/SGI.

Gdzieś w kernelu 1.3.6x, musisz dokonać małej zmiany w jednym pliku, żeby dźwięk był odtwarzany bezpośrednio. Musisz zmienić linię 179 w pliku sbdsp.c z

if (abuf_size < 4096 || abuf_size > 65536) {

na

if (abuf_size < 1 || abuf_size > 65536) {

Ale może nie będziesz musiał tego robić. Jednak zrobienie tego nic nie zepsuje.

Został napisany przez wielu ludzi i może być użyty w każdym przeznaczeniu.

Można go znaleźć na anonimowym FTP na sunsite.unc.edu w katalogu /pub/Linux/apps/sound/convert/Lsox-linux.tar.gz.

Nowsza wersja, której autorem jest Chris Bagwell (cbagwell@sprynet.com) (oparta na najnowszej wesji gamma oryginalnego sox'a, z załączoną powyższą poprawką) może być ściągnięta przez anonimowe FTP na sunsite.unc.edu z katalogu /pub/Linux/apps/sound/convert/sox-11gamma-cb3.tar.gz.

bplay

Ten program (wersja beta) odtwarza czyste audio, WAV i VOC. Może też nagrywać takie pliki. Używa różnych technik do osiągnięcia najwyższej możliwej prędkości, a więc może chodzić przystępnie nawet na wolnych maszynach. Jedna z tych technik wymaga, żeby zainstalowane programy miały identyfikator setuid root. Jeżeli koniecznie chcesz tego używać, możesz użyć paczki Debiana, której autorem jest Ian Jackson (ijackson@gnu.org), która wyłącza funkcję potrzebującą bitu setuid.

Autorem jest David Monro (davidm@gh.cs.usyd.edu.au).

Można go znaleźć na anonimowym FTP na sunsite.unc.edu w katalogu /pub/Linux/apps/sound/players/bplay-0.96.tar.gz.

SIDPLAY

Ten program emuluje układ SID (Sound Interface Device, MOS 6581) i MPU (Micro Processor Unit, MOS 6510) Commodore'a 64. Jest więc w stanie załadować i uruchomić programy w kodzie maszynowym C64 wydające dźwięki lub muzykę. Głównie są to fragmenty kodu i danych, które zostały wyciągnięte (ripped) z gier i programów demonstracyjnych i przesłane bezpośrednio z C64.

Standardowo używa linii komend. Są też interfejsy Tk i QT, dostępne oddzielnie z głównej paczki.

Sidplay jest nadzorowany przez Michael'a Schwendt'a (sidplay@geocities.com).

Jest dostępny ze strony domowej SIDPLAY'a.

RealAudio Player

Pozwala ci słuchać dźwięku, zapisanego w odpowiednim formacie, w czasie rzeczywistym przez Internet bez pobierania całego pliku. Może być użyty oddzielnie, ale tak naprawdę jest przeznaczony do użytku z przeglądarką web (najlepiej obsługiwane są Mosaic i Netscape). Nie może być używany bez X'ów (nie możesz używać go z Lynxem na konsoli tekstowej).

Autorem jest firma Progressive Networks, Inc. Program nie może być rozpowszechniany, modyfikowany itp. Zajrzyj do licencji, żeby uzyskać dokładne informacje o tym, co możesz robić. Program można ściągnąć ze strony domowej RealAudio.

cat

Ktoś może pomyśleć co cat, czasami nadużywane narzędzie wypisujące, może mieć wspólnego z odgrywaniem dźwięku. Pokażę jak można to zużytkować na przykładzie.

$ cat sample.voc > /dev/dsp
$ cat sample.wav > /dev/dsp
$ cat sample.au > /dev/audio

Wykonanie cat'a pliku .au na urządzenie /dev/audio będzie zwykle działać, a jeżeli będziesz miał szczęście, porządek bajtów w pliku będzie odpowiedni do twojej platformy itp., uda się nawet "zcatowanie" pliku PCM (takiego jak /dev/audio czy /dev/dsp) na urządzenie /dev/dsp.

To wcale nie jest bezużyteczny sposób wykorzystania cat'a. Może być przydatny np. jeżeli masz plik dźwiękowy nie rozpoznawany przez twoje programy, a wiesz, że używa próbek PCM, możesz mieć przybliżone wyobrażenie tego, jak plik brzmi (jeżeli będziesz miał szczęście). (kurczę, nie pisze skąd to wziąć ;-) - przyp. Tygrys)

3. Inne przydatne narzędzia dźwiękowe

Ta sekcja nie ma bezpośrednio nic wspólnego z odtwarzaniem plików dźwiękowych. Jest to raczej kolekcja narzędzi, które mogą być przydatne.

3.1 volume

To jest prosty interfejs linii komend, który kontroluje głośność (co innego mogłoby to być?). Ma też oddzielny program z interfejsem Tcl/Tk załączonym w paczce, służącym do kontrolowania głośności i odtwarzania plików .au. Jest też załączony bardzo prosty odtwarzacz CD Tcl/Tk.

Jest to Freeware napisany przez Sam'a Lantinga'ę (slouken@cs.ucdavis.edu).

Można go znaleźć na anonimowym FTP na sunsite.unc.edu w katalogu /pub/Linux/apps/sound/soundcard/volume-2.1.tar.gz.

3.2 Sound Studio

To jest aplikacja Tcl/Tk zapewniająca odtwarzanie, nagrywanie i edycję cyfrowego dźwięku używając sox'a. Zawiera sox'a w swojej dystrybucji, żeby uniknąć problemów z kompatybilnością.

Program został napisany przez Paul'a Sharpe'a i N. J. Bailey'a (N.J.Bailey@leeds.ac.uk). Może być darmowo używane i rozpowszechniane, jeżeli zostanie wysłana kartka pocztowa. (greetsy i widoczek dla autorów :-) - przyp. Tygrys)

Można go znaleźć na stronie domowej Sound Studio.

3.3 Tickle Music

Ta (wersja beta, Tcl/Tk) przeglądarka plików muzycznych pozwala odtwarzać różne formaty dźwięku dotąd, dokąd odpowiednie programy odtwarzające są zainstalowane na twoim systemie. Standardowo moduły odtwarza gmod, a pliki MIDI mp (możesz zmienić źródła, żeby używać innych programów).

Został napisany przez Shannon Hendrix (shendrix@pcs.cnu.edu lub shendrix@escape.widomaker.com).

Można go ściągnąć przez anonimowe FTP na sunsite.unc.edu z katalogu /pub/Linux/apps/sound/players/tmusic-1.0.tar.gz.

4. Odnośniki

  1. Dokumentacja załączona z aplikacjami opisanymi w tym dokumencie
  2. Linux Sound HOWTO. Można je znaleźć w Linux Documentation Project. (Polska wersja znajduje się w Projekcie JTZ.)
  3. Strony MIDI i dźwięku w Linuxie
  4. MPEG Audio Layer 3 FAQ
  5. Programmer's Guide to OSS
  6. Strona domowa SoX

5. Od tłumacza

Zdaję sobie sprawę, że jest tu mnóstwo mniejszych lub większych błędów. Jest to dopiero wersja 1.0 - vis major, błędy muszą być... :-) Jeżeli jakieś znajdziesz, daj mi znać.

Prawa autorskie tłumaczenia - (C)1998 tygrys@fidonet.org.pl.