上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- / Top↑
waveファイルなどを連結する他、多彩な目的で使えるコマンドラインツールです。
最近waveファイルを弄って楽しんでいました。(というか…苦しんでると云うのが実状かも)(^^;) 作業で色々と調べ物をしていると結構余計な?というか付随する関連知識にも触れる機会があります。今回waveファイル関連の情報でSoXという複数形式の音声ファイルの扱いが行えるツールがある事を恥ずかしながら(^^;)初めて知りました。今回はCentOS6.6へのインストールです。

このツールは実際私が望んでいた機能には当てはまらなかったのですが、違う視点から見るとSoXというツールはかなり使えるツールなのかと思いました。SoXは複数形式の音声ファイルを色々とゴニュゴニョできます。(^^;)

SoXはコマンドラインで簡便に使えるツールですし、プレーヤーとしても使えますし、関連作業を行っている人には「使えるんでないかい?」と思えるツールでした。

今回はこちら↓にお世話になりました。ありがとうございました。
waveを連結するコマンドラインツールないかな
(SoX本家サイト)SoX - Sound eXchange | HomePage
SoX, SoXI, soxformat マニュアルページ日本語訳
SoXの基本的な説明

■■■■■■■■■■■■■■■■■
SoX概要(上記、マニュアルページ日本語訳から抜粋)
■■■■■■■■■■■■■■■■■
SoX は広く利用されているほとんどの形式の音声ファイルの読み取りと書き出し, およびオプションでそれらにエフェクトを適用することができる。 複数の入力源の結合や音声合成を行うことができ、また,多くのシステムで,汎用の音楽プレイヤーまたはマルチトラック音声レコーダとして機能する。 入力を複数のファイルに分割して出力する限定的な機能もある。

SoX のすべての機能は sox コマンドで利用できる。 音声の再生と記録を簡略化するため、 SoX が play により起動された場合の出力ファイルは自動的に既定のサウンドデバイスに設定され, rec により起動された場合の入力源には既定のサウンドデバイスが利用される。
---------------------------------
私も今までffmpeg他で多少の音楽ファイル(音系データ)を扱ってきましたが、このツールは結構汎用性が高そうであり、かつ、比較的コマンドも簡易に使えるので重宝しそうです。

■■■■■■■■■■■■■■■■■
<対応フォーマット&ドライバなど>
■■■■■■■■■■■■■■■■■
【AUDIO FILE FORMATS】
8svx aif aifc aiff aiffc al amb au avr caf cdda cdr cvs cvsd dat dvms f4 f8 fap flac fssd gsm hcom htk ima ircam la lpc lpc10 lu mat mat4 mat5 maud nist ogg paf prc pvf raw s1 s2 s3 s4 sb sd2 sds sf sl smp snd sndfile sndr sndt sou sox sph sw txw u1 u2 u3 u4 ub ul uw vms voc vorbis vox w64 wav wavpcm wv wve xa xi
【PLAYLIST FORMATS】
m3u pls
【AUDIO DEVICE DRIVERS】
alsa ao oss ossdsp

ただ、以下の様にパッケージの依存関係を表示してみますと、かなり依存パッケージが有りそうですので環境によっては上記音声ファイル形式が全部扱えるかは分かりませんし、optionalとなっている形式もあります。私は殆ど検証が出来ていません。実際の所は使ってみるしかなさそうですが著作権に触れないポピュラーな形式ならば問題なさそうです。

【注】
tar ballからのインストールや必要パッケージをアドオンして環境を整えてやると以下の範囲まで対応できるようです。(yumインストール版では全部は扱えません)
【SOX FORMATS & DEVICE DRIVERS】
.raw, .f4, .f8, .s1, .s2, .s3, .s4, .u1, .u2, .u3, .u4, .ul, .al, .lu, .la, .sb, .sw, .ub, .uw, .8svx, .aiff, .aif, .aiffc, .aifc, .aiffc, .aifc, alsa (optional), .amb, .amr-nb (optional), .amr-wb (optional), ao (optional), .au, .snd, .avr, .caf (optional), .cdda, .cdr, coreaudio (optional), .cvsd, .cvs, .cvu, .dat , .dvms, .vms, .fap (optional), ffmpeg (optional), .flac (optional), .fssd, .gsm (optional), .hcom, .htk, .ircam, .ima, .lpc, .lpc10, .mat, .mat4, .mat5 (optional), .m3u, .maud, .mp3, .mp2 (optional read, optional write), .mp4, .m4a (optional), .nist, .ogg, .vorbis (optional), oss (optional), .paf, .fap (optional), .pls, .prc, .pvf (optional), .sd2 (optional), .sds (optional), .sf, .sph, .nist, .smp, .snd, sndfile (optional), .sndr, .sndt, .sou, .sox, sunau (optional), .txw, .vms, .voc, .vorbis, .vox, .w64 (optional), .wav, .wavpcm, .wv (optional), .wve, .xa, .xi,


