ESP32で、Wavデータを5和音合奏してみた | a24a24a24のブログ

a24a24a24のブログ

アメピグ残党。
釣り、温泉、お出かけ、パソコン。最近、電子工作。

その昔。

電子楽器の種類に、「プレイバックシンセ」とか「サンプラー」と呼ばれるものがありました。

(今も在るかもしれません)

 

 

 

 

原理はシンプルで、

実在の音を録音したデータを、再生速度を変えて音階にしよう、というものです。

レコードやテープを早回しにするとキュルキュル高い音になりますよね。あんな感じです。

 

ドの音を1.5倍速でソの音に。2倍速で1オクターブ上のドの音に。

子供の頃、仕組みに興味を感じつつ、機材が高価すぎて手が届きませんでした。

 

 

 

今回、それっぽい演奏処理を、400円のESP32ボードで電子工作してみました。

 

 

 

 

 

 

ESP32ボードを用意します。

最初DAC出力にイヤホンを直結してジャイアンの歌声を流そうとしたら、出力が壊れてしまったので

25pin→26pinに変更して、抵抗2kΩを追加しました。

 

 

 

 

音のデータを作成。

手持ちのおもちゃオルガン、ヤマハSK1XGで

弦楽器の音を弾き、パソコンにWav形式で録音します。16kHz、3.5秒間。

 

 

 

 

Wav形式のファイルを16進数に変換し、C言語プログラムの配列にして

Arduino IDEに貼り付けます。

 

 

 

 

前回の矩形波演奏プログラムを変更して、

単純なアップダウンの代わりに、変換したWavデータの数値に従ってDACから電圧を出力しました。

今回も秒間6万回、5和音をリアルタイムで計算しています。

 

画像の下側が、前回の矩形波演奏の波形。カクカクしています。

上側が、今回演奏した波形。山が複雑になっているのが分かります。

 

 

 

 

出来上がったものが、こちら。

 

 

 

 

 

弦楽器のほか、ネコの鳴き声でも試して、合奏(合唱?)できました。

 

 

 

音の終端の処理とか、音を掛け算してみたいとか、いろいろ試したいことがありますが・・・。

一区切りついたので、

またしばらくの間、電気工事士の試験勉強に戻ろうと思います。

 

おしまい。