バッチスクリプトで音量均一化を自動化する方法は?

このQ&Aのポイント
  • XPを使用している状況で、iPodビデオ作成時の音量の不均一化問題を解決するために、バッチスクリプトで音量の均一化を自動化したいと考えています。
  • 現在、読み込むwavファイルの数が非常に多いため、自動で均一化、変更保存、プログラム終了まで行うバッチスクリプトの作成方法を探しています。
  • 検索してもなかなか情報が見つからず、手動で変換するしか方法がないかと考えています。
回答を見る
  • ベストアンサー

バッチスクリプトについて

現在OSはXPを使用しています。 iPodビデオを作る際、音量がファイル枚に不均一のため、Sound Engine Free ver.2.96bのオートマキシマイズで均一化をしてます。 ちなみに13dBに設定してます。 wavファイルの読み込みでプログラムがwavを読んで波形が出るところまでのスクリプトなら書けるのですが、 変換するファイル数が膨大にあるため、読み込みの後、オートマキシマイズで均一化、変更の保存、プログラム終了まで自動で行うバッチスクリプトが書きたいのですが、検索してもいまいち分かりませんでした。 どなたかご教授願います。 手動でやるしかないなら諦めて1ファイルずつ変換していきます…。

noname#90395
noname#90395

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.4

ハードリンクというのは「既存のファイルに対する別名」です. つまり, 「別名」を作ることで 1つのフォルダにすべてのファイルを集めてしまい, そのフォルダに対して Foler Open などを使ってやろうという趣旨です. 以下, すべてはコマンドプロンプトで実行することになります: [注意] 実際に実行するとファイルを破壊してしまったりするかもしれません. 特に, ハードリンクを作ったり削除したりすることになるので, 「元のファイルが変更できていない」「元のファイルごと削除してしまった」などの問題が発生する可能性は否定できません. あらかじめバックアップをとるなどして「壊れてしまっても大丈夫」という状況にしてから実行することをお勧めします. [注意終わり] まず, for /r d:\ipod %f in (*.wav) do echo %f とやると「d:\ipod 以下にあるすべての wav ファイル」が表示されるはずです. そこで, (fsutil を実行するので管理者権限が必要かもしれません) 以下のコマンドを順次実行します: d: cd \ mkdir hogehoge cd hogehoge cmd /v:on set i=1 for /r d:\ipod %f in (*.wav) do fsutil hardlink create "%f" !i!.wav & set /a i=!i!+1 この時点で, d:\ipod にあるすべての wav ファイルに対し, カレントフォルダ (d:\hogehoge) の中にハードリンクが作られます. そこで, SoundEngine のスクリプトから Folder Open などを使って「カレントフォルダにあるすべての wav ファイル」をオートマキシマイズします. これで, 原理的には「d:\ipod 以下にあるすべての wav ファイルに対してオートマキシマイズした」のと同じ結果になっているはずです. あとは del *.wav cd .. rd hogehoge exit で証拠隠滅. 上の [注意] でも書きましたが, ここで「ファイルの削除」を行っているため最悪の場合「元のファイルをすべて消してしまった」ということになるかもしれません. 私は試していないので, 「これでいける」とまではいえません. ファイルの少なそうなフォルダをコピーしておき, そのコピーに対して同じようなことをして「ちゃんと動いている」ことを確かめてから本来の対象に対して実行することを強くお勧めします.

noname#90395
質問者

お礼

詳しい説明ありがとうございました!! やはり最終的にはSound Engineを開いてやらないとダメなんですね。 cmdの中で出来るのかななんておもってましたがハードリンクのやり方が理解出来たのでこれから重宝させていただきます! こんな質問に長々と付き合っていただいてほんとにありがとうございました!! ファイルの削除には気を付けます… 昔全て消したことあったので(笑)

その他の回答 (3)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

おっととと. 勇み足だ. 「特定のフォルダ以下に存在する」ことは仮定しなくてもいいです. が, 「全部指定する」必要があるので面倒といえば面倒.

noname#90395
質問者

お礼

やはり面倒ですか… 回答ありがとうございます。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

あ~, 盛大に勘違いしていたような気が.... SoundEngine の方で「スクリプト内部に読み込むファイルの名前」が指定できると思ったのよ.... これができるなら, cmd で for /R %F in (*.wav) do echo %F で「(サブフォルダの中も含めて) 現在のフォルダの中にあるすべての wav ファイル」が出てくるので適宜修正すればいいかなと思ったんだけど... う~ん, SoundEngine のスクリプトの仕様が今一つわからん.... そういえば, 変換を必要とする wav ファイルはどのように配置されてますか? 「特定のフォルダ (とそのサブフォルダ) の中にある」なら, 「ハードリンク」という大技を使えば何とでもなります.

