(Original: Sat Jun 12 03:33:18 1999)
Last modified: Sun Oct 06 16:36:43 JST 2019

MP3 で音楽を

Software Design 1998 9 月号の記事を参考にファイルの作成から音楽の再生 まで. 結構手間がかかります.

以下の例は下記の環境でのもの.
FreeBSD 2.2.7-RELEASE #0: Sun Mar 14 18:14:53 JST 1999
    uranov@angel.dream.or.jp:/usr/src/sys/compile/ANGEL
CPU: AMD-K6tm w/ multimedia extensions (199.90-MHz 586-class CPU)
  Origin = "AuthenticAMD"  Id = 0x562  Stepping=2
  Features=0x8001bf
real memory  = 134217728 (131072K bytes)
avail memory = 129261568 (126232K bytes)
  1. 音楽 CD から PCM ファイルへ変換
    packages に含まれる tosha(tosha-0.05.tgz) と言うプログラムを利用. root 権限にて以下を実行. (ヘルプは tosha -h)
    1. トラック一覧表示
      # tosha -i
      angel# tosha -i
      Device: /dev/cd0c TOSHIBA CD-ROM XM-3401TA 3593
      
       track   playing  start    end     raw size  mp3 size   # of
       number   time    sector  sector   in bytes  128 kbps  frames
      --------------------------------------------------------------
          1    5:45'00      37   25911   60858000   5520835   13208
          2    5:18'38   25912   49799   56184576   5096941   12193
          3    4:28'37   49800   69936   47362224   4296728   10279
          4    5:00'38   69937   92474   53009376   4808941   11504
          5    5:21'37   92475  116586   56711424   5144728   12308
          6    5:06'38  116587  139574   54067776   4904941   11734
          7    4:48'25  139575  161199   50862000   4614168   11038
          8    5:36'50  161200  186449   59388000   5387501   12889
          9    5:23'00  186450  210674   56977200   5168835   12365
         10    5:51'00  210675  236999   61916400   5616835   13437
         11    4:57'15  237000  259289   52426080   4756035   11378
      --------------------------------------------------------------
       total  57:36'53  259253 sectors  609763056  55390897  132328
      
    2. ファイル作成
      # tosha -t tracks
      angel# tosha -t 3
      Device: /dev/cd0c TOSHIBA CD-ROM XM-3401TA 3593
      
       track   playing  start    end     raw size  mp3 size   # of
       number   time    sector  sector   in bytes  128 kbps  frames
      --------------------------------------------------------------
          3    4:28'37   49800   69936   47362224   4296728   10279
        Reading to track03.pcm ...
      
      Transferred 45.168 Mb in 269.0 seconds, 176.1 kb/s, speed: 1.0.
      
    3. PCM ファイルの確認(再生)
      # pcmplay pcmfile
      angel# ls -l track03.pcm
      -rw-r--r--  1 root  users  47362224 Jun 10 01:17 track03.pcm
      angel# pcmplay track03.pcm
      
  2. PCM ファイルから WAV ファイルへ変換
    packages に含まれる sox(sox-12.12) を利用. 1 曲の変換時間は 1 分弱.
    % sox -t raw -r 44100 -c 2 -s -w pcmfile wavfile
    angel% time sox -t raw -r 44100 -c 2 -s -w track03.pcm akai_maboroshi.wav
    41.770u 3.776s 0:46.35 98.2%    107+230k 4+741io 4pf+0w
    
  3. MP3 オーディオ圧縮
    いくつかのプログラムがあります. それぞれ(大きく)実行時間が 異なります. 私の環境での実行スピード順に紹介. 音質は PC 用の スピーカで聞く限りは似たり寄ったりです.
  4. MP3 ファイルの再生
    packages に含まれる mpg123(mpg123-0.59o.tgz) もしくは amp(amp-0.7.6.tgz) を利用.
    % mpg123 mp3file
    angel% mpg123 heron.mp3
    High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
    Version 0.59o (1998/Feb/08). 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 heron.mp3 ...
    MPEG 1.0 layer III, 128 kbit/s, 44100 Hz stereo
    
    [4:42] Decoding of heron.mp3 finished.
    
    % amp mp3file
    angel% amp mokuren_no_namida.mp3
    
    amp 0.7.6, (C) Tomislav Uzelac 1996,1997
    THIS PROGRAM COMES WITH ABSOLUTELY NO WARRANTY
    PLEASE READ THE DOCUMENTATION FOR DETAILS
    
    Playing: mokuren_no_namida.mp3
    
    Properties:    stereo 44100Hz
    Coding Method: MPEG1.0 layer3
    Bitrate:       128kbit/s
    
    
    Thank you for using amp!
    
    この他 xaudio(share ware) 等もあるようですが, 使っていません. 上記 2 つはコマンドラインで使用するタイプですが, これにかぶせる GUI もあります. (それぞれ xmpeg3-1.0.tgz, x11amp-0.7.tgz 等) これも使っていません.
  5. (おまけ)ボリュームコントロール
    話のついでに音量の調整方法について... コマンドラインなら mixer を使います. 現在 .xinitrc 中で mixer vol 40:40 としています. GUI 付きなら xmix(xmix-2.1.tgz) を. 尚 mixer はサウンドカードのコントロール用です.