ロビの音声ファイルの作成方法
2021年12月7日
12月12日改訂
12月15日改訂


 今更ですがロビの音声ファイルの作成方法について解説します。
 ロビの音声ファイルは標準の非圧縮のPCMフォーマット(WAVファイル形式)なので知っている方にはあまり必要のない情報かも知れませんがロビの歌唱プログラムの作成方法についても解説していますので参考にしてください。


音声キャプチャーの準備

 まず音源ですが一番簡単なのはYoutubeなどの動画ファイルの音声をキャプチャーする方法だと思います。
 そのためにはPCで録音できる設定にする必要があります。
 今回はWindows10で説明しますのでそれ以外のOSの場合は操作方法が異なりますので各自調べて下さい。



 パソコン画面のタスクバー右側の∧アイコンを左クリックすると隠れているインジケーターが表示されます。
 その中からスピカーのアイコンを右クリックすると上にプルダウンメニューが表示されます。
 その中からサウンドを左クリックして選択します。

 サウンドパネルが開くので上部の録音タブを左クリックして選択します。
 録音デバイスが表示されるのでその中にステレオミキサーが有効になっている事を確認します。
 無効の場合はステレオミキサー右クリックでプルダウンメニューが表示して有効を左クリックして選択してください。
 ステレオミキサーが表示されない場合は表示されているデバイスでプルダウンメニューが表示して無効なデバイスの表示や切断されているデバイスの表示をチェックしてください。
 ステレオミキサーがインストールされていない場合は表示されないのでそれに代わるマイク配列等のデバイスを有効にしてください。
 パソコンの音声をそのままキャプチャーできない場合は外付けのマイクを接続してそれでスピーカーから流れる音声を録音してください。

 有効になったら右の音量インジケーターに緑で現在の音量が表示されますのでパソコンに何か音を流してインジケーターが緑になればOKです。
 録音のレベルはプロパティのレベルで設定できるので必要に応じて調整してください。


音声ファイルの作成

 音声の録音には音声を録音するソフトが必要です。
 Windows10にはボイスレコーダーというソフトが標準で付いていますが編集や出力フォーマットの指定など細かい指定ができないので別のソフトを使ってやってみます。
 今回はSoundEngine Freeというフリーソフトを使います。
 このソフトは音声の編集がカットアンドペーストで簡単にでき出力もWAVファイルに特化(というかそれ以外ほとんど対応していない)していてロビの音声作成にはうってつけです。
 SoundEngineで検索すればダウンロードサイトはいろいろ出てきますが以下のURLから最新版がダウンロードできます。

 公式ホームページ

 この中のSoundEngine Freeのリンクをクリックしてダウンロードしてください。

 インストールはインストールに従って行ってください。
 途中E STARTというアプリをインストールするか聞いてきますがチェックを外していいえを答えてインストールしないでください。



 SoundEngine Freeを立ち上げて録音タブに切替えてください。
 録音デバイスが上記で設定したデバイスになっているか確認してください。
 違う場合は切替えてください。
 音声ファイルのフォーマットをロビの音声ファイルにあわせてください。
 周波数:44100、ビット:16、チャンネル:1

 ボタンを押すと録音スタンバイ状態になり右側に音量レベルが表示されます。
 パソコンに音声を流して音量レベルが変化する事を確認してください。
 ボタンを押す録音が開始されます。
 ボタン表示が停止に変わるので録音を止める時は再びこのボタンを押して下さい。
 録音された波形が下の表示領域に表示されていきます。



 簡単な編集は再生モードでできますので再生しながら編集できる再生タブを押して再生モードにします。
 編集しやすいように左下のスライダーで表示スケールを調整します。
 編集はマウスのドラッグ操作で選択範囲(反転表示)を指定します。
 キーボードのDeleteキーで選択範囲を消去する事ができますので前後の不要部分をカット(トリミング)してください。
 実際の音声と波形の関係は操作パネルの再生ボタンや停止ボタンの操作で実際に音を再生させて確認してください。

 次に音量の調整を行います。



 音量メニューのノーマライズ(正規化)コマンドで行うと自動的に適正音量に調整してくれます。

 

 音量が大きい場合や微調整を行う場合は音量メニューのボリューム(音量調整)コマンドで行います。
 ボリューム(音量調整)ダイアログに表示されるつまみの白い部分をマウスのドラッグ操作でつまみを回して音量を調整してください。
 変化させる値が下に表示されます。  プラスは音を大きく、マイナスは音を小さくします。  OKボタンを押すと変化した波形が表示されます。
 最大波形が0db位になるように音量を調整します。
 やり直す場合は元に戻すアイコンで元に戻して再度ボリューム(音量調整)コマンドを行ってください。

 編集が終わったらファイルメニューの名前を付けて保存コマンドでファイルを出力してください。


