OS X Mavericks無料ダウンロードを記念してafplay.plを見直してみた。 なにゆえに無料なのかわからんが、小生はSnow LeopardのDVDを購入しておいたので、HDDを増設してインストールしてMavericksにヴァージョンアップしてみた。まあ、レオパードと驚く程の違いはなさそうなのですぐに使う事はないと思う。 afplay.plは、下記のテキストをテキストファイルとして afplay.pl の名前(変えてもいい)で保存してユーザフォルダの自分のフォルダに置く事で、コンソール画面からコマンド mac:~ yourname$ perl afplay.pl -def -max=100 -alist -list などと入力して、音楽ファイルをafplayで連続再生できるスクリプトである。 afplay は、ウィンドウズマシンでいうところのASIOやらWASAPIに相当する高音質再生であるらしい。理屈は小生にはよくわからんのでググっていただけばいろいろと紹介されている。 オプション -def で $defaulturls = "ここにURLを設定"; に設定したフォルダ内の音楽ファイルを探してランダム演奏する。音楽ファイルのURLはコンソール画面に音楽ファイルをドラッグ&ドロップすると表示される。フォルダを指定しない場合は、afplay.plスクリプトのあるフォルダ内の曲を探して再生する。 一曲ずつ選択して聴くのであれば、コンソール画面に afplay "musikufile/music.aif" などと入力して直接afplayで再生できる。"musikufile/music.aif"の部分は afplay と打ち込んだ後ろに音楽ファイルをドロップすればOKである。 4月14日 藤井サンからコメントを頂いていたので、見直したところ再生リストの表示が再生数のマックスを反映していなかったので修正しました。まだ不備なりご要望がありましたらコメントでお知らせください。 ランダム再生もあやしかったので、かなり書き直してチェックしました。ついでにこちらに使い方もアップした。 ## afplay.pl #####################################ここから #!/usr/bin/perl ## -def オプションで再生したいフォルダー。 $defaulturl = ""; ## 追加フォルダー。ここに書き込んだフォルダー内の該当音楽ファイルは必ず再生されます。 $defaulturls = ""; $max = 0; #再生曲数 0で無制限 @type = (".aif",".wav",".aiff",".wave"); $dir = "./"; $udir = "0"; $list = 0; $alist = 0; $noran = 0; $down = 0; if ($ARGV[0]){ foreach $_ (@ARGV){ if($_ =~ /\-aif/i){@type = (".aif", ".aiff");} if($_ =~ /\-wav/i){@type = (".wav",".wave");} if($_ =~ /\-mp3/i){@type = (".mp3");} if($_ =~ /\-all/i){@type = (".aif", ".aiff",".wav",".wave",".mp3");} if($_ =~ /\-dir\=/i){ $_ =~ s/\-dir\=//; $dir = $_; $udir = 8; } if($_ =~ /\-max\=/i){$_ =~ s/\-max\=//; $max = $_;} if($_ =~ /\-def/i){$dir = "$defaulturl"; $udir = 88;} if($_ =~ /\-list/i){$list = 8;} if($_ =~ /\-alist/i){$alist = 8;} if($_ =~ /\-noran/i){$noran = 8;} if($_ =~ /\-down/i){$down = 8;} } } else{ $dir = "./"; @type = (".aif",".wav",".aiff",".wave",".mp3"); } &getlist($dir); if($defaulturls ne ""){&getlist($defaulturls);} print "\n********************************************\n"; print "afplay.pl は afplay でのランダム演奏用です。\n"; print "ex: perl afplay.pl -alist -list -dir=./sound\n"; print "------------------------------------------------\n"; print "-aif (AIFのみ演奏)\n"; print "-wav (WAVのみ演奏)\n"; print "-mp3 (MP3のみ演奏)\n"; print "-all (AIF・WAV・MP3を演奏)\n"; print "無指定の場合、AIFとWAVを再生します\n"; print "-def (設定したデフォルト\"" . $defaulturl . "\"を再生)\n"; print "-alist (再生一覧リストを表示)\n"; print "-list (再生リストを表示)\n"; print "-noran (ランダム再生しない)\n"; print "-down (逆順に再生)\n"; print "-dir=URL (URLのフォルダー内を演奏)\n"; print "-max=数字 (最大演奏回数、無指定で無制限)\n"; print "演奏中 次の局 Ctrl + C\n"; print "演奏中 中止 Ctrl + Z\n\n"; if($noran){@new = @files; print "\**NORANDOM**\n\n";} elsif($down){@new = sort {$b cmp $a} @files; print "\**DOWN**\n\n";} else{ foreach (@files){ my $r = rand @new+1; push(@new, $new[$r]); $new[$r] = $_; } print "\**RANDOM**\n\n"; } if($alist){ $listii = 0; print "再生予定リスト\n------------------------------------------------\n"; foreach (@new){$listii ++;print "**$listii** $_\n"; if($listii == $max){last;}} print "------------------------------------------------\n\n\n"; } $listi = 0; foreach (@new){ $listi ++; $lists = " \"$_\""; if($list){print "NowPlay**$listi**$lists\n";} if($list){print "------------------------------------------------\n\n";} #if($lists){system("afplay $lists");} if($lists){system("afplay -q 1 $lists");} else{print "--NoFile--\n\n";} if($listi == $max){last;} } exit; #----------------------------------------------------------------------- sub getlist{ my $ndir = $_[0]; my @get; opendir(IN,$ndir) or die "opendir $dir エラー : $!"; @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";} #print "$nndir\n";#TEST用 if(-d $nndir){&getlist($nndir);} } } ################################################# ここまで
by digressive
| 2013-12-26 22:14
| プアオーディオ
|
Comments(2)
maxで設定した曲数が反映されないのですが、どうしたらよいですか。
0
Commented
by
digressive at 2014-04-15 00:49
藤井様、再生一覧がおかしかったので修正しました。お知らせいただき、ありがとうございました。
|
カテゴリ
全体熟年マカー失業録 DTPに花束を すみません、取り乱しました。 マカーはケチだから Ubuntu プアオーディオ ペンタブしよう non6 nuseum リンク
ホームページ作成 WEBデザイン(Perl PHP MySQL) グラフィックデザイン CI 各種印刷物 広告 SP はじめました。 ■□■□■□ RandomReading《読書記録》 通勤電車が私の書斎さ。 ■□■□■□ WEBカラーネーム WEBカラーチャート 植草一秀の『知られざる真実』 頑張れミラーマン 世に倦む日々 無料版です 天木直人.com 多少偏向していそうだが、 文春よりは参考になる きっこのブログ 謎のブログ、リンクしていいのかな? とりまきメモ ブログというより、日記帳ですね。 LINK MEMO 小生の勝手なリンク集 pixiv お気に入りブログ
世に倦む日日絵と音楽のコラボレーショ... ライフログ
検索
タグ
フルレンジ
raspberry pi
ヘッドホン
真空管アンプ
KOBE
bluetooth
iPhone-color
iPhone
ハードオフ
raspbian
アルニコ
ヘッドホンアンプ
パワーアンプ
フォノイコライザー
ヘッドホン自作
HOLGA-color
i2s
Raspberry Pi
ランダム再生
オペアンプ
学研
インターネットラジオ
木製ヘッドホン
ハイレゾ
HyCAA
Bluetooth
USB DAC
volumio2
YDA138
volumio
小金井市
aplay
新年
infinite painter
6j1
ラジオ
自作
ダイソー
raspberry pi 3
usb dac
Raspbian
yda138
ポートアイランド
改造
アンプ
cdプレーヤー
se-u33g
カーオーディオ
ES9018K2M
dac
山水
mac mini
Hex3653
ta2020
マイナンバー
マイナンバーカード
ubuntu mate
TVTest
サブウーファー
TvRock
真空管
神戸
モノラルアンプ
ES9023
windows10
fostex
google home mini
スピーカー
大人の科学
きのこ帝国
NFJ
SQ5
電解コンデンサー
ht82v739
レコードプレーヤー
applepencil
USBダック
SSD
HOLGA
4B-1B
イヤホン
バランス出力
radiko
Volumio2
javascript
TDA2822M
PCスピーカー
PC自作
PD2506Q
Perl/TK
Photoshop
REIYIN DA-DD
RIAA
Radiko
Raspberry
Raspberry Pi 4
RockBox
Rspbian
SD カード
SDGs
ブログパーツ
| |||||||||||||||||||||||||||||||||||||||||||||||||
ファン申請 |
||