人気ブログランキング | 話題のタグを見る
WAVE AIFF の一括圧縮変換
WAVE AIFF の一括圧縮変換_f0021035_23155984.jpg
linux にはたいてい標準で SoundConverter という、音楽ファイルの保存形式を変換できるアプリがあるのだが、konalinuxで使おうとしたら、なぜか動かなかった。まあ、Kona には何か事情があるのか、小生の管理が悪いからかはわからないが、いずれにしても困ったので、WAVEやAIFFをMP3やFLACに一括変換する簡単で適当なスクリプトを書いた。まあ、目的は達した。

好きな名前で保存して拡張子.pl として実行権限をあたえれば使える。


##############################################ここから

#!/usr/bin/perl

$dir = "./"; #オプションで指定がなければスクリプトと同じ場所を変換
$outdir = "./"; #オプションで指定がなければ変換前ファイルと同じ場所に変換保存
$outcom = 0; #オプションで指定がなければMP3に変換
$bl = "256k"; #オプションで指定がなければビットレートは256k
@type = (".wav",".wave",".aif",".aiff"); #オプションで指定がなければWAVEとAIFFを両方変換
$udir = "0";
$fi = 0;


if ($ARGV[0]){
foreach $_ (@ARGV){

if($_ =~ /\-dir\=/i){
$_ =~ s/\-dir\=//; $dir = $_;
if($outdir == "./"){$outdir = $_;$outdir =~ s/\/$//i;}
$udir = 8;
}

if($_ =~ /\-outdir\=/i){
$_ =~ s/\-outdir\=//; $outdir = $_;$outdir =~ s/\/$//i;
}

if($_ =~ /\-flac/i){$outcom = 8;}

if($_ =~ /\-aif/i){@type = (".aif",".aiff");}

if($_ =~ /\-wav/i){@type = (".wav",".wave");}

if($_ =~ /\-sl\=/i){
$_ =~ s/\-sl\=//; $bl = $_;
}

}
}
else{
print "オプションがないい場合は、同じフォルダ内で変換保存しています。\n";
}



&getlist($dir);


print "\n********************************************\n";
print "このスクリプト.plはffmpegでCDからのWAVEとAIFFを\n";
print "MP3(FLAC)に一括変換します。\n";
print "ex: perl 付けた名前.pl -dir=一括変換したい場所のURL -outdir=保存先のURL\n";
print "------------------------------------------------\n";
print "<オプション的な>\n";
print "-dir=変換するサウンドファイルのある場所(省略でスクリプトと同じフォルダー)\n";
print "-outdir=変換したファイルの保存場所(省略で変換するファイルと同じ場所)\n";
print "-bl=128k(MP3の場合のビットレート、省略で256k)\n";
print "(64k 128k 192k 320k など)\n";
print "-wav (WAVEのみ変換)\n";
print "-aif (AIFFのみ変換)\n";
print "------------------------------------------------\n";
print "演奏中 中止 Ctrl + Z\n\n";



foreach (@files){

$outfile = $_;

$lists = " \"$_\"";
$lists =~ s/\._//ig;
$outfile =~ s/.+\///ig;
$outfile =~ s/\..+//ig;
if($outcom == 8){$outfile = $outdir . "/" . $outfile . ".flac";}
else{$outfile = $outdir . "/" . $outfile . ".mp3";}
if($outfile =~ /\/\./){next;}
$fi ++;
$outfile = " \"$outfile\"";

if($lists){

if($outcom == 8){#print "$lists -- $outfile\n"; #動作確認用
system("ffmpeg -i $lists -vn -ar 44100 -ac 2 -acodec flac -f flac $outfile");
}
else{#print "$lists -- $outfile\n"; #動作確認用
system("ffmpeg -i $lists -vn -ac 2 -ar 44100 -ab $bl -acodec libmp3lame -f mp3 $outfile");
}

}
else{print "--NoFile--\n";}
}


print "Change $fi ファイル\n";

exit;
#-----------------------------------------------------------------------

sub getlist{
my $ndir = $_[0];
my @get;

opendir(IN,$ndir) or return;
@get = readdir IN;
closedir(IN);

foreach $files (@get){
next if $files =~ /^\.\.$/;
next if $files =~ /^\.$/;

foreach (@type) {
if($files =~ /$_$/i){
if($ndir =~ /^\.\/.+/i){push @files, "$ndir" . "/$files";}
elsif($udir){$ndir =~ s/\/$//i; push @files, "$ndir" . "/$files";}
else{push @files, "$files";}
}
}


if($ndir =~ /^\.\/.+/i){$nndir = $ndir . "/$files";}
elsif($udir){$ndir =~ s/\/$//i; $nndir = "$ndir" . "/$files";}
else{$nndir = $ndir . "$files";}

if(-d $nndir){&getlist($nndir);}
}

}

############################################ここまで


by digressive | 2022-09-25 14:36 | プアオーディオ | Comments(0)
<< マザボのCPU電源とPCI-E... オペアンプ 音質のブラインドテスト >>




フリーページあります。

non6 museum

non6 tools

non6 memo



人間は、考える足である。
by ラーメン
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
カテゴリ
全体
熟年マカー失業録
DTPに花束を
すみません、取り乱しました。
マカーはケチだから
Ubuntu
プアオーディオ
ペンタブしよう
non6 nuseum
リンク
_f0021035_17382547.gif



ホームページ作成
WEBデザイン(Perl PHP MySQL)
グラフィックデザイン
CI 各種印刷物 広告 SP
はじめました。



NON6 MUSEUM ANEX


■□■□■□




RandomReading《読書記録》
通勤電車が私の書斎さ。
■□■□■□





WEBカラーネーム

WEBカラーチャート

植草一秀の『知られざる真実』
頑張れミラーマン

世に倦む日々
無料版です

天木直人.com
多少偏向していそうだが、
文春よりは参考になる


きっこのブログ
謎のブログ、リンクしていいのかな?

とりまきメモ
ブログというより、日記帳ですね。

LINK MEMO
小生の勝手なリンク集

pixiv

お気に入りブログ
世に倦む日日
絵と音楽のコラボレーショ...
ライフログ
検索
タグ
ブログパーツ
  • 仕様の関係で、右クリックできません。