$ yum deplist sox
読み込んだプラグイン:fastestmirror, priorities, refresh-packagekit, security
依存性の検索中:
(メッセージ省略)
パッケージ  : sox.i686 14.2.0-6.el6
 依存性  : libasound.so.2
 provider : alsa-lib.i686 1.0.22-3.el6
 依存性  : libltdl.so.7
 provider : libtool-ltdl.i686 2.2.6-15.5.el6
 依存性  : libvorbis.so.0
 provider : libvorbis.i686 1:1.2.3-4.el6_2.1
 依存性  : libpng12.so.0
 provider : libpng.i686 2:1.2.49-1.el6_2
 依存性  : libasound.so.2(ALSA_0.9.0rc4)
 provider : alsa-lib.i686 1.0.22-3.el6
 依存性  : libpng12.so.0(PNG12_0)
 provider : libpng.i686 2:1.2.49-1.el6_2
 依存性  : libwavpack.so.1
 provider : wavpack.i686 4.60-1.1.el6
 依存性  : libvorbisenc.so.2
 provider : libvorbis.i686 1:1.2.3-4.el6_2.1
 依存性  : /sbin/ldconfig
 provider : glibc.x86_64 2.12-1.149.el6
 provider : glibc.i686 2.12-1.149.el6
 provider : glibc.i686 2.12-1.149.el6_6.4
 provider : glibc.x86_64 2.12-1.149.el6_6.4
 依存性  : libsndfile.so.1(libsndfile.so.1.0)
 provider : libsndfile.i686 1.0.20-5.el6
 依存性  : libsamplerate.so.0(libsamplerate.so.0.0)
 provider : libsamplerate.i686 0.1.7-2.1.el6
 依存性  : libsamplerate.so.0
 provider : libsamplerate.i686 0.1.7-2.1.el6
 依存性  : libc.so.6(GLIBC_2.7)
 provider : glibc.i686 2.12-1.149.el6
 provider : glibc.i686 2.12-1.149.el6_6.4
 依存性  : libgsm.so.1
 provider : gsm.i686 1.0.13-4.el6
 依存性  : libz.so.1
 provider : zlib.i686 1.2.3-29.el6
 依存性  : libm.so.6
 provider : glibc.i686 2.12-1.149.el6
 provider : glibc.i686 2.12-1.149.el6_6.4
 依存性  : libogg.so.0
 provider : libogg.i686 2:1.1.4-2.1.el6
 依存性  : rtld(GNU_HASH)
 provider : glibc.x86_64 2.12-1.149.el6
 provider : glibc.i686 2.12-1.149.el6
 provider : glibc.i686 2.12-1.149.el6_6.4
 provider : glibc.x86_64 2.12-1.149.el6_6.4
 依存性  : libao.so.2
 provider : libao.i686 0.8.8-7.1.el6
 依存性  : libasound.so.2(ALSA_0.9)
 provider : alsa-lib.i686 1.0.22-3.el6
 依存性  : libvorbisfile.so.3
 provider : libvorbis.i686 1:1.2.3-4.el6_2.1
 依存性  : libsndfile.so.1
 provider : libsndfile.i686 1.0.20-5.el6
 依存性  : libFLAC.so.8
 provider : flac.i686 1.2.1-6.1.el6
 依存性  : libm.so.6(GLIBC_2.0)
 provider : glibc.i686 2.12-1.149.el6
 provider : glibc.i686 2.12-1.149.el6_6.4
 依存性  : libm.so.6(GLIBC_2.1)
 provider : glibc.i686 2.12-1.149.el6
 provider : glibc.i686 2.12-1.149.el6_6.4
