名張市つつじが丘おもちゃ病院

三重県名張市つつじが丘でおもちゃの病院を開院しています。年中無休で修理は無料、部品代のみ実費です。おもちゃの修理依頼は tutuji@cb4.so-net.ne.jp へメールにてご連絡下さい。なお、宅配便での受け付けは行っておりません。このブログにはおもちゃ等の修理事例やツール製作などを載せていきます。故障診断や修理方法の改善等、ご意見をお寄せ下さい。

PIC電子オルゴールVer5_6で(糸魚川)Dr.渡辺氏の曲目を追加 (第2弾)

糸魚川で活躍されているDr.渡辺氏がPIC電子オルゴールの曲データを作ってくれた。今回はロシア民謡などが追加された。どれも素晴らしい出来栄え。感謝 感謝!

MPLABXプロジェクトと関連資材は ここから ダウンロードできる。

Dr.渡辺氏のブログはこちら

追加した曲目
PIC電子オルゴールVer5_6で(糸魚川)Dr.渡辺氏の曲目を追加 (第2弾)曲目1
PIC電子オルゴールVer5_6で(糸魚川)Dr.渡辺氏の曲目を追加 (第2弾)曲目2


以下は Dr.渡辺氏 からのコメントをそのまま掲げる。

「名張市つつじヶ丘おもちゃ病院」Dr大泉院長が開発された、お馴染みのPIC電子オルゴールに、2017年末、糸魚川「おもちゃクリニック ゆりかご」Dr渡辺(私)がロシア民謡など数曲を追加したもの。
これに伴い、最新のオルゴールエンジンに対応した、小さな「ゆりかご編オルゴール」プロジェクト作って動作確認したので報告する。(★私のコメントは、文末にW)

【使用したデバイス】
Dr大泉院長が最近追加されたデバイスは(新)と表示された以下のもの。単価(2017年秋月)も表示されている。W

   12F1501  1kワード  8ピン  16MHz  @70円
   16F1503  2kワード  14ピン 16MHz  @70円(SOICパッケージ)
(新)16F1579  8kワード  20ピン MSSP無し @140円
   12F1612  2kワード  8ピン  MSSP無し @80円
   16F1705  8kワード  14ピン        @100円
   16F1709  8kワード  20ピン        @150円
   12F1822  2kワード  8ピン         @100円
   16F1827  4kワード  18ピン        @130円
   12F1840  4kワード  8ピン         @120円
   16F18313 2kワード  8ピン         @75円
(新)16F18325 8kワード  14ピン        @100円
(新)16F18326 16kワード 14ピン        @130円
(新)16F18857 32kワード 28ピン        @170円


「12F1822はデータSRAMが128バイトしか無く陳腐化してしまった感があるが、まだユーザが多いようなので、PIC電子オルゴール初心者の学習用にサンプルコードを保持している。おもちゃへの換装用には16F18xxxがお薦めだ。」
とのコメントがあるが、私は使用電圧が低くても割と安定動作するので非常に重宝しており、サンプルコードの保持には感謝申し上げます。W
やはりメモリ容量は少ないが音声再生を実装しなければ、まだ十分に使用する価値があると思われる。W

秋月からは、12F1822と同型で消費電流が少ないタイプのPICも発売されているので、今回はそちらも使ってみた。W
(追加)12LF1822  2kワード 8ピン  @110円。W


【プロジェクトの説明】
機能とデバイスの組み合わせで個々にプロジェクトが作られていて、その組み合せはプロジェクト名に織り込まれている。

今回、既存のプロジェクトに新曲を追加搭載したのは、「kyoku」プロジェクトのみ。W
そして新規「yurikago」プロジェクトには最初から新曲を入れてあり簡単に選曲ができる。W


demo
消防車・パトカー・救急車のサイレン音を電子オルゴールで演奏するモデル。

kyoku
メモリが許す限り多くの曲を収容したモデル。音源は正弦波の基本波と4次高調波をミックスしたもの。
ソングテーブルに新曲を(コメントアウトした状態で)追加した後、クリーン&ビルドでエラーなく完了したことを確認した。W

ongen
音源のバリエーションを聞かせるモデル。音源はピアノ・正弦波類・リング変調波など。

onsei
電子オルゴール演奏と音声再生を同時実行するモデル。但し、プログラムメモリが2kワードのデバイスは音声データだけでメモリが一杯になるので、音声再生のみを実装している。

PICxxx
xxxでターゲットのデバイス名を示す。

PROG
音声データをプログラムメモリに収容したモデル。

I2C
音声データを外付けの24FC512に収容したモデル。24FC512に入れるデータのプロジェクトは「Mirrorna_24FC512」。

SD
音声データをSDに収容したモデル。格納ファイルは「SD\ANPANMAN.wav」。

