Home -- Michael's Blog :: Just Do IT -- Manuals

7.3. MP3音频

贡献者Chern Lee.

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

7.3.1. MP3播放器

到目前为止,最为流行的XFree86 MP3 播放器是XMMS (X 多媒体系统)。Winamp肤面可以应用到XMMS上,因为它与Nullsoft's Winamp的GUI(图形界面)几乎是相同的。XMMS 也支持插件功能

XMMS可以从multimedia/xmms port 或 package(“包”)里安装得到。

XMMS'的界面很直观,有播放列表、图表化的均衡器等等。那些Winamp家族的人会发现使用XMMS很简单。

audio/mpg123 port是一个可选用的命令行MP3播放器。

mpg123可以在命令行指定音频设备和MP3文件执行,如下所示:

# 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应该换成dsp设备进入你的系统。

7.3.2. 抓取CD音轨

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

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

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

# cdda2wav -D 0,1,0 -B


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

# cdda2wav -D /dev/acd0a -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光驱中抓取音轨,从第 16.6.5 节可以了解更多。

7.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 千位是标准的MP3位率(bitrate)。许多人可能喜欢更高的品质像160或192。更高的位率,会使MP3占用更多的磁盘空间--只是音质会更高。选项 -h 控制 ``高品质但低速度(higher quality but a little slower)'' 模式的开关。选项 --t 表示把 ID3 标签--通常包含了歌曲的信息 ,植入到MP3文件里。其它的编码选项可以查询lame的帮助页(man page)。

7.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进行标准输出:

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

XMMS输出的文件是波形(WAV)格式,而mpg123 则把MP3转换成原始的PCM(raw 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

阅读第 16.6 节 这部份可以了解到更多在FreeBSD里刻盘的信息。

Michael's Blog :: Just Do IT -- manuals