歌唱プログラムの作成

 ロビに歌唱させるプログラムを作成したのでそれを使ってキャプチャーした音声ファイルでロビに歌唱させるプログラムについて解説します。
 歌唱プログラムのサンプルは下記URLよりダウンロードしてください。

 カムカムエヴリボディ歌唱プログラム

 ロビ歌唱.RM4(サブルーチン)は汎用的に使えるようにしています。
 他の曲を歌わせる場合はメインプログラム(カムカムエヴリバディ.RM4)を次の様にメモ帳などのテキストエディタで変更してください。



 <mem_w size="2" adr="0x0f00">
  0x000a,0x00c0,0x0020,0x0012,0x0000,0x00ff,0x0000
 </mem_w>
 最初の3つの値は前奏(イントロ)の秒数(0.1秒単位)、歌の秒数(0.1秒単位)、終奏(アウトロ)の秒数(0.1秒単位)を16進数で指定します。
 合計が音声ファイルの長さになるように指定してください。歌の部分だけ口パクをします。
 前奏がない場合は0x0000を指定してください。
 この例の場合はイントロが1.0秒、歌が19.2秒、アウトロが3.2秒です。

 4番目はモーションのテンポを指定します。
 通常は0x0000を指定してください。標準の30(0.5秒)でモーションを動かします。
 テンポを変える場合は0以外を16進数で指定してください。
 1モーション(頭の上下)の時間をロビの時間単位(1/60秒)で指定します。
 値が小さいとモーションは速くなります。
 あまり遅くしたり早くすると曲の長さと合わなくなります。
 この例の場合は18(18/60秒)で標準より速いテンポを指定しています。

 後の3つの値は目の色をRGBを赤緑青の順番で指定してください。
 この例の場合はR=0,G=255,B=0で緑を指定しています。

 <play filename="voice\Music\もう少しだけ.wav"/>
 歌の音声ファイルを指定してください。
 音声ファイルはSDカードのvoiceフォルダーに入れてください。

 ロビで実行すると実際の秒数と合わない事があります。
 秒数の指定は実際にロビで実行してみて調整してください。



 10進数を16進数に変換するのにWindows標準の電卓が便利です。  三本線のアイコンをクリックしてプログラマーにしますす。
 DEC(10進数)をクリックして数字キー(電卓画面またはキーボード)で数字を入力するとHEX(16進数)に16進数が表示されます。


歌唱プログラムの実行

 プログラムはロビ1でも動かす事ができますがロビ2での動かし方を説明します。



 ロビプログラムコンパイラーを起動してLEDアドレス変更とサーボトルク変更をチェックします。
 「読込み」ボタンを押して作成したプログラムを読み込みます。
 この時ファイルの種類はロビプログラムにしておいてください。



 「変換」ボタンを押してロヒ2のプログラムに変換(コンパイル)してください。



 サブプログラム(ロビ歌唱.RM4)が見つからない時は上のダイアログが表示されます。
 読込んだプログラムと同じフォルダーにある場合は「はい」を答えてください。
 別のフォルダーにある場合はフォルダー設定ボタンでロビ歌唱.RM4を指定して再び変換ボタンを押して下さい。
 「書出し」ボタンを押してロビ2のプログラム(STARTUP.BIN)に変換したプログラムを書き込んでください。



 「書出し」ボタンを押してロビ2のプログラム(STARTUP.BIN)に変換したプログラムを書き込んでください。
 この時ファイルの種類はバイナリファイルにしておいてください。

 STARTUP.BINを選択すると割付ける認識語を聞いてきますのでドロップリストから選択します。
 この時割付けられない認識語があるのでその場合は他の認識語を選択してください。
 ロビプログラムコンパイラーは1.54以降のバージョンで行ってください。
 最新版は以下のURLよりダウンロードできます。
 ロビプログラムコンパイラー