demo・kyoku・onseiのモデルは200Ωスピーカーまたは圧電スピーカーをPICから直接駆動するためにBTL出力としている。また、電源オンで演奏開始する。

PROG・I2C・SDのモデルはトリガ入力ピン(RC0~5)を操作して、演奏曲と再生音を選択し動作開始する。

例えば、「onsei_PIC18857_SD」は電子オルゴール演奏とSDからの音声再生をコンカレントに実行するモデルで、ターゲットは16F18857。RC0~RC5で演奏曲と再生音を選択する。

yurikago_PIC1705 (以前は watanabe__PIC1705 と名付けていたプロジェクト)
糸魚川のおもちゃDr渡辺様が作られた楽曲を収容したモデル。PIC電子オルゴールの機能を上手く引き出してくれている。他のモデルでは11分のオートパワーオフが仕掛けてあるが、このモデルはエンドレスに演奏し続ける。開発作業のBGMに最適だ。
ソングテーブルの末尾に拙作の曲目を追加して「ゆりかご編オルゴール」用の曲目が多く揃い、国内・国外のバランスも取れて選曲も楽しめるようになった。W

yurikago
これが今回、新規に作成したモデルで、12F1840用に実装されたものが全て新曲で、ロシア民謡4曲は音源波形にRING4を使い、+讃美歌2曲+大正期童謡2曲。W
そろそろクリスマスが近づいてきたので、12F1822用には、新曲から「アメージング・グレース」と「さやかに星はきらめき」の讃美歌2曲を実装してみた。W
新しいデバイスの、12LF1822用には、一番データ量が大きいロシア民謡の「黒い瞳」一曲がギリギリで実装できることを確認。W
いづれも、スイッチ押下で連続演奏を開始し、演奏途中でのスイッチ押下は次の曲目にスキップして演奏を続け、実装された最終曲の演奏終了後にSTOPする。W
私は現役時代42年間を事務屋一筋で定年退職、このようなプロジェクト開発は初めてだったが、あらかじめソースファイルに記載されたDr大泉院長の丁寧な解説コメントや過去のブログ記事を精読しながら、ようやく作り上げたもの。W


【プロジェクトの構成】
プロジェクトは単一のソースコードで構成されていて、ソースコード名は「プロジェクト名.asm」となっている。そのソースコードからオルゴールエンジン・音符データ・波形データなどがincludeされる。

下記のデバイスについては、デフォルトのリンカースクリプトではプログラムメモリのセグメントが分断されているので、PIC電子オルゴール向けに1セグメントにしたものを用意している。

16F1579
16F1705
16F1709
12F1840
16F18325
16F18326


【PIC電子オルゴールのセールスポイント】
今までのおもちゃ修理事例からPIC電子オルゴールのメリットを紹介する。

①マイコンだから演奏の自由度が高い。
「うたおう!おうた カラオケ絵本」の修理では、カラオケであることから添付の楽譜通りに演奏しないといけない。PIC電子オルゴールは音符データを自由に作れるので元々の演奏内容を忠実に再現することが可能だ。演奏の表現としてベロシティ、テンポ、ピッチベンドの動的なコントロールも可能である。

②音声再生もコンカレントに実行できる。
電子オルゴールは音符データに従って演奏音のPCMデータを計算してPWM出力している。音声再生は、音声のPCMデータを電子オルゴールで計算したPCMデータに加算するだけでコンカレント実行が実現できる。「不思議なドレッサー ミラーナ」では、オルゴールを演奏しながら女の子がしゃべったり、効果音も同時に鳴らしている。
音声再生のチャネルは最大3個まで実装できる。つまり3音声まで同時に再生できるということだ。

③効果音もオルゴール演奏で実現できる。
効果音を音声再生でやると音声データが嵩張って大きなメモリが必要になる。パトカーや救急車のような音は音符表現すればオルゴール演奏で効果音を出すことができる。「キッズドライバーのハンドルV2」ではパトカー、救急車と消防車のサイレン音をPIC電子オルゴールで演奏している。サイレンの音程が滑らかに上下するのはピッチベンドコントロールの機能である。消防車の鐘の音は実際の鐘の音をオルゴールの音源データとして用いているのでかなりリアルに演奏できている。

④音源の自由度が高い。
消防車の鐘の音もそうだが、実際の楽器音をPCMデータにして音源データとすることで、楽器の音色を表現することができる。「電子オルゴール+音声再生」ではピアノの音色やリング変調による金属的な音色で演奏している。

⑤おもちゃの制御も同時に実行できる。
オルゴール演奏と音声再生をコンカレントに実行しながらおもちゃの制御も同時に行わないとおもちゃの修理には使えない。
「アンパンマン電動レールでGO!GO!DX」では赤外線信号のデコードとモーター制御、更にバッテリー電圧の監視も同時に行っている。

⑥外部メモリを利用して長時間の音声再生ができる。
I2CインタフェースのシリアルEEPROM(24FCxxxなど)やSDカードから音声データを読み込んで、音声再生させることができる。SDカードなら数時間の音声を扱うことができる。
24FC512を繋いだ修理事例は「不思議なドレッサー ミラーナ」
SDカードからの音声再生の事例は「SDカードからの音声再生」


【PIC電子オルゴールの開発経緯】
①最初はビープ音から
今でこそサンプリングシンセ擬きの仕掛けになったが、最初は音高と音価に従ってポートをH/Lにして矩形波を出力する「ビープ音」だった。1つのポートには1つの音しか出せないため、複数ポートの出力を外部でミックスして複数パートの演奏をやっていた。

②PCM化
PWM内蔵の廉価なPICが出回り始めてPWMを使ったD/A変換が実装できるようになったので、内部の処理では音のデータをPCM形式で扱うようにした。単調なビープ音にエンベロープを付けて、少しはマシな楽音表現になった。パート数を増やすよりもエンベロープ表現を取込んだ方がオルゴール演奏としては効果が大きい。両方実現できれば良いのだが、廉価なPICではCPU能力が貧弱で無理だ。今のところパート数は通常2パートで、3パート演奏が限界だ。
音源もビープ音からPCM音源に替えた。音色のバリエーションを実現するのにリアルタイムに波形演算を行ったのではCPUが足りない。そのため、波形計算を予めPCで行って、その結果をPCM音源としてPICに持ち込むことにした。実際の楽器音をサンプリングしたPCM音源も再生できるが、当初の発想はPICの処理能力を補うための手法だった。
PCM化によってベロシティとピッチベンドの動的なコントロールが可能になった。

③音声再生機能を追加
内部処理をPCM化したことで、PCM録音された音声データの再生機能も容易に追加できた。

④外部メモリのサポート
音声データは嵩張るので、長時間の音声はPICの内蔵メモリには収まり切らない。そのため、容量の大きなメモリを外付けすることにして、I2CインタフェースのシリアルEEPROMとSDカードの接続をサポートした。
SDカードは、PICの性能が低いためFATシステムは実装できず、物理層でのアクセスを行っている。MP3デコードもできないためWAV形式のみのサポートとなる。
スポンサーサイト
  1. 2017/12/06(水) 22:37:24|
  2. 製作記事
  3. | コメント:2
<<BRUIN(Licht und Sound Lok)(マイコン換装)事例2 | ホーム | 2.4GHzラジコン用ファームウェア(SE8R01)の応用事例>>

コメント

この電子オルゴール音は心地よい音色が特徴で、保育園の先生やママさんたちにも、大好評!
そして何より、モーター制御やLED点滅など、おもちゃに必要な動作を(大泉院長にお願いして)
カスタマイズして実装できることは、全国のおもちゃドクターも、大感謝です。
  1. 2017/12/15(金) 20:31:57 |
  2. URL |
  3. Dr.わたなべ.M #-
  4. [ 編集 ]

初めての「中間試験」に臨む心境です。

この一年の技術研修は、私にとっての「TOPニュース」です。初心者へのご指導に感謝申し上げます。
※試作品の報告記事、URLリンクをご覧いただければ幸いです。
  1. 2017/12/09(土) 21:05:58 |
  2. URL |
  3. Dr.わたなべ.M #-
  4. [ 編集 ]

コメントの投稿


管理者にだけ表示を許可する

プロフィール

大泉茂幸

Author:大泉茂幸
名張市つつじが丘おもちゃ病院
名張市つつじが丘南3番町129
tutuji@cb4.so-net.ne.jp
090-5534-6494
連絡は上記のメール、またはSMSでお願いします。

子どもの頃から趣味は電子工作一筋でやってきました。理科離れが進む中で科学技術に興味を持つ子どもが少しでも増えて行くことを願って、子ども達に電子工作の活動の場を提供しています。

1981年からおもちゃ病院の活動を始め、2014年に三重県名張市への移住を機に「つつじが丘おもちゃ病院」を開院しました。自分でおもちゃを設計し製作する【おもちゃ工房】と、マイコンを応用した電子工作を楽しむ【マイコンクラブ】も併設しています。新規参加メンバーを募集しています。

本ブログで公開している技術情報や成果物のご利用および再配布はフリーです。読者様の技術活動のお役に立てば幸いです。ご利用いただいた結果や感想等を記事へのコメントやメールでフィードバックしていただけると有難いです。

最新記事

最新コメント

月別アーカイブ

カテゴリ

おもちゃ病院 (7)
技術情報 (9)
修理事例 (141)
製作記事 (74)
ドクター研修会 (2)
PIC開発 (9)
未分類 (8)

訪問者数

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

ブロとも申請フォーム

この人とブロともになる

QRコード

QR