パッケージ  : sox.x86_64 14.2.0-6.el6
 依存性  : libFLAC.so.8()(64bit)
 provider : flac.x86_64 1.2.1-6.1.el6
 依存性  : libvorbisfile.so.3()(64bit)
 provider : libvorbis.x86_64 1:1.2.3-4.el6_2.1
 依存性  : libpng12.so.0()(64bit)
 provider : libpng.x86_64 2:1.2.49-1.el6_2
 依存性  : libao.so.2()(64bit)
 provider : libao.x86_64 0.8.8-7.1.el6
 依存性  : /sbin/ldconfig
 provider : glibc.x86_64 2.12-1.149.el6
 provider : glibc.i686 2.12-1.149.el6
 provider : glibc.i686 2.12-1.149.el6_6.4
 provider : glibc.x86_64 2.12-1.149.el6_6.4
 依存性  : libm.so.6(GLIBC_2.2.5)(64bit)
 provider : glibc.x86_64 2.12-1.149.el6
 provider : glibc.x86_64 2.12-1.149.el6_6.4
 依存性  : libgsm.so.1()(64bit)
 provider : gsm.x86_64 1.0.13-4.el6
 依存性  : libvorbisenc.so.2()(64bit)
 provider : libvorbis.x86_64 1:1.2.3-4.el6_2.1
 依存性  : libpng12.so.0(PNG12_0)(64bit)
 provider : libpng.x86_64 2:1.2.49-1.el6_2
 依存性  : libsndfile.so.1()(64bit)
 provider : libsndfile.x86_64 1.0.20-5.el6
 依存性  : libsndfile.so.1(libsndfile.so.1.0)(64bit)
 provider : libsndfile.x86_64 1.0.20-5.el6
 依存性  : libm.so.6()(64bit)
 provider : glibc.x86_64 2.12-1.149.el6
 provider : glibc.x86_64 2.12-1.149.el6_6.4
 依存性  : libasound.so.2(ALSA_0.9.0rc4)(64bit)
 provider : alsa-lib.x86_64 1.0.22-3.el6
 依存性  : libwavpack.so.1()(64bit)
 provider : wavpack.x86_64 4.60-1.1.el6
 依存性  : libc.so.6(GLIBC_2.7)(64bit)
 provider : glibc.x86_64 2.12-1.149.el6
 provider : glibc.x86_64 2.12-1.149.el6_6.4
 依存性  : rtld(GNU_HASH)
 provider : glibc.x86_64 2.12-1.149.el6
 provider : glibc.i686 2.12-1.149.el6
 provider : glibc.i686 2.12-1.149.el6_6.4
 provider : glibc.x86_64 2.12-1.149.el6_6.4
 依存性  : libz.so.1()(64bit)
 provider : zlib.x86_64 1.2.3-29.el6
 依存性  : libsamplerate.so.0(libsamplerate.so.0.0)(64bit)
 provider : libsamplerate.x86_64 0.1.7-2.1.el6
 依存性  : libasound.so.2(ALSA_0.9)(64bit)
 provider : alsa-lib.x86_64 1.0.22-3.el6
 依存性  : libogg.so.0()(64bit)
 provider : libogg.x86_64 2:1.1.4-2.1.el6
 依存性  : libltdl.so.7()(64bit)
 provider : yaf.x86_64 1.3.2-1.el6.rf
 provider : libtool-ltdl.x86_64 2.2.6-15.5.el6
 依存性  : libvorbis.so.0()(64bit)
 provider : libvorbis.x86_64 1:1.2.3-4.el6_2.1
 依存性  : libasound.so.2()(64bit)
 provider : alsa-lib.x86_64 1.0.22-3.el6
 依存性  : libsamplerate.so.0()(64bit)
 provider : libsamplerate.x86_64 0.1.7-2.1.el6
$

(お断り)
・以降の全てのGNOME端末メッセージではブログ表示の都合上、
 横幅を詰めて表示している箇所があります。
 (ブランクが詰まって表示される箇所もあるかも)
・以降に掲載の/home/k/は私のPC環境でのホームフォルダです。
・以下のコマンドでの #マークは事前にrootでログインしておく必要があります。
 (suあるいはsudoコマンド)
・以下ではコマンドによってネット接続が必要です。


