PICAXEに音声モジュールをつないでみています。
→ PICAXEに音声モジュール(Gravity Voice Module)をつないでみた その1
その2はいろいろとハマった音声モジュールへの音声データの書き込みについてです。
1.自前の音声データを作る
今回使っている音声モジュールはMP3とWAV形式に対応しているので,どちらかの形式のデータを作ります。
良い機材があればそれで良いでしょうが,私の場合はPCでまずは十分なのでその手順です(^^)
1) スマホの音声レコーダーで録音し,PCに転送して編集する
アンドロイドの「音声レコーダー」で録音してみました。この音声データはWAV形式で保存されます。
音声データは[recordings]-[voice recordings]フォルダの中に「音声録音+日時」のファイル名で入っていますので,PCにケーブルで転送しました。小さいファイルであればメール添付でも良いと思います。
2) PCで録音,編集,変換する
音声データはMac,Windowsともに録音,編集,データ形式の変換などは標準ソフトやフリーソフトで行えます。
(1) Mac
・録音・トリミング:QuickTime Player (m4a形式)
[ファイル]ー[新規オーディオ録音]
[編集]ー[トリム]
・変換:VLCメディアプレイヤー
[ファイル]ー[変換]
m4a → mp3 ,mp3 → WAV など
(2) windows 10
・録音・トリミング:ボイスレコーダー (m4a形式)
・トリミング・変換:Real Player
[Real Player]ー[ツール]ー[Trimmer]
[Real Player]ー[ツール]ー[Converter]
m4a → mp3 など
最終的な音声データはMP3の方がWAV形式より小さいサイズ,約10分の1になります。サンプリングしてみたオヤジの魅惑的な「おはよう」(^^;;;;;;;; は以下のサイズでした。
2.データの音声モジュールへの書き込みと注意している事
1) 音声モジュールをWindowsPCにUSB接続する
・モジュールをWindowsPCに接続すると外部接続USBメモリとして認識され,編集・書き込みなどができるようになります。
・Macでも認識されますが,書き込み操作はやめた方が良いと思います。
Macは隠しファイルを作るため,モジュール内のデータがきれいに並びません
2) データの音声モジュールへの書き込み(コピペ)
以下はしっかりと検証したわけでは無いですが,私の考え方と実際の書き込み方法です。
・この音声モジュール内のメモリでのデータの並びは順にテープに録音していくようなシーケンシャルファイルと考えて扱っています。メモリに物理的に順番に並び,また順番と完全に一致したファイル名でないとうまくいかないようです。
・例えばオーディオファイルの指定のコマンドの解説では,「現在のドライブの「8番目」のファイルを指定する」となっていて,ファイル番号08のを指定するとは言っていません。
Specified Audio:(07)
Command: AA 07 02 Upper-Byte Lower-Byte SM
Return: None
E.g. AA 07 02 00 08 BB will specify to play the eighth audio in the current drive, and the audio number is from 1 to 65535.
ちなみに,モジュールのメモリ内のデータファイルを2つだけにして,ファイル名をそれぞれ17.mp3と18.mp3にした場合は,指定番号を1や2にしても,17や18にしても全く動きませんでした。ファイル名もなんらかの指標に使っているのかもしれませんね。
・また音声モジュールにコピーした後,モジュール内でファイル名や順番を変えたり,ファイルを削除したりするとうまく動かなくなります。
・結論的に,必要な音声データはPC側の1つのフォルダの中で先頭から
01.mp3,02.wav,03.mp3・・・
のように必ず01から始まる数字二桁のファイル名に欠番無しできれいに揃えてから,完全にクリアしたモジュールのメモリに書き込む(コピペする)のがすっきりして良いと思います。
う〜む,いろいろとハマりましたが(^^;;;;;
効果音をいくつか使い分けると,地味な?工作もなんか楽しくなってきますね。
後は,,,音を出している時のビジーの間の取り方を考えないといけませんが,ま,他の動作の合間合間に入れる音なら,そんなに問題はないかもしれませんね。
→ PICAXEに音声モジュール(Gravity Voice Module)をつないでみた その1
その2はいろいろとハマった音声モジュールへの音声データの書き込みについてです。
1.自前の音声データを作る
今回使っている音声モジュールはMP3とWAV形式に対応しているので,どちらかの形式のデータを作ります。
良い機材があればそれで良いでしょうが,私の場合はPCでまずは十分なのでその手順です(^^)
1) スマホの音声レコーダーで録音し,PCに転送して編集する
アンドロイドの「音声レコーダー」で録音してみました。この音声データはWAV形式で保存されます。
音声データは[recordings]-[voice recordings]フォルダの中に「音声録音+日時」のファイル名で入っていますので,PCにケーブルで転送しました。小さいファイルであればメール添付でも良いと思います。
2) PCで録音,編集,変換する
音声データはMac,Windowsともに録音,編集,データ形式の変換などは標準ソフトやフリーソフトで行えます。
(1) Mac
・録音・トリミング:QuickTime Player (m4a形式)
[ファイル]ー[新規オーディオ録音]
[編集]ー[トリム]
・変換:VLCメディアプレイヤー
[ファイル]ー[変換]
m4a → mp3 ,mp3 → WAV など
(2) windows 10
・録音・トリミング:ボイスレコーダー (m4a形式)
・トリミング・変換:Real Player
[Real Player]ー[ツール]ー[Trimmer]
[Real Player]ー[ツール]ー[Converter]
m4a → mp3 など
最終的な音声データはMP3の方がWAV形式より小さいサイズ,約10分の1になります。サンプリングしてみたオヤジの魅惑的な「おはよう」(^^;;;;;;;; は以下のサイズでした。
2.データの音声モジュールへの書き込みと注意している事
1) 音声モジュールをWindowsPCにUSB接続する
・モジュールをWindowsPCに接続すると外部接続USBメモリとして認識され,編集・書き込みなどができるようになります。
・Macでも認識されますが,書き込み操作はやめた方が良いと思います。
Macは隠しファイルを作るため,モジュール内のデータがきれいに並びません
2) データの音声モジュールへの書き込み(コピペ)
以下はしっかりと検証したわけでは無いですが,私の考え方と実際の書き込み方法です。
・この音声モジュール内のメモリでのデータの並びは順にテープに録音していくようなシーケンシャルファイルと考えて扱っています。メモリに物理的に順番に並び,また順番と完全に一致したファイル名でないとうまくいかないようです。
・例えばオーディオファイルの指定のコマンドの解説では,「現在のドライブの「8番目」のファイルを指定する」となっていて,ファイル番号08のを指定するとは言っていません。
Specified Audio:(07)
Command: AA 07 02 Upper-Byte Lower-Byte SM
Return: None
E.g. AA 07 02 00 08 BB will specify to play the eighth audio in the current drive, and the audio number is from 1 to 65535.
ちなみに,モジュールのメモリ内のデータファイルを2つだけにして,ファイル名をそれぞれ17.mp3と18.mp3にした場合は,指定番号を1や2にしても,17や18にしても全く動きませんでした。ファイル名もなんらかの指標に使っているのかもしれませんね。
・また音声モジュールにコピーした後,モジュール内でファイル名や順番を変えたり,ファイルを削除したりするとうまく動かなくなります。
・結論的に,必要な音声データはPC側の1つのフォルダの中で先頭から
01.mp3,02.wav,03.mp3・・・
のように必ず01から始まる数字二桁のファイル名に欠番無しできれいに揃えてから,完全にクリアしたモジュールのメモリに書き込む(コピペする)のがすっきりして良いと思います。
う〜む,いろいろとハマりましたが(^^;;;;;
効果音をいくつか使い分けると,地味な?工作もなんか楽しくなってきますね。
後は,,,音を出している時のビジーの間の取り方を考えないといけませんが,ま,他の動作の合間合間に入れる音なら,そんなに問題はないかもしれませんね。