2013年01月03日

soxでカセットテープ音源のスピード調整

ずいぶんと以前、Audacityでカセットの整理で書いたのだが、古いカセットテープの音源は、すべてMP3に落として後生大事にハードディスクに保存している。なつかしいテープばかりだから、捨てる気になれず、手間暇かけてMP3化したわけだ。ところが、この音楽ファイルを聞くことは滅多にない。いろいろと理由はあるのだけれど、最大の問題は再生装置がないことだ。もちろんパソコンで再生することはできるし、MP3プレーヤーで聞くこともできる。けれど、コンポが壊れて以来バックグラウンドミュージックとして部屋で流すのに適した装置がなく、わざわざイヤホンつけてまで聞くのも大層なので、ほとんどオクラ入りになっていた。

実際、最近は音楽を聞くのはほとんどカーステレオに限られてきてしまっている。だから、MP3プレーヤーとFMトランスミッターを組み合わせて車で聞くつもりだった。ところが、これが雑音を拾うばかりでちっとも快適ではない。なんだかなあと思って、それもやめていた。調べてみると軽自動車ではエンジンからトランスミッターまでの距離の関係で雑音を拾うことがあるらしい。どうもそういうレアなケースに遭遇したらしいと、すっかりその方面は諦めていた。

ところが、最近になって妻がMP3プレーヤーの代わりにiPhoneを持ちだしてFMトランスミッターを試してみると、雑音のないクリアな再生音がする。なんのことはない、雑音を拾っていたのはFMトランスミッターではなく安物のMP3プレーヤーだったわけだ。そうとわかったら、やっぱり古い音源も聞きたくなるだろう。

だが、ここで問題が発生した。いや、あらためて発生したというよりも、以前から放置してあった問題がクローズアップされることになった。

カセットテープの走行速度は、ちゃんとした規格が定められている。もしも規格外のスピードで再生したら、音程やテンポが元の音源と狂ってしまう。けれど、実際にはカセットテープの走行速度はデッキやテープレコーダー、ラジカセの機種によって、微妙に異なっている。このことはずいぶんと以前から気づいていた。というのははるか昔、高校入学祝いにカセットデッキを買ってもらったとき(というか、「祝いに買ってやる」というので自分で日本橋に買いに行ったのだけれど)、そのデッキでラジカセ録音のテープを再生すると音程が違うのに気づいたからだ。これは私がギターが趣味で、録音した音源に合わせてギターの練習をしていたからはっきりとわかったのであって、ぼんやり聞いていたのではわからないレベルだっただろう。実際、その後も「デモテープ作ったから練習しておいて」と言われて渡されたテープの再生でフラストレーションを感じたことは何度もあった。

そして、妻と私が過去に何台かのデッキで録音したテープを最終的にMP3化する際に使用したウォークマンタイプのカセットプレーヤーで再生すると、ほとんどのテープで再生速度が数%遅くなる現象が発生した。なかには音程がぴったりのものもあったから、このあたりは相性というか組み合わせの問題だったのだろう。

最初は、「まあいいか、しょせんはカセットテープの音源だし」と思っていたが、この数%の間延びした音は、音楽として楽しむにはちょっとつらいものがある。ようやくちゃんとした環境で古い音源を鑑賞できるようになったのに、どうにも間延び感が気に入らず、結局は聞くのをやめてしまった。

これではあんまりにも情けない。Audacityを使えば再生速度の変更はフィルター一発でできる。もともとMP3への変換ではAudacityを使ったのだからその時点でひと手間かけておけばなんの問題もなかったわけだ。ただ、それをいまからやり直そうと思ったら、いちいちファイルを開き、フィルターをかけ、保存をしなおすという手間をファイルの数だけやらなければならない。テープはA面とB面の2ファイルに分かれているから、約300本のテープで600ファイル以上。これはやっていられない。

こういうバッチ処理は、やはりスクリプトで処理すべきだろう。私は「端末を開いてコマンドを」というCLIがほとんどできないGUI派だけれど、スクリプト処理の威力は知っている。コマンドラインでAudacityが使えればいちいち手作業で変換処理をしなくてもバッチでOKではないかと見当をつけた。

その上でちょっと調べてみると、Audacity並みのパワフルなサウンド処理ができるCLIのソフトでsoXというのがあるのを知った。これはUbuntuのリポジトリにも収録されている。そこで、このsoxをインストールし、端末を開いて
sox 1.mp3 2.mp3 speed 1.04
と入力してみた。ここで1.mp3というのはテスト用のmp3ファイル、2.mp3が出力ファイル、1.04という数字は4%だけスピードを早くするようにという指定である。ところがエラーが出て処理ができない。ちょっと悩んだが、これはリポジトリに収録されているsox用の追加のライブラリをインストールすることで解決した。このコマンドを実行すれば、1.mp3というファイルの再生速度が修正されたファイルが2.mp3として作成される。