■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
SoXのインストール
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
事前確認
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
$ yum info sox
読み込んだプラグイン:fastestmirror, priorities, refresh-packagekit, security
Loading mirror speeds from cached hostfile
epel/metalink                | 5.1 kB  00:00
 * base: mirror.fairway.ne.jp
 * epel: mirror01.idc.hinet.net
 * extras: mirror.fairway.ne.jp
 * rpmforge: mirror.fairway.ne.jp
 * updates: ftp.stu.edu.tw
adobe-linux-x86_64              | 951 B  00:00
adobe-linux-x86_64                             2/2
base                       | 3.7 kB  00:00
epel                      | 4.4 kB  00:00
extras                     | 3.4 kB  00:00
rpmforge                    | 1.9 kB  00:00
Not using downloaded repomd.xml because it is older than what we have:
Current : Fri Jul 11 10:46:59 2014
Downloaded: Wed Jul 25 10:43:04 2012
updates                     | 3.4 kB  00:00
updates/primary_db               | 1.5 MB  00:01
利用可能なパッケージ
名前        : sox
アーキテクチャ   : i686
バージョン     : 14.2.0
リリース      : 6.el6
容量        : 367 k
リポジトリー    : base
要約        : A general purpose sound file conversion tool
URL          : http://sox.sourceforge.net/
ライセンス     : GPLv2+ and LGPLv2+
説明        : SoX (Sound eXchange) is a sound file format converter SoX can convert
           : between many different digitized sound formats and perform simple
           : sound manipulation functions, including sound effects.

名前        : sox
アーキテクチャ   : x86_64
バージョン     : 14.2.0
リリース      : 6.el6
容量        : 376 k
リポジトリー    : base
要約        : A general purpose sound file conversion tool
URL          : http://sox.sourceforge.net/
ライセンス     : GPLv2+ and LGPLv2+
説明        : SoX (Sound eXchange) is a sound file format converter SoX can convert
           : between many different digitized sound formats and perform simple
           : sound manipulation functions, including sound effects.
$


■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
インストール
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
インストールはyumなので安心です。yum処理途中にはインストール最終確認の為の「y」入力があります。(インストールを止める場合は「n」を入力)

$ su
パスワード:
# yum install sox
読み込んだプラグイン:fastestmirror, priorities, refresh-packagekit, security
インストール処理の設定をしています
Loading mirror speeds from cached hostfile
 * base: ftp.tsukuba.wide.ad.jp
 * epel: mirror.premi.st
 * extras: ftp.tsukuba.wide.ad.jp
 * rpmforge: mirror.fairway.ne.jp
 * updates: centosd6.centos.org
adobe-linux-x86_64                 | 951 B  00:00
base                         | 3.7 kB  00:00
extras                        | 3.4 kB  00:00
rpmforge                       | 1.9 kB  00:00
Not using downloaded repomd.xml because it is older than what we have:
Current : Fri Jul 11 10:46:59 2014
Downloaded: Wed Jul 25 10:43:04 2012
updates                       | 3.4 kB  00:00
updates/primary_db                 | 1.5 MB 00:01
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package sox.x86_64 0:14.2.0-6.el6 will be インストール
--> 依存性解決を終了しました。

依存性を解決しました

===================================================
 パッケージ アーキテクチャ バージョン   リポジトリー  容量
===================================================
インストールしています:
 sox    x86_64    14.2.0-6.el6  base     376 k

トランザクションの要約
===================================================
インストール 1 パッケージ

総ダウンロード容量: 376 k
インストール済み容量: 1.1 M
これでいいですか? [y/N]y            <----ここで y を入力
パッケージをダウンロードしています:
sox-14.2.0-6.el6.x86_64.rpm       | 376 kB  00:00
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
 インストールしています : sox-14.2.0-6.el6.x86_64      1/1
 Verifying       : sox-14.2.0-6.el6.x86_64      1/1

インストール:
 sox.x86_64 0:14.2.0-6.el6

完了しました!
#

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
使ってみる
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■
help(パラメタ)確認
■■■■■■■■■■■■■■■■■
$ which sox
/usr/bin/sox
$ which play
/usr/bin/play
$ which rec
/usr/bin/rec
$ which soxi
/usr/bin/soxi
$

$ sox --help
sox: SoX v14.2.0

Usage summary: [gopts] [[fopts] infile]... [fopts] outfile [effect [effopts]]...

SPECIAL FILENAMES (infile, outfile):
-              Pipe/redirect input/output (stdin/stdout); use with -t
-d, --default-device   Use the default audio device (where available)
-n, --null         Use the `null' file handler; e.g. with synth effect
-p, --sox-pipe       Alias for `-t sox -'

SPECIAL FILENAMES (infile only):
"|program [options] ..." Pipe input from external program (where supported)
http://server/file    Use the given URL as input file (where supported)

GLOBAL OPTIONS (gopts) (can be specified at any point before the first effect):
--buffer BYTES      Set the size of all processing buffers (default 8192)
--combine concatenate  Concatenate multiple input files (default for sox, rec)
--combine sequence    Sequence multiple input files (default for play)
--effects-file FILENAME File containing effects and options
-h, --help         Display version number and usage information
--help-effect NAME    Show usage of effect NAME, or NAME=all for all
--help-format NAME    Show info on format NAME, or NAME=all for all
--input-buffer BYTES   Override the input buffer size (default: as --buffer)
--interactive       Prompt to overwrite output file
-m, --combine mix     Mix multiple input files (instead of concatenating)
-M, --combine merge    Merge multiple input files (instead of concatenating)
--plot gnuplot|octave   Generate script to plot response of filter effect
-q, --no-show-progress  Run in quiet mode; opposite of -S
--replay-gain track|album|off Default: off (sox, rec), track (play)
-R              Use default random numbers (same on each run of SoX)
-S, --show-progress    Display progress while processing audio data
--version          Display version number of SoX and exit
-V[LEVEL]          Increment or set verbosity level (default 2); levels:
                1: failure messages
                2: warnings
                3: details of processing
                4-6: increasing levels of debug messages
FORMAT OPTIONS (fopts):
Input file format options need only be supplied for files that are headerless.
Output files will have the same format as the input file where possible and not
overriden by any of various means including providing output format options.

-v|--volume FACTOR    Input file volume adjustment factor (real number)
-t|--type FILETYPE    File type of audio
-s/-u/-f/-U/-A/-i/-a/-g Encoding type=signed-integer/unsigned-integer/floating-
               point/mu-law/a-law/ima-adpcm/ms-adpcm/gsm-full-rate
-e|--encoding ENCODING  Set encoding (ENCODING in above list)
-b|--bits BITS       Encoded sample size in bits
-1/-2/-3/-4/-8       Encoded sample size in bytes
-N|--reverse-nibbles    Encoded nibble-order
-X|--reverse-bits     Encoded bit-order
--endian little|big|swap Encoded byte-order; swap means opposite to default
-L/-B/-x          Short options for the above
-c|--channels CHANNELS  Number of channels of audio data; e.g. 2 = stereo
-r|--rate RATE       Sample rate of audio
-C|--compression FACTOR Compression factor for output format
--add-comment TEXT    Append output file comment
--comment TEXT      Specify comment text for the output file
--comment-file FILENAME File containing comment text for the output file

AUDIO FILE FORMATS: 8svx aif aifc aiff aiffc al amb au avr caf cdda cdr cvs cvsd dat dvms f4 f8 fap flac fssd gsm hcom htk ima ircam la lpc lpc10 lu mat mat4 mat5 maud nist ogg paf prc pvf raw s1 s2 s3 s4 sb sd2 sds sf sl smp snd sndfile sndr sndt sou sox sph sw txw u1 u2 u3 u4 ub ul uw vms voc vorbis vox w64 wav wavpcm wv wve xa xi
PLAYLIST FORMATS: m3u pls
AUDIO DEVICE DRIVERS: alsa ao oss ossdsp

EFFECTS: allpass band bandpass bandreject bass bend chorus compand contrast dcshift deemph delay dither earwax echo echos equalizer fade filter flanger gain highpass ladspa loudness lowpass mcompand mixer noiseprof noisered norm oops pad phaser pitch rate remix repeat reverb reverse riaa silence spectrogram speed splice stat stretch swap synth tempo treble tremolo trim vol

EFFECT OPTIONS (effopts): effect dependent; see --help-effect
$

■■■■■■■■■■■■■■■■■
実際の使用
■■■■■■■■■■■■■■■■■
(お断り)ファイル名等はマスクしています。

とりあえずやってみました。

