2021年3月25日木曜日

工作メモ - オルゴール - その2 - アプリで曲作り+m5stickCで音声再生

 アプリで曲作り

オルゴールそのものを諦めたため、オルゴールの音でbe mineをどうにか作成して音声ファイルにする必要が出てきました。
なんとなくwaveで保存できさえすれば再生はできる気がするので、そこを目指していきます。

音楽の心得は無い、かつクオリティはそれっぽければいいと割り切り、メロディーは耳コピでサビのみ単音で気合で行くことに。

最初に試したアプリ。
うぐいすオルゴール


オルゴールの音色が良く、音の入力もしやすいのですが音声ファイルでの書き出しができなさそう。

次に試したアプリ
Medly



音の入力はしやすいのですが、音色にオルゴールは無いです。ところがwave形式でのファイル書き出しが可能なためピアノの音色で無理やり行くことに。(まあわからんでしょ)

耳コピを頑張ってサビ一回分を打ち込み、無事waveファイルを取得できました。

m5stickCで再生する方法


m5stickCに接続するスピーカーhatは無事着弾してハードウェアとしては接続できました。

プログラム作成について参考になりそうなページはこちら

mp3ファイルでいけるみたいです。

先ほど作成したwaveファイルは約3.6MBあるので少し大きすぎます。iTunesの機能で音質を落としながらmp3ファイルに変換をすると約23KBまで軽量化できました。十分小さいサイズなので音質は聞いてみてから調整しましょう。

スピーカーhat自体の導入が初めてなのでまずはハローワールド代わりに公式のサンプルスケッチを試してみます。
arduinoIDEはセットアップ済みなので詳細は省きます。
スケッチ例のM5stickC→Hat→SPERKERのスケッチをそのまま書き込んで実行します
ビープ音が鳴ったのでハードウェアとしてはOK。音量もなかなかあります。

このままだとテストしようとするたびにビープ音がうるさいのでhello worldで上書きしなおし。

参考にしたサイトのスケッチをファイル名だけを変更して書き込んでみます。

エラーでloopのたびにrebootがかかっているようです。シリアルモニタでログを見たところ
SPIFFS: mount failed
ということでSPIFFSの設定が足りてないようです。

こちらの記事を参考にSPIFFSの設定を行い、改めてスケッチをコンパイルしなおしたところ、音質は悪いですが無事に再生されました。
ただし音声再生がない時にもホワイトノイズが乗っているのが気になります。

再生内容確認







いろいろ調べてみたのですがホワイトノイズは一朝一夕ではどうにもならないと判断してこれで良しとします。
音質ももっとあげても大丈夫そうです。
音の再生に関してはこれで大体確認できました。