Help us understand the problem. What is going on with this article?

ジャパリオルゴールを作ってみた(紹介編)

implemented

🎄この記事は けものフレンズ Advent Calendar 2018 1日目の記事です🎄

Arduino NanoYMF825Board で演奏する電子オルゴール「ジャパリオルゴール」を制作しました。
完成までの過程を記録すべく、4記事に分けてジャパリオルゴールについて紹介していきます。

機能と特徴

YMF825Board によるFM音源ステレオ演奏

YMF825 (SD-1) は同時発音数は16ボイス、1ボイスにつき4オペレータが使用可能なFM音源LSIです。YMF825 自体はモノラルですが、2つを同時使用してステレオ演奏を実現しています。


microSD から演奏データの読み出し

基板背面に microSD モジュールを搭載しており、大量に演奏データを格納できます。演奏データは1曲1ファイルとなっており、microSD カードに演奏データのファイルをコピーするだけで簡単に追加ができます。


miniUSB または DCジャックで電源供給

電源電圧は 5V で、USB または DCジャック から選択できます。DCジャックの場合、Arduino Nano に組み込まれているレギュレータにより 7~12V が入力できます。市販の9V電池も使用できます。


制作までの経緯

ymf825board

昨年投稿した「YMF825を使ってFM音源でサファリメロディーを響かせてみた」にて既に、FM音源LSIを使った楽曲演奏は達成していました。ここで使用した YMF825Boardステレオ化基板 は安価ながら音質も追求されており、演奏用途であっても十分な性能を持っています。

しかし、YMF825Boardステレオ化基板を使うにあたり、解決してみたい問題が出ていました。

可搬性(持ち出しやすさ)

YMF825Boardステレオ化基板は単体では演奏できず、シーケンサが必要になります。大抵の場合はパソコンと接続して、シーケンサとなるプログラムを動かして演奏させます。
けものフレンズはファン同士の交流が多く、自分の作品を紹介する機会が少なくありません。ノートパソコンと基板を接続して歩き回るのは両手が塞がってしまいますし、常にパソコンと基板をセットで準備しなければなりません。


扱いやすさ

シーケンサの実装次第ですが、パソコンはシーケンサとして使うにはオーバースペックです。基板を家の外から持ち出すときは演奏だけができればよく、楽曲編集のユースケースはほぼありません。


おとのなるはこ

おとのなるはこ

そうして試作したのが「おとのなるはこ」です。これは YMF825Boardステレオ化基板 の上に Raspberry Pi Zero W をスタックさせ、さらにスピーカーも組み込んでしまおうという習作です。詳しくはリンク先の動画にて解説しています。

電源こそ外部供給だったものの、RasPi にシーケンサプログラムを作り、データ読み出しも兼ねて演奏しようという意図がありました。ところが、ユニバーサル基板の配線に不慣れな上にコネクタの接触不良も多く、さらには RasPi からのノイズがひどい状態でした。接触不良、ノイズ問題を克服すべく、まずは プリント基板の設計術を身につける アプローチをとりました。

プリント基板で試行錯誤

それまでまったくプリント基板の作り方を知らなかったため、ハードウェアに詳しいフォロワーさんから、まずはオススメの CAD をいくつか教えていただけました。結果、ジャパリオルゴールに至るまで 3 種類の基板を制作しました。

名称 画像 結果
JukeBOX 2.0 失敗 習作。部品の密度が高すぎ、実装に挫折
JukeBOX 2.1 失敗 フットプリントを間違える、パターンカット必須、激しいノイズなど
miniBOX 成功 ノイズ源の RasPi を排除し、演奏に必要な部品だけを厳選。PC接続必須
JapariOrgel 1.0 成功 Arduinoを採用してPC不要に。microSDも採用してストレージ問題も克服
JapariOrgel 1.1 成功 機能は変わらず、部品の配置とシルクミスを修正

最初に失敗が続いているのは、ノウハウの無さが原因です。
部品を配置するためのパッド位置が不正だったり、極性が逆だったり、そもそもCADに慣れていなかったのも原因です。逆に成功した要因は、一度に大量の機能を載せるのではなく、的を絞って部品数を少なくすることで洗練させたためです。作ってみないとわからない、しかし発注したらやり直しが効かないプリント基板の難しさを学びました。

また、シーケンサとして Arduino を使い始めたのも洗練の結果です。ジャパリオルゴールにおいて Arduino は microSD カードからデータを読み出し、デコードして、演奏命令を YMF825 に伝えているだけです。

ルール

ジャパリオルゴールに至る過程で、以下の3つのルール(要件)を定めました。

  • 記録媒体を入れ替えて容易に曲を変更でき、動作にパソコンを必要としないこと
    • PCM の演奏ではなく、その場でリアルタイムに波形合成される(大前提)
    • 持ち運びが容易である
  • 作りやすく、見栄えもよいものをつくること
    • 製作者本位にならないよう、部品は入手しやすいものを採用する
    • 部品未実装の基板だけでも作品として成り立たせる
  • 可能な限り安価であること
    • お金をかければ何でもできるが、その分 考えるべきことが多くなるため必要最低限で済ませたい

リアルタイム波形合成は大前提としました。FM音源が好きという理由もありますが、これが消えてしまうと、いわば単なるMP3プレイヤーを作ることになりかねないためです。

演奏の様子

上記の動画はイヤホンジャックからの出力を録音したものです。

ジャパリオルゴールに至るまで、ハードウェアではプリント基板の設計・ファブリケータへの発注、ソフトウェアでは Arduino のスケッチ開発など、ハード・ソフト両面で様々な試みをしました。そのどれもが私にとっては初の試みでした。

それぞれ、どのような製作・制作過程があったかを詳しく解説していきます。


ジャパリオルゴールを作ってみた(ハードウェア編) : 次の記事

ジャパリオルゴールを作ってみた(ソフトウェア編)
ジャパリオルゴールを作ってみた(未来編)

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away