Categories

A sample text widget

Etiam pulvinar consectetur dolor sed malesuada. Ut convallis euismod dolor nec pretium. Nunc ut tristique massa.

Nam sodales mi vitae dolor ullamcorper et vulputate enim accumsan. Morbi orci magna, tincidunt vitae molestie nec, molestie at mi. Nulla nulla lorem, suscipit in posuere in, interdum non magna.

Fedora 9にgogo 3.13をインストール

Fedora 9にgrip 3.2.0をインストールではエンコーダにlameを使用しておりました。動作は問題なかったのですが、Windows XPで使用しているQuintessential Media Player 120と比較すると、エンコーダに双方ともlameを使用しているのですが、Windows XPよりもFedora 9の方が、かなり時間が掛かってしまいます。

そこで、lame3.88をベースとした高速エンコーダのgogo 3.13をインストールすることにしました。

ファイルの入手

PEN氏の@MARINECAT > 午後のこ〜だ Ver3.13 ソースコードからソースファイルpetit313.tgzをダウンロードし、適当な場所へ展開すると[/petit313]ディレクトリが作成されます。

事前作業

コンパイルに必要なnasmとgccをインストールします。

  1. # yum -y install nasm

  2. # yum -y install gcc

因みにFedoraのリソース番号と双方のバージョンは以下の通りです。

$ uname -r
2.6.25.11-97.fc9.i686
nasm -v
NASM version 2.03.01 compiled on Jun 19 2008
$ gcc -v
gcc version 4.3.0 20080428 (Red Hat 4.3.0-8) (GCC)

makeに失敗

以下の作業で問題なく完了する予定でしたが…

  1. $ cd /petit313/

  2. $ ./configure

  3. $ make

  4. # make install

3.のmakeで…

make: *** [fftsse.o] エラー 1

と、表示されてしまいます。

WEBで情報を探したのですが、コンパイルは成功するが実行すると[浮動小数点演算例外です]と表示されてしまうトラブる対処は見つかるものの、コンパイルそのものが失敗する事例を見つけることができませんでした。

Linux初心者としては、たちまち何も出来ない状態に至ってしまったのですが、イレギュラーな対処策を思い付き、ダメモトで試したところ、成功?しました。

Ubuntu 7.40でmake

思いついた対処策は他PCで動作しているUbuntu 7.40でコンパイルし、作成されたファイルをFedora 9にコピーして導入しようという、乱暴なものです。

gogoを実行すると[浮動小数点演算例外です]

Ubuntuでも問題なく導入できていたので、Fedora 9で[# make install]にて問題なく導入。そこで、早速エンコードテストを行ってみたのですが…

$ gogo -b 192 music.wav music.mp3
encode music.wav to music.mp3
GOGO-no-coda ver. 3.13 ( May. 20 2004 ) is a mp3 encoder based on lame 3.88,
which is distributed under LGPL on http://www.mp3dev.org/mp3/ .
See http://member.nifty.ne.jp/~pen/ ,
http://homepage1.nifty.com/herumi/gogo_e.html .
浮動小数点演算例外です

と、エラー表示されてしまいます。

./configureにオプションを追加したところ、成功

このトラブルは、PEN氏のサポート掲示板 > Fedora Core 5 i386 で 浮動小数点例外ですを参考にして、下記手順を試したところ、成功にいたりました。

尚、下記赤字のオプション追加で改善となった理由は解りません(^^;

  1. Ubuntu 7.40で作業
    1. $ cd /petit313/

    2. $ ./configure -enable-debug

    3. $ make

  2. Fedora 9で作業
    1. Ubuntu 7.40で作業した/petit313ディレクトリをコピー

    2. $ cd /petit313/

    3. # make install

エンコードテストは下記の通りです。

$ gogo -b 192 music.wav music.mp3
encode music.wav to music.mp3
GOGO-no-coda ver. 3.13 ( May. 20 2004 ) is a mp3 encoder based on lame 3.88,
which is distributed under LGPL on http://www.mp3dev.org/mp3/ .
See http://member.nifty.ne.jp/~pen/ ,
http://homepage1.nifty.com/herumi/gogo_e.html .
family 6:vendor Intel
extended instruction – MMX EMMX CMOV SSE SSE2 CLFLUSH
enabled extended instruction – MMX EMMX CMOV SSE SSE2 CLFLUSH
MPEG 1 layer III stereo
inp sampling-freq=44.1kHz out sampling-freq=44.1kHz bitrate=192kbps
input file `music.wav’
output file `music.mp3′
{ 8723/ 8723} 100.0% ( 25.01x) re:[00:00:00.00] to:[00:00:09.11]

[3:47]の曲が9秒ほどでエンコード完了しています。速い!!。

Gripのエンコーダ設定変更

エンコーダをlimeからgogoに変更します。

[設定]-[エンコーダ]-[エンコーダ]
-[エンコーダ]-[gogo(lameより変更)]
-[実行形式]-[/usr/local/bin/gogo(gogoのデフォルトママ、インストールディレクトリに同じ)]
-[コマンドライン引数]-[-b %b %w %m(デフォルトママ)]
-[ファイルの拡張子]-[mp3(デフォルトママ)]
-[ファイルの書式]-[~/%x/%A_%d_%t_%n.%x(lame設定時の値を引継ぎ)]

上記を以って、Gripにてgogoによるエンコード成功となりました。

1 comment to Fedora 9にgogo 3.13をインストール

  • seiiti tomizawa

    午後のこーだには二つのソースファイルがあり,それは2004/5/23作成分(このページから参照)と 5/24分です。この二つの違いはtools.cssの圧縮ファイルがあるかないだけの様です。
    が、以下のソース記述を直すと、共にmakeできるのですが、5/23分だけが正常に動きます。
    そして、fftsse.nasというnasmソースの記述が間違いか変更は次のように
    なっているようです。こう書くのは色々調べた結果だけのためです。
       (asemblerがわからないのにすいません)

     petit313/engine/i386/fftsse.nasのなかの浮動小数点記述の

     contrib dd 9.xxxxxxxxxe-01F,……….01F,xxxxxxxx,
    dd xxxxxxxxe-02F,xxxxxxxxe-02F,xxxxxxxxx,

    となっている e-01F,e-02F,e-03Fから”F”だけを削除します。
    本来e-01はe-1でもいいはずなのですが….(事実makeできます)。
    後、ソースの書き方には書く位置が決まっているようですのでその他の
    修正しないでください。make できても動かすと浮動小数点例外のエラーになります。私は文字位置を1文字ずらして見栄えをよくしようとしたんですが….

    ソースから作成というのは非常に辛いですね、今回のように大きなエラーの表記がないのに動かない、ソースの違いはが分からない。なぜなんだろう
    ? と

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>