ロビ歌唱データ作成プログラム

 ロビのプログラムを作成しなくても歌唱モーションを簡単に作成できるWindowsアプリケーションを作成しました。



 まず「読込み」ボタンで音声ファイルを読込みます。
 読込みが成功すると音声ファイルの再生時間を歌の時間項目に表示します。
 再生時間は1/10秒単位で指定します。
 歌の部分はロビが口パクで口のLEDを点滅させます。
 前奏と後奏は首を振るだけでLEDは消灯します。
 前奏と後奏がある場合はそれぞれの再生時間を指定します。
 3つの値の合計がモーションの実行時間となります。

 目の色は指定した色で目のLEDで点滅させます。
 歌のイメージに合わせた色を指定してください。
 他を指定するとカラーダイアログが表示されるので任意の色が設定できます。

 テンポはモーションの動作速度で首振り、目と口の点滅速度が指定できます。
 その他は1/60秒単位で任意の動作時間が指定できます。
 値が小さいとモーションは速くなります。
 あまり遅くしたり早くすると曲の長さと合わなくなります。

 「書出し」ボタンで設定した歌唱データをロビのSDカードのRBSongフォルダーに書き込みます。



 音声ファイルを読み込んでいる場合は固定のファイル名(RBSong\ROBI_SONG.wav)でロビのSDカードにコピーします。

 音声ファイルと歌唱データでロビに歌わせるにはロビ2のプログラム(STARTUP.BIN)に歌唱プログラムを書き出す必要があります。



 歌唱プログラムを書き出すのも「書出し」ボタンを押してファイルの種類をロビプログラムに切替えます。
 書込むプログラムを指定すると音声認識ダイアログが表示されるので割付ける認識語を指定します。
 割付けた認識語の元のプログラムは動かなくなるので注意してください。
 また元に戻せるように書込むSTARTUP.BINのバックアップを必ず取っておいてください。

 本プログラムを立ち上げると以前書き込んだ歌唱データファイルを読込んで設定した値が表示されます。
 違うファイルを読込む場合や読込み直す場合は読込み」ボタンで歌唱データファイルを読込む事ができます。





 ロビ歌唱データ作成プログラムで複数の歌を再生する場合はジュークボックスにチェックを入れます。
 曲数は何曲再生させるかを設定します。



 歌唱データは1曲の時と同じように音声ファイルを読込んで作成します。
 歌唱データの書込みはRBSongフォルダーに001.binというファイル名で書き込みます。
 2曲名以降は002.binというように3桁のファイル名で書き込みます。
 音声ファイルは同じファイル名(拡張子.wav)でコピーされます。

 ジュークボックスプログラムは1曲の歌唱プログラムと同じ方法でSTARTUP.BINに書き込みます。
 ジュークボックスプログラムはロビ2の頭のスイッチで曲が選択できます。
 頭のボタンを押すたびにロビ2が曲の番号を分で教えてくれます。
 選曲したい番号になったら5秒以上頭のスイッチから手を放すとその曲を他言い出します。
 「何かな」と言ったらロビが番号の中からランダムに歌ってくれます。
 ロビが歌っている途中で頭のスイッチを押すとプログラムを中断する事ができます。

 ロビ1で動かす場合はROBI1\ロビ歌唱(ファイル対応).RM4をロビ1のプログラムと置き替えます。
 ロビ1のプログラムは音声認識語に紐づけられているので該当するプログラムと置き替えてください。(歌うたってはランダム\86,177.RM4、楽しいねはランダム88.RM4など)
 また元に戻せるように置き替えたプログラムのバックアップを必ず取っておいてください。

 ジュークボックスプログラムをロビ1で動かす場合はROBI1\ロビジュークボックス.RM4をロビ1のプログラムと置き替えます。
 ROBI1\RBSong\ロビ歌唱.RM4をSDカードのRBSongフォルダーにコピーしてください。
 なおこのプログラムは頭のスイッチで選曲する機能はなくランダムで選曲されます。

 ロビ歌唱データ作成プログラムは以下のURLよりダウンロードできます。
 
ロビ歌唱データ作成プログラム


 このプログラムやパッチファイルを実際に動かした動画です。

  

 ロビのプログラム変更やSDカードの書き換えは、ロビ本体への影響を伴うのであくまでも自己責任という事でお願いします。
 ロビのオリジナルプログラムは必ずバックアップを取っておいて問題があればオリジナルのプログラムに戻してください。
 また著作権が申請されている楽曲を使った動画をYoutubeで公開すると「著作権侵害」の警告が出て公開できない場合があります。(広告が表示されて公開できる場合もあります)

目次に戻る