8.3. MP3音频

贡献者Chern Lee.

MP3 (MPEG Layer 3 Audio)达到过CD音质的效果,FreeBSD工作站没理由会缺少这样的好东东。

8.3.1. MP3播放器

目前为止, 最为流行的 X11 MP3 播放器是 XMMS (X 多媒体系统)。 Winamp 的肤面可以直接用于 XMMS, 因为它的 GUI 几乎和 Nullsoft 的 Winamp 完全一样。 另外, XMMS 也提供了内建的插件支持。

XMMS 可以通过 multimedia/xmms port 或 package 来安装。

XMMS 的界面很直观, 它提供了播放列表、 图形化均衡器等等。 如果您熟悉 Winamp, 就会感觉 XMMS 很容易使用。

audio/mpg123 port 提供了一个命令行界面的 MP3 播放器。

mpg123 可以在执行时通过命令行指定声音设备和要播放的 MP3 文件, 假设你的声音设备是 /dev/dsp1.0 并且你想要播放的 MP3 文件为 Foobar-GreatestHits.mp3 你可以键入以下的命令:

# mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3High 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

8.3.2. 抓取CD音轨

在对CD或CD音轨编码成MP3之前, CD上的音频数据应先抓到硬盘里。 这个可以通过复制原始的CDDA(CD数字音频)数据成为波形(WAV)文件。

工具 cdda2wavsysutils/cdrtools 套件的一部份,可用来从CD中获取音频及其相关信息。

把CD放到光驱里,下面的命令可以完成 (作为 root用户) 把整张 CD 分割成单个 (每个音轨) 的WAV文件:

# cdda2wav -D 0,1,0 -B

cdda2wav 支持 ATAPI (IDE)光驱。 从IDE光驱中抓取音轨, 需要用设备名称代替SCSI的单元号。 例如, 想从 IDE 光驱中抓取第7道音轨:

# cdda2wav -D /dev/acd0 -t 7

参数 -D 0,1,0 表示 SCSI 设备 0,1,0, 与命令 cdrecord -scanbus 的输出相对应。

抓取单轨,要使用选项 -t,如下所示:

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

这个实例用于抓取第七个音轨。要抓取一定范围的音轨,如从1到7:

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

利用dd(1)也可以从ATAPI光驱中抓取音轨,从 第 19.6.5 节 “复制音频 CD” 可以了解更多。

8.3.3. MP3 编码

现今,可选的MP3编码器是 lameLame 可以从ports树里的 audio/lame 处找到。

利用抓取的WAV文件,下边的命令就可以把 audio01.wav 转换成 audio01.mp3

# lame -h -b 128 \--tt "Foo Song Title" \--ta "FooBar Artist" \--tl "FooBar Album" \--ty "2001" \--tc "Ripped and encoded by Foo" \--tg "Genre" \audio01.wav audio01.mp3

128 kbits 是标准的MP3位率(bitrate)。 许多人可能喜欢更高的品质例如 160 或 192。 更高的位率, 会使 MP3 占用更多的磁盘空间--但音质会更高。选项 -h 控制 高品质但低速度 (higher quality but a little slower) 模式的开关。 选项 --t 表示把 ID3 标签--通常包含了歌曲的信息, 植入到MP3文件里。 其它的编码选项可以查询 lame 的联机手册。

8.3.4. MP3 解码

要把MP3歌曲刻录成音乐CD,就需要把它转换成非压缩的波形(WAV)格式。 XMMSmpg123 都支持把MP3输出成非压缩格式文件。

XMMS 中输出到磁盘:

  1. 启动 XMMS.

  2. 在窗口里右击鼠标,弹出 XMMS 菜单。

  3. 选项(Options) 里选择 设定(Preference)

  4. 改变输出插件成 写磁盘插件(Disk Writer Plugin)

  5. 配置(Configure)

  6. 输入或选择一个目录用于存放解压的文件。

  7. 象平常一样,把MP3文件装入到 XMMS 里边, 把音量调节到100%并且关掉EQ设定。

  8. 按一下 播放(Play) ── XMMS 如同在播放mp3一样,只是听不到声音。 实际上是在播放mp3到一个文件里。

  9. 要想再听MP3歌曲,记得把默认的输出插件设回原来的值。

mpg123 进行标准输出:

  • 执行 mpg123 -s audio01.mp3 > audio01.pcm

XMMS 输出的文件是波形(WAV)格式, 而 mpg123 则把MP3转换成无压缩的PCM 音频数据。两种格式都支持用 cdrecord 刻录成音乐CD。 使用 burncd(8) 您就必须使用无压缩的PCM。 如果选择波形格式, 就要注意在每道开始时的一小点杂音, 这段声音是波形文件的头部份。 可以使用工具 SoX 来轻松去除。 SoX 可从 audio/sox port 或包(package)中安装得到:

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

阅读 第 19.6 节 “创建和使用光学介质(CD)” 这部份可以了解到更多在 FreeBSD 里刻盘的信息。

本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读 文档,如不能解决再联系 <questions@FreeBSD.org>.

关于本文档的问题请发信联系 <doc@FreeBSD.org>.