■チャネル数、サンプルレート、ビットレート、ファイルのサイズ、長さ、エンコード、 コメント等の表示
$ soxi X.wav
Input File   : 'X.wav'
Channels    : 1
Sample Rate  : 44100
Precision   : 16-bit
Duration    : 00:00:00.81 = 35517 samples = 60.4031 CDDA sectors
Sample Encoding: 16-bit Signed Integer PCM
■チャネル数、サンプルレート、ビットレート、ファイルのサイズ、長さ、エンコード、 コメント等の表示
$ soxi Y.wav
Input File   : 'Y.wav'
Channels    : 1
Sample Rate  : 44100
Precision    : 16-bit
Duration    : 00:00:00.44 = 19585 samples = 33.3078 CDDA sectors
Sample Encoding: 16-bit Signed Integer PCM

■waveファイルの連結
$ sox X.wav Y.wav out.wav

■ファイルを再生
$ play out.wav
out.wav:
 Encoding: Signed PCM
 Channels: 1 @ 16-bit
Samplerate: 44100Hz
Replaygain: off
 Duration: 00:00:01.25

In:100% 00:00:01.25 [00:00:00.00] Out:55.1k [  |  ]   Clip:0
Done.
$
これは結果を聞いて確認しました。

-----------------------------------
連結時のサンプルレート違い
-----------------------------------
ちなみにサンプルレートが違うと連結できないようです…。(考えてみれば当然か?)
■チャネル数、サンプルレート、ビットレート、ファイルのサイズ、長さ、エンコード、 コメント等の表示
$ soxi k.wav
Input File   : 'k.wav'
Channels    : 1
Sample Rate  : 22050
Precision   : 16-bit
Duration    : 00:00:00.88 = 19456 samples ~ 66.1769 CDDA sectors
Sample Encoding: 16-bit Signed Integer PCM

■チャネル数、サンプルレート、ビットレート、ファイルのサイズ、長さ、エンコード、 コメント等の表示
$ soxi y.wav
Input File   : 'y.wav'
Channels    : 1
Sample Rate  : 44100
Precision   : 16-bit
Duration    : 00:00:01.44 = 63616 samples = 108.19 CDDA sectors
Sample Encoding: 16-bit Signed Integer PCM

■waveファイルの連結
$ sox k.wav y.wav z.wav
sox sox: Input files must have the same sample-rate
サンプルレートが違います!と怒られました…。

■これは~~decrease volume?などと?で聞かれましたがサンプルレートを合わせて。(変換して)
$ sox k.wav k2.wav rate 44100
sox effects: rate clipped 45 samples; decrease volume?
sox sox: k2.wav: output clipped 18 samples; decrease volume?

■waveファイルの連結
$ sox k2.wav y.wav z.wav

■ファイルを再生
$ play z.wav

z.wav:

 Encoding: Signed PCM
 Channels: 1 @ 16-bit
Samplerate: 44100Hz
Replaygain: off
 Duration: 00:00:02.32

In:100% 00:00:02.32 [00:00:00.00] Out:103k [  |  ] Hd:0.0 Clip:0
Done.

特段の劣化もなくできました。(音も聴いて確認)

