FM音源YMF825を使ってみる[組立編]
YAMAHA開発のFM音源チップYMF825搭載のブレークアウト基板を使ってみました、組立(配線)~音出しまでを記事にしました。
使用方法とサンプル・ソースは「YMF825Board GitHubPageへようこそ」に簡単な紹介記事があり、このサイト内のリンク情報を収集してまずはサンプル音(ド・レ’・ミ・ファ・ソを演奏するだけ)を発音させるところまでを記事にしました。
YMF825仕様:(上記ページからの引用)
- 4オペレータのFM音源
- 最大16音同時に発音可能
- FMの基本波形29種類内蔵、アルゴリズム8種類
- SPIによるシリアルインタフェース
- スピーカアンプを内蔵
- 3バンドのイコライザ内蔵
- 16bitモノラルD/Aコンバータ内蔵
- 5V単一電源及び、5V/3.3Vの二電源の二つの電源モード
目 次
【組立・配線】
YMF825チップ自身はYAMAHAからリリースされていつ音源ICですが、これをいわゆるブレークアウト基板に搭載したモジュールを今回は使用します。
YMF825モジュールはウタ電子というところからリリースされており、秋月電子、スイッチサイエンスなどの電子部品専門店から入手可能です。
価格は両店とも同じで3240円(税込・送別)ですがスイッチサイエンスの方が送料が150円と安いです。(現時点では残念ながらスイッチサイエンスは在庫ゼロ)
では組立に入ります。
Step1: 半田付け
Arduinoなどに接続するにはピンヘッダー(1列x9ピン)が必須なのですが、同梱されてないので別途準備する必要があります、⇒ 秋月ですと1×40ピンのこれです。
半田付けは普通にやるだけで特に注意点は無いです。
Step2: 配線
最近では珍しくSPI対応でしてI2Cは未対応です。ArduinoはSPI、I2C双方に対応しているので以下の配線表を参考に間違いのないよう接続。ピンヘッダーは9本ありますがその内使用するのは7本です、2本は未接続のままでOK。
YMF825モジュール信号名 | ArduinoNano信号名 | 補足説明 |
3.3V | —(未接続)— | 3.3V駆動時に使用する |
Audio | —(未接続)— | スピーカー接続用端子。3.5㎜AudioJackと内部接続されている。ウタ電子サイト回路図参照 |
RST_N | RST | Reset |
5V | 5V | |
GND | GND | |
SCK | D13 | D13=Arduino上でSPIのSCKとしてアサインされている。 |
MISO | D12 | D12=Arduino上でSPIのMISOとしてアサインされている。 |
MOSI | D11 | D11=Arduino上でSPIのMOSIとしてアサインされている。 |
SS | D10 | D10=Arduino上でSPIのSSとしてアサインされている。 |
ArduinoのSPIインタフェースの使い方に関しては本記事ではスキップします、ネット上で十分情報入手可能ですので検索されたし。
ブレッドボード上にArduinoNanoと共に配置して配線を施した結果が以下の画像の様になります。
ジャンパー線のカラーをたどると配線の接続状態が追えると思います。
【Arduinoプログラム】
YAMAHAサイト内のSampleスケッチを演奏してみる
前述の「YMF825Board GitHubPageへようこそ」にArduio用サンプルスケッチが紹介されているので早速音出しをしてみたいと思います。
YAMAHA-YMF825のGitHubページからファイルをダウンロードします、ページの右サイドにある「Clone or download」ボタンをクリック後に表示される「DOWNLOAD ZIP」ボタンのクリックでダウンロードができます。当然ですがZIPファイルになっているので適当なアーカイバーで解凍すれば使えるようになります。
このサイトにはSample1「Arduino UNOで「ドレミファソ」を繰り返し鳴らすサンプルソースです。」とSample2「YMF825をMIDI音源化するC言語のソフトウェアモジュールです。」の2種類がアップされてますが今回はSample1で試します。
Sample2の方は文字通りYMF825を音源化するプログラムなのでMIDIシーケンサーとかが必要になるため単純なサンプル曲を聴くものではないためまた別の機会に記事にアップしようと思います。
ということで、Sample1のスケッチファイル「ymf825board_sample1.ino」をArduinoIDEにてopenしArduinoNanoにダウンロードします。必要なライブラリーはSPI.hですがこれはArduinoIDEの標準ライブラリーなので特にライブラリーを追加する必要はないです。
スピーカー接続
YMF825はチップ内にアンプが内蔵されているのでアンプ無しのスピーカー単体でも問題なく音声が聴けると書いてありましたが、実際には音がとても小さかったのでアンプ内蔵スピーカー(DaisoのUSBスピーカー)を使いました。
DaisoのUSBスピーカー(300円)の画像です。
動画で音声を確認
動画で実際の音を確認してください。ド・レ・ミ’・ファ・ソを永遠に繰り返します。
別のサンプルを試す
YAMAHAサイトのSample1は超シンプルのためもう少し複雑な音を出すサンプルを探してみました。
「滴了庵目録」というブログにサンプルスケッチが載ってたの拝聴させてもらいました。
ファイルは同じくGitHubのここのURLにアップされてました。
演奏するまでの手順を簡単に書き留めてみました。
- GitHUbページからZIPファイルをダウンロード。
- ArduinoIDEを起動し、「スケッチ」メニュー ⇒ 「ライブラリーをインクルード」 ⇒ 「.ZIP形式のライブラリーをインストール」と進み上のZIPファイルを選択する。
- 同じくArduinoIDEの「ファイル」メニュー ⇒ 「開く・・・」を選択しArduinoフォルダ ⇒ libraliesフォルダ ⇒ SimpleYMF825-masterフォルダー ⇒ exampleフォルダー ⇒ DoReMi.inoを開く。
- ArduinoNanoにダウンロードする。
ダウンロードが終了すると自動で演奏がスタートします。
ソースコードの下記の部分で0~15までの音色を変えつつド~オクターブ上のドまでを演奏してます。
0, GRAND_PIANO
1, E_PIANO
2, TENOR_SAX
3, PICK_BASS
4, TNKL_BELL
5, NEW_AGE_PD
6, BRIGHT_PIANO
7, VIBES
8, CHURCH_ORGAN
9, FLUTE
10, ROCK_ORGAN
11, NYLON_GUITER
12, SQUARE_LEAD
13, SAW_LEAD
14, HARPSICHORD
15, HARMONICA
今回はここで終了です。
次回はMIDIシーケンサーとの組み合わせにトライするつもりです。