メモのコツを教えてください!

を使ったのですが

[root@fx8120 192.168.2.7]# sox kazegahuiteiru.mp3 -c 2 -r 44100 -2 kazega.mp3
sox FAIL formats: no handler for file extension `mp3'
[root@fx8120 192.168.2.7]#

とエラーになりました
soxがmp3に対応していなかった様です
どうしたらsoxがmp3に対応できるようになるでしょうか?

A 回答 (2件)

> OSはFedora14です


> fedoraではlibsox-fmt-mp3はないのでだめみたいです

まず、Fedora14に対してどんな操作をしてきたのかの記載がないと、
それはちゃんとやってます。
と言った情報開示がないことです。
質問で、Fedora14の記載もなかったし、他の回答の補足で分かったくらいですから。
一般的なことだけを記載します。

> sox kazegahuiteiru.mp3 -c 2 -r 44100 -2 kazega.mp3
まず、コマンドのフォマットがだめですと言われているのに対し、どう対処したか。
man sox
と入れて、「コマンド説明」を読んでみましたか。

soxコマンド関係のアプリケーションはインストールされていますか。
「ソフトウェアの追加と削除」で、
soxで検索をかけてどの程度インストールされていますか。
mp3で検索をかけてどの程度インストールされていますか。

これら必要なものらしいといったものをインストールしていますか。

当方は、Fedora17のため正確な記載は避けます。
sox
sox-devel
tablib : Audio Meta-Data Library
等が少なくともインストールされている必要があると思いますけど。




りました

この回答への補足

回答ありがとうございます

sox-develはソフト開発用ツールだと思っていたので
sox以外の*-develと同様にインストールはしていませんでしたが
sox-develを今回初めてストールしたました

[root@fx8120 192.168.2.7]# yum list mp3*
読み込んだプラグイン:langpacks, presto, refresh-packagekit
Adding ja_JP to language list
インストール済みパッケージ
mp3gain.x86_64 1.4.6-6.fc11 @rpmfusion-free
[root@fx8120 192.168.2.7]# yum list sox*
読み込んだプラグイン:langpacks, presto, refresh-packagekit
Adding ja_JP to language list
インストール済みパッケージ
sox.x86_64 14.3.2-1.fc14 @updates
sox-devel.x86_64 14.3.2-1.fc14 @updates
利用可能なパッケージ
sox.i686 14.3.2-1.fc14 updates
sox-devel.i686 14.3.2-1.fc14 updates
[root@fx8120 192.168.2.7]# yum list tablib
読み込んだプラグイン:langpacks, presto, refresh-packagekit
Adding ja_JP to language list
エラー: 表示するパッケージはありません
[root@fx8120 192.168.2.7]# sox kazega.mp3 -c 2 -r 44100 -2 kazegax.mp3
sox FAIL formats: no handler for file extension `mp3'
[root@fx8120 192.168.2.7]#

のように検索は質問前に散々やっています
ひょっとしたら最悪soxのソースからのコンパイルをしなければならないのかもしれません

よろしくお願いします

補足日時:2013/01/06 11:30
    • good
    • 0
この回答へのお礼

ソースをDLしてインストールしようとしましたがエラーとなりできませんでした
今回はsoxの使用を断念します
将来またチャレンジするかもしれません

お礼日時:2013/01/10 06:55

そもそも、Linuxのことをまともに理解していないように見えるので


根本的なところを説明しておきます。

Linux系OSやFreeBSDなどのオープンソースのソフトウェアでは
無駄な開発コストを避けることが多く、ライブラリー化されたソフトウェアの共用や
他のソフトウェアを呼び出すといったことが盛んに行われています。

そのため、非常に多くのアプリケーションをインストールしているにも関わらず
5GB程度のHDD消費に収まったりします。
(Windows用ソフトは、プロプライエタリーなものが多く、同じ目的のために
個別に独自開発したソフトが使われることが多く、HDD消費が大きくなりやすくなります)


soxやffmpegのようなソフトは、基本的なソフトウェアの構成があり
それと組み合わせられるライブラリーなどがあります。

最小構成であれば、特定の形式のデータしか扱えないように作り
他のライブラリーも、一部しか利用できない場合があります。

こういったソースコードから、実際の配布されるバイナリパッケージを作る工程は
個々のLinuxディストリビューションが、方針や志向に基づいてそれを行ないます。

そのため、ソフトウェアによっては、Linuxのディストリビューションによって
あるソフトで、ある作業をやるための、最小の手順は一定ではありません。


ですから、必要な情報が揃わなければ、的確な判断はできませんし
そういった事情を理解していれば、あとは、必要な調べ方を学ぶことで
問題を自分で解決することができます。


たとえば、Ubuntu12.04LTSでは、soxはMP3対応でビルドされていて
多分標準でsox本体はインストールされています(うちは、入れた覚えが無いけど入ってた)
あるいは何かの依存関係の都合でインストールされるのですが…
sox自体は、MP3を使うためのパッケージに依存しませんから、MP3非対応状態になっています。

UbuntuなどのDebian GNU/Linux系のディストリビューションであれば
apt-cache search soxでsoxと関係するパッケージが一覧されます。
で、その中にlibsoxで始まるいくつかのパッケージがあるので
dpkg -l libsox*
(先頭部分の後にアスタリスクを付けて指定)を行なうと、該当するパッケージが一覧され
その中でバージョン項が<none>になっているものは、インストールされていません。

その中で、それらしいものを追加インストールすれば
ビルド段階で有効になっている形式は扱えるようになるはずです。


こういったライブラリーパッケージは、ディストリビューションによって
あるいは時期によって、構成やパッケージ名が違うことも多いので
実際に調べてみないとわかりません。

CentOSやFedoraなどでは、Debian系ではないので
操作はいろいろと違いますし、パッケージ構成も違うと考えられます。


なお、LinuxやMacOSXを含むUNIX系のOSでは
音楽データの変換のような作業をroot権限で行なうのは非常識とされます。
操作ミスや、バグによってシステムを破壊するリスクが伴うためです。

また、Ubuntuでは通常rootログインできませんから
使っているのがUbuntuじゃないだろうということはわかりますが
私がRedHat系を久しく扱っていないのであしからず。

この回答への補足

詳しい回答ありがとうございます
OSはFedora14です

よろしくお願いします

補足日時:2013/01/05 21:46
    • good
    • 0
この回答へのお礼

ubuntuでは
sudo apt-get install libsox-fmt-mp3
でよいようですが
fedoraではlibsox-fmt-mp3はないのでだめみたいです

お礼日時:2013/01/06 08:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!