-----------------------------------
そのままの環境でMP3変換
-----------------------------------
$ sox _y.wav y.mp3
sox formats: no handler for file extension `mp3'
soXインストール環境そのままの環境ではこの形式ではmp3'変換できない。

$ sox _k.wav _y.wav && lame -b 128 _k.wav y.mp3
LAME 3.99.5 64bits (http://lame.sf.net)
polyphase lowpass filter disabled
Encoding _k.wav to y.mp3
Encoding as 22.05 kHz single-ch MPEG-2 Layer III (2.8x) 128 kbps qval=3
  Frame    | CPU time/estim | REAL time/estim | play/CPU | ETA
  36/36 (100%)|   0:00/ 0:00|   0:00/  0:00| 94.041x| 0:00
----------------------------------------------------------------------------------------
kbps mono % long switch short %
128.0 100.0 69.4 16.7 13.9
Writing LAME Tag...done
ReplayGain: -8.9dB
$
soXをインストールしただけの環境そのままでは何か他のデータと抱き合わせしなければmp3変換ができないようです。
(お断り)
私の環境はlame他以下のパッケージインストール済みです。
$ rpm -q lame
lame-3.99.5-1.el6.rf.x86_64
$ rpm -q libmad
libmad-0.15.1b-4.el6.rf.x86_64
$ rpm -q libid3tag
libid3tag-0.15.1b-11.el6.x86_64


■■■■■■■■■■■■■■■■■
とりあえず必要そうなコマンド例など
■■■■■■■■■■■■■■■■■
(注)
複数入力が有る変換時には処理がエラー無く終わっても念のため変換後の音を必ずチェックしておいた方がよいようです。入力ファイルのチャネル数・サンプルレート・ビットレートなどの諸設定が揃っていないと酷いノイズ交じりになったり音が劣化している場合があります。

■チャネル数、サンプルレート、ビットレート、ファイルのサイズ、長さ、エンコード、 コメント等の表示
$ soxi k.wav

■waveファイルの連結
$ sox X.wav Y.wav out.wav

■mp3変換
$ sox _k.wav _y.wav && lame -b 128 _k.wav y.mp3
soXをインストールしただけの環境そのままでは何か他のデータと
抱き合わせしなければmp3変換ができない。(lame必須)

■ファイルを再生
$ play out.wav

■サンプルレートの変換
$ sox k.wav k2.wav rate 44100

■デフォルト録音デバイスからの録音
$ rec x.wav
(終了は[Ctrl+z]で抜けます)
取り敢えず試してみましたが、聴いてみると音が無い?そういえば…(^^;)と気付いたら私のPC本体にはMicが付いてないのでした…、ライン入力はあるのですが私はマイクデバイスを持ってないので結果的に未検証でした。(入力設定もありそうですが、でも音源があれば簡単に録音できそう)

■音量を上げる
$ sox Z.wav _Z.wav vol 3
$ sox Z.wav _Z.wav norm
(normは正規化:上げたり抑えたりして、一定に出来る)

■1秒の無音の音を作成
<1チャネル>
$ sox -n -r 44100 -c 1 silence.wav trim 0.0 1.0
<2チャネル(stereo)>
$ sox -n -r 44100 -c 2 silence.wav trim 0.0 1.0
   -n, --null Use the `null' file handler; e.g. with synth effect
   -c|--channels CHANNELS Number of channels of audio data; e.g. 2 = stereo

■ビット変換
$ sox A.wav -b 16 _A.wav

■開始0秒目から3.3秒の音声を切り取りb.wavへ出力
$ sox a.wav b.wav trim 0 3.3

■音程を上げる ピッチを100セント上げる。(100セントは半音)
sox x.wav y.wav pitch 100
■音程を下げる ピッチを100セント下げる。(100セントは半音)
sox x.wav y.wav pitch -100

■ヘルプ
$ sox --help
$ sox --rec
$ sox --soxi

■マニュアル
$ man sox
$ man soxformat
$ man soxi
(マニュアル表示モードから戻るには[Ctrl]+[z])

■本家ドキュメント
SoX - Sound eXchange | Documentation


■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
最後に
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■SoXというツールはその道では有名なのでしょうか。恥ずかしながら今まで私はその存在すら知りませんでした。現時点では取り敢えずの使い方しか出来ていませんが、私は若しかしたら以後結構お世話になるツールなのかもしれません。

インストール後、まだwaveファイルの連結程度しか運用していませんが、かなりアッサリと実行できてしまいビックリな使用感でした。SoXは多才なツールのようです。私はこれから色々な使い方を勉強しなければいけないのかもしれません。(^^;)

■MP3変換
soXをインストールしただけの環境そのままでは何か他のデータと抱き合わせをしなければmp3変換ができないようです。
これを以下のようなコマンド形式↓
$ sox y.wav y.mp3
で行えるようにしたいのですが、調べてみたらtar ballからのコンパイルになりそうなので一旦止めました。mp3を頻繁に変換するようならば上記コマンド形式は必要なのですが今の所、頻度が低いので現在作業するか考え中~で、今後必要になった時に作業することにしました。(^^;) 他の形式は試していませんが著作権回避されている形式はMP3と同様なのかもしれません。

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
当作業の実行環境
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
◆オペレーティングシステム:CentOS release 6.6(Final)(64bit)
 Kernel Version  :2.6.32-504.1.3.el6.x86_64
 GNOMEバージョン  :2.28.2
◆SoX v14.2.0
 (最新版は SoX 14.4.1 のようです)

--- 以上 ---
2015.01.18 / Top↑
Secret(管理者にだけ表示を許可する)


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。