wavファイルをまとめてフェードアウトするには?

wavファイルをまとめてフェードアウトするには?

WAVファイルのバッチに2秒のフェード効果を適用する必要があります(名前にスペースを含めます。例:C 0 120-127.wav)。

ファイルの長さは異なりますが、ファイルの長さに関係なく、各ファイルの末尾に2秒のフェードが必要です。

私はこれをsoxで行うことができることを知っていますが、私が確認したチュートリアルには追加の操作(フェードインまたはトランジション)または入力と出力を指定するための単一のファイルが含まれているので混乱しています(私はsoxを最初に使用します) 。

出力を別のフォルダにパイプすることは許可されますが、同じままにするにはファイル名が必要です。

ありがとうございます。

答え1

私は靴下でこれを行う方法を知りませんでしたが、大胆に方法を見つけました。

私は次のようにマクロを作成しました:select all studio fadeexport wav(これは重複しているようですが、そうでなければ機能しません)

次に、Apply Macros> Palette> File機能を使用し、ディレクトリ内のすべてのサンプルを選択します。

注:まず、マクロ出力ディレクトリを作成し、編集>基本設定>ディレクトリでデフォルト値を設定する必要があります。

このプロセスはレッドソックスの場合よりも時間がかかりましたが、効果がありました。

答え2

あなたの質問は4つの部分で構成されています

  1. ループは答えに示されているものと同じです((1)(2))前の質問に対する答え:

    for wav in *.wav
    do
        echo "Processing: $wav"
        sox "$wav" "processed_$wav" ...
    done
    
  2. スペースを含むファイル名は引用符で囲む必要があります。だから"this file.txt"または'my music.wav'。変数を使用する場合は、二重引用符で囲む必要があります(例:)"$wavfile"

  3. 最後から曇り始めます。man sox自分のコンピュータでこのコマンドを使用して、このコマンドのドキュメントを読むことができますsox。それとも同様のマニュアルページがありますか?オンライン。 4〜5つのマッチを検索しfade、サウンドファイルのフェード部分の構文を決定します。視点は、ゼロまたは正の数(サウンドファイルの先頭から始まる)または負の数(最後から逆に計算)である可能性があることを覚えておいてください。

  4. ファイルの読み取りまたは処理中はファイルを上書きできません。代わりに、別のファイルに書き込んでから書き込みが正常に完了したら、元のファイルを変更されたファイルに置き換える必要があります。個人的には、常に元のファイルをバックアップとして保存します(処理中に問題が発生して復元する必要がある場合に備えて)。これはこれを行う一般的ですが、簡単な方法です。

    if sox music.wav 'new music.wav'        # Write to "new music.wav"
    then
        # Successful, so replace original with new version
        mv -f music.wav music.wav.bak &&    # Save original - optional
        mv -f 'new music.wav' music.wav     # Rename new as original
        rm -f 'new music.wav'               # Try to remove new version in case mv failed
    fi
    

関連情報