noname#90395
質問者

お礼

ハードリンクってなんですか?初めて聞きました! wavはD://iPodというフォルダに格納してあります。 どのようにバッチファイルを編集すればよろしいでしょうか? 誤解を招くように書いてしまい申し訳ないです… ぜひご教授おねがいします。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

ちょっと検索してみたんだけど, 1つのフォルダに全てのファイルがあるなら「検索しろ」で終わり. そうでなければ... Sound Engine のスクリプトだけではできないかもしれない. cmd と組合せればなんでもありだと思うけど.

noname#90395
質問者

お礼

回答ありがとうございます。 cmdと組み合わせてみたいのですが、それをやったらSound Engineの作者さんの意図からはずれてしまうかな?とも思い今まで1ファイルずつ変換してましたが、数が多すぎてそんなこともいってられなくなり質問した次第です。 そのcmdと組み合わせるためのコマンドはどのように書いたらよいでしょうか?

関連するQ&A

  • WAVファイルの音量調整には

    WAVファイルの音量調整には 「正規化(ノーマライズ)」とか「音声均一化」とか「オートマキシマイズ」とが色々ありますが、-12dBとか「チンプンカンプン」でよくわかりません。 最終的には映像ファイルからの音声やCDからの音声をmp3に変換してポータブルプレヤーで聴きたのです。 そのとき、音の大きさが大きかったり小さかったりではいちいち音量調節しなければならないので同じ音量にしたいのです。 映像ファイルから音声を取り出すのに使っているTMPGEncXPress4では正規化(ノーマライズ)とは別に音声均一化の「平均」というのがあります。 音声均一化の「平均」とは、全体の平均音量を調べ、その音量を「基準にする音量」で指定したdBになるよう調整します。 音声ファイルはSoundEngineFreeの音量調整では、オートマキシマイズは、聴覚的な音量レベルを検知し、設定した目標音量レベルに対して音量調整をするエフェクターです。 と説明されています。 この、音声均一化の「平均」とオートマキシマイズは同じものなのでしょうか? 目安として-10dB(ハードJ-POP)とか-12dB(ノーマルJ-POP)とか-13dB(ソフトJ-POP)の-xxdBの数値も同じと考えてよろしいのでしょうか? 映像の音量をTMPGEncXPress4で音声均一化の「平均」を使い-12dBに設定して音量調整し、音声だけをWAVファイルに出力した音量とSoundEngineのオートマキシマイズを使い-12dBに設定して音量調整したものは同じくらいの音量と考えてよろしいのでしょうか。 なにしろ、音が出てくると、dBとかが出てきてお年寄りには理解できません。 わけ分からない質問ですが音に詳しい方やさしく教えてください。

  • 棒読みちゃんのSEの音量

    ニコニコ生放送で棒読みちゃんを使っていて、SEを入れています。 しかしSEの音が小さくて、大きくしたいのですが、棒読みちゃんの音量を 大きくするのでは、コメントを読む声がうるさくなってしまいます。 SEの音量だけ上げたいと思って、検索して調べてみました。 音量を上げたい音声ファイルがwmaファイルだったので、iTunesでwavファイルに 変換し、SoundEngineFreeというソフトで読み込んで、音量からオートマキシマイズ というのをやって、-10.0dBにしました。 一応SoundEngineの表示では、波形が大きくなって、音も大きくなったように思います。 が、上書き保存して棒読みちゃんで発声させてみると、やはり小さいままで 変わったように思えません。 どうすればよいでしょうか?よろしくお願いします。

  • WAVEファイルの音量調整(「Sound Engine」の場合)について教えて下さい

    「Sound Engine」を持っています。(まだちゃんと使ってません(^^;)) MP3ファイルをWAVに変換して、CD-Rに焼いた時の音量調整についてなんですが、CDを再生した時に、音量がバラバラなのでいちいちボリュームを調節しなくちゃいけないのが不便なんです。 それで色々調べてみたのですが、『音量レベル?を一定にするのがノーマライズ』で、これがいいのかなと思ったんですが、Sound Engineのヘルプには、『自動音量調節一括処理(音量をある一定の基準に調整する・他のWAVEファイルとの音量調節)がオートマキシマイズ』となっていて、どっちなのかわからなくなってしまいました(^^;) Sound Engineのサイトを見ていると、やっぱりノーマライズかなぁと思うのですが、ヘルプを見ちゃうとオートマキシマイズ??と思っちゃうんです。 やりたい事は、CDプレーヤーで再生した時、曲の始めがもともと小さく作られてる曲はいいにしても、いきなり大きな(小さな)音量だったりするのを、同じにする為のボリューム調節を省きたいんです。 これって、どっちをしたらいいんでしょうか?自分でもっと効果を加えたりとかはあまり考えてないので、今はとりあえず音量レベルが一定になればいいです♪ あと、もしオートマキシマイズの場合は「オートマキシマイズ一括処理」でやればいいと思うのですが、ノーマライズの場合、1曲1曲を順番にやっていっても、『その曲の最大値を0dbにあわせる』のだから、『結局すべて同じレベルに整えられた』という事になりますか?(ノーマライズを一括してやる方法がイマイチ分からないので・・・) どなたか教えて下さい♪

  • SoundEngineで取り込んだWAVファイルを、オートマキシマイズ

    SoundEngineで取り込んだWAVファイルを、オートマキシマイズしながら再生しつつ、それを録音することは出来ないのでしょうか? WAVファイルを再生はできるのですが、録音すると無音で波形もなにも表れません。 パソコン側のサウンドミキサーは動作中になっています。 パソコン及びサウンドエンジン自体が初心者なので、説明が下手なので状況が分かりづらくて申し訳ありません。 どうすれば録音できるようになるか教えて頂きたいです。

  • マスタリングで0dbに近づける方法

    現在、アナログからパソコンに44.1Hzで取り込み、マスタリング作業を行っています。で、やはり市販のCDくらいの音量レベルを保ちたいのですが、入力レベルを上げすぎると当然のことながら、割れてしまいます。それでも割れないような方法ってあるのでしょうか?できるだけ上げるためにはどうしたらいいでしょうか?というかプロのエンジニアの方はどうやってマスタリングの時にうまく割れないように音圧を上げているのでしょうか?wavファイルを波形で見てみて見事に0dbでそろっているものがあったりすると感心します。コンプレッサー、リミッターを使用して全体的に音圧を上げ、音圧が高いところはそのままにするとよい、と聞いたことがありますが、具体的にはよく分かりません。やはり高価機材次第ということになるのでしうか? ちなみに現在使用ソフトは、フリーのsound engineです。このソフトにはオートマキシマイズという機能があり、レベル的に低いところを上げ、全体を自動的に0dbに近づけてくれるのです。しかしやりすぎると大きいレベルのところで割れてしまいます。

  • 音楽CDの音量基準は何dbなのでしょうか

    車で使うための音楽CDを焼こうとしています。 曲はWAVに録音済み。 しかしそれをそのままCDに焼いたら音が小さすぎました。そこで音量を上げようと思うのですが、何dbを基準にすればよいのでしょうか。普通の音楽CDの音量は・・・? SoundEngine(フリー版)のオートマキシマイズを使おうと思っていますが、-10db~-20dbとあります。

  • バッチ処理するには?

    初心者です。 DOS窓で動くデータの変換プログラムでフォルダ内の膨大なデータ(ファイル名ばらばら)をバッチ処理でまとめて変換したいんですが、時間も無くどうしていいかわかりません。 例えばd:\export.exe d:\dat\sozaia001.dat > d:\dat\sozai001.text というふうに手入力でやってます。 これを一括処理できますでしょうか? よろしくお願いします。

  • バッチファイルで複数のファイルを処理させたい

    バッチファイルを書くことで、複数のwavファイルを同時にWindows Media Encoder 9のエンコードスクリプトを用いて可逆圧縮したいと思っているのですが、バッチファイルでドロップした複数のファイルをまとめて処理することは可能なのでしょうか? もし可能なのであれば、その方法をご教示下さい。お願いします。

  • コマンド ファイルの削除

    C:\Program Files\Wave サウンド.wav のファイルをバッチファイルを使って削除したいのですが、どのようなbatファイルを書けばよいのでしょうか。 よろしくお願いします。

  • Sound Engine Freeの使い方

    Sound Engine Freeのスクリプトを利用し、Wavファイル読み込み→切り出し→保存→別のWavファイル読み込み→切り出し→保存・・・のくり返しをしたいと思っています。 切り出す位置は全てのファイルで違うのですが、スクリプトではできないでしょうか? [File Open] FilePath=×× [Cut] Selection=×× [File Save] FilePath=×× でできると思ったのですが・・・。 またはこの動作ができるフリーソフトを教えてください。