オルゴール
PIC12F629、PIC12F675、PIC12F683を使ったオルゴールです。
和音を出すことも出来ますし簡単な波形を作り出すことも出来ます。


BGMがうるさい方は「ダウンロード」をクリックして「キャンセル」をしてください。
音が消えます。
「ダウンロード」
このBGMのASM HEX 回路図の詰め合わせ


作品1:矩形波の2和音(3和音)オルゴール
【PIC12F629、675、683】

↓こんな風に聞こえます。
♪ケロロ軍曹
♪ハクション大魔王
♪くまのプーさん


上記3曲のASMファイルとHEXファイルの詰め合わせです。ZIPファイルになっていますので解凍して使ってください。
HEXファイルはノートパットやメモ帳に開いてください。
ダウンロード

ICはPIC12F675、629,683、どれでも良いです。 

セラロック(12MHz、3本足の物)2番ピン、3番ピンに取り付けます。
真ん中の足はマイナスへ接続します。
音楽スタートを押しボタンでする場合はプルアップ抵抗は10KΩ。4番ピン。
CDSを使う場合は30K〜50KΩのプルアップ抵抗。4番ピン。

スピ−カー。5番ピン。3V使用の場合は音が小さいので電解コンデンサーの
10μ〜100μFをPICとスピーカー間につなぐと音が大きくなります。
5V使用時は音が大きくなりすぎるので20KΩの半固定抵抗を入れます。
1KΩの抵抗でも良いです。スピーカーの特性にもよりますので加減してください。
圧電素子は和音に聞こえにくいのでやめたほうがいいです。
電源は1番ピンがプラス3V〜5V程度。8番ピンがマイナス0Vです。

CDSを使用する時はIC外で常に電気を消費しているので電池ではなくACアダプタを使用したほうがいいです。
12Vアダプタを使用して7805などのレギュレターICで5Vにしてもいいと思います。

曲作りですが音の最大数は1パートにつき255個です。
4分音符や8分音符の区別はありません。4分音符の場合は8分が2つと考えてください。
休符もありません。(出来ませんでした)低い音を選択してください。
両パートで同じ音を選択するとお互いが打ち消しあって音が出にくくなります。
それを休符としてもいいかもしれません。
テンポは変えられます。音の総数を入力るする必要があります。

詳しくはASMファイルを見てください。
わからないことは掲示板に書いてください。お答えします。

音質は今ひとつです。矩形波(方形波)は和音にすると高調波や低調波(倍音)が発生しやすいようです。
(発振周波数の3倍、5倍、1/3倍、1/5倍など)
プログラムでいろいろ工夫しましたがこれが限界でした。
ICの外部でそれらを取り除くフィルター回路が必要かも知れません。

100円ショップ(ダイソーではなく地元のお店)で買った耳元スピーカーってヤツに組み込みました。
丁度3mmLEDと小型CDSが入る穴が2つ開いていましたので利用しました。
左のはレギュレターICの7805を使って12VのACアダプターを利用しています。
右のは水銀電池CR2032を入れてあります。トグルスイッチで電源が切れるようにしてあります。
右側面下の赤いのがスタートボタンです。


【和音の考え方 和音の考え方 和音の考え方 和音の考え方 和音の考え方】

ご注意:この考え方は方法の1つで有り、さまざまな方法があります。

原理的にもプログラム的にも3和音も4和音も製作可能ですが実験の結果
前項で述べた高調波、低調波が倍増し聞けたもんじゃありませんでした。
またプログラムが増えた分、時間の経過分音程が下がりました。
低音も音程が不安定です。
しかし3和音だけあってメイジャーセブンやマイナーセブンの雰囲気は伝わります。
Dm7(Dマイナーセブン):レ ファ ラ ド
G7(Gセブン):ソ シ レ ファ
Cmaj7(Cメイジャ−セブン):ド ミ ソ シ (レ)

♪音の悪い3和音サンプル

♪音の悪い3和音サンプル(プログラム少々変更)

♪音の悪い3和音サンプル(上記の物にスピーカーと並列に1μFの電解コンデンサを追加)

休符が作れましたが音程が音痴です。休符を使わないときのハーモニーはなんとか聞けます。
休符付きasmとhexの詰め合わせ
ダウンロード

♪音痴な休符付き3和音サンプル


作品2:♪ネコふんじゃった
【PIC12F629、675、683】

↓こんな風に聞こえます。
♪ネコふんじゃった


「♪ネコふんじゃった」のasmとhexの詰め合わせ。
ZIPファイルになっていますので解凍して使ってください。
HEXファイルはノートパットやメモ帳に開いてください。
ダウンロード


PIC12F629,683でも使えます。
683の時に「ベリファイ(照合)がエラー」と表示されるときがありますが動くはずです。

これもまた100円ショップの「耳もとスピーカー」で聞くと
無駄な倍音を消してくれて当方の思惑に近い音質を出してくれていい感じです。
でもどんなスピーカーでも音は聞こえます。
PIC本来の奏でるエレクトリックサウンドを楽しみたい方は高出力用オーディオHiFiスピーカーでお聞きください。
どちらの場合も1μF程度の電解コンデンサーをPICとスピーカーの間に(直列に)入れてください。
(電解コンデンサーの極性はスピーカー側がマイナスになります。)

本当のところは「ピアノの音」を目指していたのですが結果として似ていない為
「ピアノの音」と記載する自信がありません。