さあ、あとはこれをバッチでやればいいんだと思ったものの、方法がわからない。ワイルドカードを使ってみてもうまく行かない。というのは、出力側のファイル名をうまく指定できないからだ。こういうときはシェルスクリプトを書けばいいとは思うのだが、シェルスクリプトの作法は知らない。昨年少しだけPythonを勉強する機会があったのでそれを応用しようかとも思うけれど、正月早々にそんな大層なことをやるのも面倒だ。

そんなことを思いながらさらに調べていたら、こちらにsoxを使ってwav形式のファイルを.cdrという形式に変換するコマンドが掲載されていた。ちなみに.cdrという拡張子のファイルがどういう形式なのかはさっぱりわからないが、この際それはどうでもいい。最終的にこのコマンドを参考にして、次のコマンドでバッチ処理を行った。

$ for i in `ls *.mp3`; do echo -e "$i"; sox $i a/$i.mp3 speed 1.04; echo -e "$i.mp3"; done

これを大量のmp3ファイルがあるディレクトリで端末を開いて実行する。なお、このディレクトリ内に"a"という名前のフォルダを予めつくっておいた。変換後のファイルは、このaフォルダに生成されていく。スクリプトの意味は恥ずかしながらあんまりわからないが、端末に処理済みのファイルの名前が次々に表示されていくところを見ると、「echo」はその指定なのだろう。lsでフォルダ内のファイルの情報を読み取り、それを順次処理していくことになるようだ。最終的にできるファイルは、ファイル名が1.mp3.mp3というぐあいに拡張子がダブってしまう。これをスクリプトで処理しておくのが本当なのだろうけれど、このぐらいのことならxfce4のデフォルトファイルマネージャであるThunar付属のバルクリネームであっという間に処理できる。ちなみに、上記のスクリプトはファイル名にスペースがあるとエラーを起こすので、処理前にファイル名のスペースを別文字に変換しておく前処理が必要になる。この処理にもバルクリネームは使える。なに、Thunarでフォルダを開いておき、ファイルを複数選択してF2を押すだけなので至って簡単。

うまくいかなかったのは、おそらく元ファイルの圧縮率の関係で、変換後のファイルサイズが変換前のおよそ2倍になってしまうこと。圧縮率を変化させるコマンドもsoxにはあるのだけれど、これはどうも使い方がよくわからずに断念した。

本当は、一律4%ではなく、それぞれのファイルごとに微妙に音程は異なるようだ。けれど、そこを突き詰めるよりは、とりあえずこれで快く聞けるようになったのだからよしとしようではないか。

posted by 松本 at 16:14| Comment(12) | TrackBack(0) | Ubuntuのアプリケーション | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
初めまして
http://ubun2.d-lights.jp/article/206395298.html

inkscape関連で検索をしていたらこのホームページにたどり着きました。
助かりました。
 今私はinkscapeでチラシを作っているものです。
inkscapeでチラシを作った後、ハッチング(網掛け、網点)をしたいのですが、それに適したソフトはないか、今探しております。
もしご存知でしたらお教え頂けないでしょうか?
突然のメッセ失礼致しました。
Posted by あや at 2013年01月07日 21:32
あやさん、コメントありがとうございます。Inkscapeは愛用してずいぶん長くなりますが、まだまだ知らない機能が多く、どれだけお役に立てたか…。先日も、ようやく初めてレイヤー機能を使いました。なんでいままで知らなかったんだろうなと不思議なほどでしたが。

網掛けですが、はるか昔、まだMacを使っていた頃は印刷用にいろいろ工夫をしたような気もするのですが、その後は必要もなく、特に思いつくものもありません。ひょっとしたらGimpのブラシかパターンに網点を読みこめば何とかなるのかもしれませんが、さて、具体的な手法となるとよくわかりません。

印刷用の網掛けなら、このあたりが参考になるかもしれません。
http://www.screenprinting-aspa.com/how-to-print-halftones-on-the-cheap/
あるいは、
http://www.linuxtopia.org/online_books/graphics_tools/gimp_user_manual/en/plug-in-newsprint.html

このあたりの記述を見ると、Gimpのフィルタの「変形」に「新聞印刷」とあるのを使うようです。

なにかわかったら、このコメント欄にでもお知らせいただければ幸いです。
Posted by 松本 at 2013年01月08日 05:48
ありがとうございます
 gimpsで新聞印刷をいたしましたところ良い感じに仕上がりました。
完成するまでに、いくつもソフトを使うことになりますが
フリーソフトであり、独占をしない上、いろいろな意味で
inkscapeを私は気に入っています。

