Soxで2回リピートの音源を作る

英語単語を読み上げている音声ファイルを作り,それを1単語ずつに切り分ける方法は,以前の記事で取り上げた。このファイルは1回の読み上げなので,2回の読み上げをしたい。以下の手順について忘備録として書いておく。

  1. Soxの準備
  2. 2回リピートのsoxコマンド

Soxの準備

Soxの準備については,こちらのページで詳細を説明してくれているので,参照のこと。

WIndows10への導入の概要としては以下の通り

  • Soxのダウンロード(こちらが配布サイト。中ほどのDownloadからSourceforge’s File Release System.に進み,ダウンロード(今回は,Sox/14.4.2/sox-14.4.2-win32.exe)
  • インストール。exeファイルをダブルクリックで自動的にインストール。デフォルトでは,C:¥Program Files (x86)¥sox-14-4-2に入る。
  • このままだと,mp3は使えないので,app.box.comからlibmad-0.dll_and_libmp3lame-0.dll.7zipをダウンロードして,中身をsoxのファイルに入れておく。
  • Pathを通す(上記の説明サイトを参照)か,soxを入れたフォルダで作業する。

2回リピートのコマンド

Soxのコマンドについては,こちらのサイトを参照。

今回は,以下のコマンドで良い。

sox 入力ファイル(対象としたいファイル) 出力ファイル(書きだしたいファイル名)repeat 1

*一瞬ハマったのは,リピートを2回させたいので,最後を2にしたら,元の音声+リピート2回で3回読み上げられた。

ファイルが大量にあるので,コマンドプロンプトでforで処理。出力ファイルは,同じフォルダにtwiceというフォルダを作り,そこに入れる。

for %f in (*.mp3) do (sox %f ./twice/%f repeat 1)

Audacityで大量の音声ファイルの切り分け

Globalvoice Englishで100単語を含む音声ファイル(.wav)を1つ作成し,それをAudacityで100の音声ファイル(.mp3)にしたときのAudacityの設定の話。

  1. 「編集」-「設定」ー「取り込み/書き出し」にある「メタデータエディタを書きだしの前に表示(h)」の前のチェックを外す。(これをしないと,のちにメタデータエディタで100連打することになる)
  2. Audacityへ音声ファイルを置く(ドラッグアンドドロップで良い)
  3. 「解析」-「Silence Finder」で出てきた画面でとりあえず,OK
  4. 「ファイル」-「複数ファイルの書きだし」
  5. 「書きだし場所」で任意のフォルダを選ぶ
  6. 「ラベル」の下にある,「最初のラベル以前のオーディオデータを含む」の前のチェックを入れる。(これをしないと,1つ目の単語が飛ばさせる)
  7. 「ファイルの命名」で「ラベル/トラック名の前の番号付加」を選び「書きだし」

これで100個の音声ファイルができる。あとは,バッチファイルなんかで,ファイル名を一括変更すればよい。