おまけ1
ネコが歌ってる感じに聞こえます。
OOOOOOOOOOOOOOOOOOOOOOO
クリック<<<にゃ〜にゃ〜声入りバージョン。>>>
OOOOOOOOOOOOOOOOOOOOOOO

「おまけ1」のasmとhexの詰め合わせ
ダウンロード

ZIPファイルになっていますので解凍して使ってください。

PIC12F629,683でも使えます。
683の時に「ベリファイ(照合)がエラー」と表示されるときがありますが動くはずです。

おまけ2
ギターに近い音質です。
OOOOOOOOOOOOOOOOOOOOOOO
クリック<<<音程を下げたバージョン。>>>
OOOOOOOOOOOOOOOOOOOOOOO

「おまけ2」のasmとhexの詰め合わせ
ダウンロード

ZIPファイルになっていますので解凍して使ってください。

PIC12F629,683でも使えます。
683の時に「ベリファイ(照合)がエラー」と表示されるときがありますが動くはずです。

おまけ3
ピンクレディ−の「サウスポー」のイントロとアニメ「キャンディ・キャンディ」のイントロです。
OOOOOOOOOOOOOOOOOOOOOOO
クリック<<<2曲のイントロの繰り返し。>>>
OOOOOOOOOOOOOOOOOOOOOOO

「おまけ3」のasmとhexの詰め合わせ
ダウンロード

ZIPファイルになっていますので解凍して使ってください。

PIC12F629,683でも使えます。
683の時に「ベリファイ(照合)がエラー」と表示されるときがありますが動くはずです。


6種類の波形を用意して並べて音を表現しています。
ここには5種類の波形が写っています。


作品3:♪さとうきび畑(3和音)
【PIC16F648A】

↓こんな風に聞こえます。
♪さとうきび畑


「♪さとうきび畑」のasmとhexと回路図の詰め合わせ。
ZIPファイルになっていますので解凍して使ってください。
HEXファイルはノートパットやメモ帳に開いてください。
ダウンロード


音程の微調整が取れず音痴です。(良く言えば東儀秀樹さん風)
拍子の切り替わりがポツポツ言います。(ロングトーンが途切れます)
レコードのスクラッチノイズみたいな音が入ります。

【参考動画】




作品4:♪STAR TREK(3和音)
【PIC12F683】

↓こんな風に聞こえます。
♪STAR TREK


「♪STAR TREK」のasmとhexと回路図の詰め合わせ。
ZIPファイルになっていますので解凍して使ってください。
HEXファイルはノートパットやメモ帳に開いてください。
ダウンロード


PWM機能を使っての3和音です。音色を変えたつもりですが聞き分けられますか。
プログラムが重くなってしまい高い音が出にくくなり音程も狂いがちになってしまいました。



作品5:単音オルゴールキット
【PIC12F675】

単音のオルゴールプログラムキットを作りました。簡単な波形も作れます。
遊んでみてください。

PIC12F675単音オルゴールキット

ZIPファイルになっていますので解凍して使ってください。



作品6:AVRを使った矩形波3和音オルゴール
【ATtiny2313】

PICのライバル関係(?)にあるAVRで矩形波3和音オルゴールを作ってみました。
PICのアセンブラの理解力で充分AVRのアセンブラは理解出来そうです。
AVR派の人たちから「PICのアセンブラは変態的」と良く言われますが
PICに慣れている側から見ればAVRも充分変態に見えてしまいます。
お互いに特異性はあると言う事でそれが優劣にはならないという印象です。
  AVRの優位性のひとつは命令語に対するサイクル速度がPICと比べて格段に早いと言う点です。
AVRの4MHzはPICの16MHzに相当します。つまり4倍です。20MHzなら80MHzです。
これは音楽やTVの映像には有利に使えそうです。
しかしちょっと音が正直過ぎて息継ぎ(割り込み)のタイミングが顕著になりすぎです。
音質はとても良いです。
サンプル音源
asmとhexと回路図の詰め合わせ。
ダウンロード



付録:PICのプログラムに於ける和音の考え方
今までいろいろな和音の作り方をしてみましたが最近はこの作り方で落ち着いていますのでご紹介します。
下の絵を見ながら説明をします。
Aの絵では音程1、音程2を示しています。これをHの駒、Lの駒で表現するとBの絵になります。
Hの駒はプログラムでは「BSF PORTB,0」と書かれるような命令です。Lの駒は「BCF PORTB,0」です。
この絵では駒の数が3、4個ですが実際の音程を作るためには40個や80個ほどになると思います。
その駒を1つずつ順番に並べていくようにプログラムを作ります。
つまりCの絵のようになるようにプログラムを作って行きます。これだけで和音が出来上がってしまいます。
残像現象に近い感覚かも知れません。

波形的には1駒分をPWM制御のデューティー比50%と考えるとDの絵のように2駒を1組として並べて行き
Hが2駒で100%、Hが1駒で50%として表したのがEの絵です。
それを波形として表すとFの絵になります。
実際の波形が下のように見えます。Gが3和音、Hが2和音、Iが単音です。
PWM制御の音の和音は1つのPWMの値を1つの駒として上記の絵に当てはめて作って行ってください。



ご意見ご感想質問何でもどうぞの掲示板はこちら <<<クリック>>>

 

内緒でお話がしたい人はこちらまで
picdetukuttemimasita@yahoo.co.jp

トップページへ戻る