有難うございます!
Posted by あや at 2013年01月08日 22:11
あやさん、お役に立てたようでよかったです。Inkscapeはかなり無敵に近いと思っているのですが、ぼかしなど一部のエフェクトがPDFにうまく反映されないのが辛いところです。やっぱりGimpとの組み合わせでいくしかないんでしょうね。
Posted by 松本 at 2013年01月08日 22:50
inkscapeユーザーとしてはこういった活用法を公開したホームページが大変、助かります。!
仕事でイラレ使用使用しなければならないのですが、ただ、印刷会社によってはinkscape対応等もあるようです。inkscapeを広げていき、inkscapeを私なりに応援していきたいなーと思っています。
Posted by あや at 2013年01月11日 19:15
そういえば、以前、Inkscapeの使い方をまとめようと思ってとりあえずPDFの開き方だけこちらに書きましたが、あとは放置したままになっていました。
http://ubuntu.d-lights.jp/application/4graphic/pdf

こういう作業もしていかねば、とか思うのですが、書いてもすぐにアップデートで情報が古くなるので…。
Posted by 松本 at 2013年01月11日 22:13
今仕事でイラレを使い始めたのですが、inkscapeで慣れているとやはりかなり操作が違うことを実感しました。イラレも使いこなしたらすごいことが出来ると思うと使いこなしたいのですが、プライベートでinkscapeを使っていたのですが、ソフトは楽しみながら使うのがいいようですね。プライベートならば時間に追われず、知識も独学で増やせますし、また、知識も好感をしたくなるような気がします。
Posted by あや at 2013年01月17日 16:24
操作性のちがいは、確かにありますね。もっとも私は最近はAdobeのソフトは触っていないので正確なことはいえないのですけれど。ただ、Inkscapeでいろんなことをやっていると、「あの操作はこっちではできないのかな」みたいにして機能を探し出すことができます。どんなソフトでもそうですけれど、やりたいことが明確だと、使い方は案外と簡単に見つかるものです。逆にやりたいことが明確でないと、いつまでたっても手になじまないものですね。私の場合、映像系のソフトがそういう感じかなと…
Posted by 松本 at 2013年01月17日 21:45
映像系のソフトを使用しているのですか?確かに。「inkscapeの網掛け」というキーワードで探し続けた際、網掛けのノウハウ以外にも収集することが出来、且つ、yahoo知恵袋等を拝見しますと、親切な方はプラスアルファの情報等もアップしてくださり、inkscape自体がどのような機能があるのか等もそこで知ることが出来(オブジェクト等も最近活用しようと思いはじめました)こうやって少しずつ、inkscapeの活用性を知っていくのかなと思いました。それが「yahoo知恵袋」等というフリーな環境で出来るゆえにフリーソフトのシェアも広がっていくのかなとも思いつつ。
Posted by あや(木内) at 2013年01月17日 23:37
映像系のソフトといっても、簡単な動画編集ソフトのPiTiViですが、先日もこれで思うような結果が出ず、何回も試行錯誤をしました。ホームビデオですが。最終的にどうにか完成したものの、いったいなにがよかったのか、なにがいけなかったのか、勘所がさっぱりわかりません。画像系ならそこまで意味不明にはならないのですけれど。
Posted by 松本 at 2013年01月18日 21:28
私は今、個人でチラシ作りをしているのですが、gimpsも最近は使用して見ようと思い、使っているのですが、「できるようになる⇒次のステップがしたくなる⇒もっと高機能を使いたくなる・・・最近は、inkscapeのデザイン(チラシデザイン)を考えるために雑誌等や本当を見てアイディアを吸収したほうがもっとスムーズに出来るようになるかなって思いはじめました。松本さんは、趣味等でフリーソフト等は使用しているのですか?
かなりいろいろと使用しているようなので。
Posted by あや at 2013年01月23日 21:56
> 趣味等でフリーソフト等は使用しているのですか?

ブログのサブタイトルにあるように「Ubuntu 100%」で仕事も趣味も、その他の必要なことも、日常のすべてを「フリー」であるUbuntuでやってます(最近は仕事で少しだけWindowsも使いますが)。

個別のアプリの検索で来られたあやさんのような方にはわからないのかもしれませんが(そういう可能性をあんまり考えていませんでしたが)、Ubuntuは「フリーソフト」とはちょっとニュアンスのちがう「オープンソース」のOSです。その上で走るアプリは一部の例外を除いて基本的にはすべてオープンなものです。MacからこのUbuntuに切り替えてもうじき7年になります。その日常を綴ったのがこのブログです。今後もよろしくお願いします。
Posted by 松本 at 2013年01月24日 08:10
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック