7.3. Dzwięk MP3

Napisał by Chern Lee.

MP3 (MPEG Layer 3 Audio) osiąga jakość dźwięku zbliżoną do płyty CD. Nie pozostawia to powodu, dlaczego nasz komputer z FreeBSD miałby go nie obsługiwać.

7.3.1. Odtwarzacze MP3

Jak na razie, najpopularniejszym odtwarzaczem MP3 dla X11 jest XMMS (X Multimedia System). Skórki Winampa mogą być użyte z XMMSem, ponieważ jego GUI jest niemal identyczne z Winampem Nullsoftu. XMMS posiada także własny system modułów rozszerzających (plug-in).

XMMS może być zainstalowany z portu multimedia/xmms lub z paczki.

Interfejs XMMSa jest intuicyjny, posiada listę odtwarzania, graficzny korektor (equalizer) i inne. Zaznajomieni z Winampem nie będą mieli problemów z XMMSem.

Port audio/mpg123jest alternatywnym, obsługiwanym z linii poleceń odtwarzaczem MP3.

mpg123 może być uruchomiony przez określenie urządzenia audio i pliku MP3 w linii poleceń, jak pokazano poniżej:

# mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!





Playing MPEG stream from Foobar-GreatestHits.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo

/dev/dsp1.0 powinniśmy zastąpić wpisem urządzenia dsp w naszym systemie.

7.3.2. Zgrywanie ścieżek Audio CD

Zanim zakodujemy płytę lub ścieżkę do formatu MP3, dane muzyczne na płycie muszą zostać zgrane na dysk twardy. Robi się to przez skopiowanie pierwotnych danych CDDA (CD Digital Audio) do plików WAV.

Narzędzie cdda2wav, które jest częścią zestawu sysutils/cdrtools, jest używane do zgrywania danych audio z płyt, oraz informacji skojarzonej z nimi.

Z płytą CD w napędzie, następująca komenda może być wywołana (jako root), żeby zgrać całą płytę CD do osobnych (dla każdego utworu) plików WAV:

# cdda2wav -D 0,1,0 -B

cdda2wav obsługuje napędy ATAPI (IDE) CDROM. Żeby zgrać z napędu IDE, podajmy nazwę urządzenia w miejsce liczb jednostek SCSI. Dla przykładu, żeby zgrać ścieżkę 7 z napędu IDE:

# cdda2wav -D /dev/acd0a -t 7

Opcja -D 0,1,0 wskazuje urządzenie SCSI 0,1,0, które odpowiada wypisanemu przez cdrecord -scanbus.

Żeby zgrać pojedyncze ścieżki, użyjmy opcji -t jak pokazano poniżej:

# cdda2wav -D 0,1,0 -t 7

Ten przykład zgrywa ścieżkę siódmą z płyty audio. Żeby zgrać przedział ścieżek, np. jeden do siedem, określmy przedział:

# cdda2wav -D 0,1,0 -t 1+7

Narzędzie dd(1) także może być użyte aby zgrać ścieżki audio w napędach ATAPI. Przeczytajmy Sekcja 18.6.5, żeby dowiedzieć się więcej.

7.3.3. Kodowanie MP3ójek

Obecnie najczęściej wybieranym koderem mp3 jest lame. Lame można znaleźć w audio/lame w drzewie portów.

Używając zgranych plików WAV, następujące polecenie skonwertuje audio01.wav na audio01.mp3:

# lame -h -b 128 \
--tt "Foo TytułPiosenki" \
--ta "FooBar Artysta" \
--tl "FooBar Album" \
--ty "2001" \
--tc "Ripped and encoded by Foo" \
--tg "Rodzaj" \
audio01.wav audio01.mp3

128 kbitów zdaje się być standardowym bitrate MP3 w użyciu. Wielu jednak woli wyższe wartości 160, lub 192. Im wyższe bitrate tym więcej miejsca zajmuje MP3, jednak jakość także będzie lepsza. Opcja -h włącza tryb “wyższa jakość, ale wolniejsze kodowanie”. Opcje zaczynające się od --t oznaczają tagi ID3, które przeważnie zawierają informacje o piosence. Są one zawarte bezpośrednio w pliku MP3. Dodatkowe opcje kodowania można znaleźć na stronie podręcznika do lame.

7.3.4. Dekodowania MP3ójek

W celu nagrania płyty audio CD z plików MP3, muszą one zostać skonwertowane do nieskompresowanego formatu. Zarówno XMMS i mpg123 obsługują wyjście MP3 do nieskompresowanego formatu pliku.

Zapiswanie na dysk w XMMSie:

  1. Włączmy XMMS.

  2. Kliknijmy prawym przyciskiem na okno, żeby pokazać menu XMMSa.

  3. Wybierzmy Opcje i następnie Ustawienia.

  4. Zmieńmy wtyczkę wyjścia na “Wtyczka zapisu na dysk”.

  5. Przyciśnijmy Konfiguruj.

  6. Wpiszmy (lub wybierzmy Przeglądaj) katalog do którego mają być zapisane nieskompresowane pliki.

  7. Załadujmy plik MP3 do XMMSa jak zwykle, z głośnością ustawioną na 100% i wyłączonymi ustawieniami korektora.

  8. Naciśnijmy Graj (Play) -- XMMS będzie wyglądał jakby odtwarzał MP3ójkę, ale nie będzie słychać muzyki. Plik MP3 jest grany do pliku WAV.

  9. Po wszystkim pamiętajmy, aby z powrotem ustawić domyślną wtyczkę wyjściową, aby móc ponownie słychać plików MP3.

Zapisywanie do standardowego wyjścia w mpg123:

  1. Uruchommy mpg123 -s audio01.mp3 > audio01.pcm

XMMS zapisuje plik do formatu WAV, podczas gdy mpg123 konwertuje plik MP3 w surowe dane PCM audio. Oba te formaty mogą zostać użyte z cdrecord, aby nagrać płyty audio CD. burncd(8) obsługuje tylko surowy PCM. Jeśli używamy plików WAV, zauważymy mały trzask na początku każdego utworu. Jest to nagłówek pliku WAV. Możemy w łatwy sposób go usunąć używając SoX (instalowany z portu audio/sox lub paczki):

% sox -t wav -r 44100 -s -w -c 2 track.wav track.raw

Przeczytajmy Sekcja 18.6 aby sie dowiedzieć więcej o używaniu nagrywarki CD we FreeBSD.

Ten i inne dokumenty można pobrać z ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

W przypadku pytań o FreeBSD prosimy przeczytać dostępną dokumentację przed kontaktem z <questions@FreeBSD.org>.
W sprawie zapytań o tę dokumentację prosimy o kontakt z <doc@FreeBSD.org>.