効果音
PIC12F629、PIC12F675、PIC12F683を使った効果音のいろいろです。


作品1:歩行者用信号機のカッコーとピヨピヨ
【PIC12F629、675、683】

訂正です。下記の「カ」と「コー」の波形の図は上下が逆になっています。お詫び申し上げます。

印刷する場合は紙の向きを横向きに設定してください。

OOOOOOOOOOOOOOOOOOOOOOO
クリック<<<こんな仕上がりです。>>>
OOOOOOOOOOOOOOOOOOOOOOO

ooooooooooooooooooooooooooooooooooooooooooooooooooo
クリック<<<カッコーの「カ」の音程を変えて波形を見やすくしました。>>>
ooooooooooooooooooooooooooooooooooooooooooooooooooo

クリック<<<どこかのサイトから頂いた波形の見本です。>>>

クリック<<<どこかのサイトから頂いた見本です。カッコーの「コー」の波形で「カッ」の部分も出しています。>>>

歩行者用信号機のカッコーとピヨピヨのasmとhexの詰め合わせ
ダウンロード

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

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

「カッコー」と7回鳴いた後、約5秒無音状態がありその後「ピヨ」と7回鳴いてまた約5秒無音 の繰り返しです。
信号交差点の再現をして見ました。<こんな仕上がりです。>をクリックして聞いてみてください。 

サンプルとさせて頂いた波形から少し変更をしてみました。
「カッコー」の「カッ」の部分で波形に大きな山と小さな山がありますが小さな山を少し大きくしてみました。
そのほうが「カッ」と言う勢いが増す気がしたからです。
もう一点は「コー」の音の大きさが「カッ」に比べて小さく感じたので波形の触れ幅を広げました。

「カッコー」の「カッ」の部分も「コー」の波形で出しているサンプルもしっかり「カッコー」と聞こえています。
自分の「カッ」の波形との戦いは何だったのだろうと苦労した甲斐の無さを嘆いています。
まあ結果として腕を磨くお勉強にはなった今回の作品ではありました。

しかしオンとオフしかない世界でアナログ的な波形が作れるとは自分でも驚きです。
教えてくれる人や聞く人も近くにいないし説明をしてくれているサイトも探しましたが見つかりませんでした。
あとは自分の「ひらめき」を頼りにそれに向かって実験開始です。
PICに書き込んで音をパソコンに録音してメディアプレイヤーの画面に現れる波形とにらめっこ の連続でした。
で 何とか感触がつかめたところでいよいよ「カッコー&ピヨピヨ プロジェクト」スタートです。
音源を探しに交差点に行き携帯で音を録音。以外に録れません。騒音やら「カッコー」が意に反しておとなしい。
自分なりに波形を作りましたが途中で耳が麻痺して何を作って聞いても「カッコー」に聞こえてしまいます。
それではしょうが無いのでサイトでも探そうと思ったらありました。それが今回のサンプルです。

それでは説明です。うまく伝わると良いのですが。
上記でご紹介した和音オルゴールなどは矩形波でした。
つまりオンかオフです。スピーカーに数m秒5V(3Vでも)電気を流しその後、数m秒電気を切る。これを繰り返す。
これでスピーカーから音は出ます。
楽器のチューニングに使う「ラ」の音は440Hzです。
1÷440=約2.3m秒。2.3m秒÷2=1.15m秒。
1.15m秒電気を流しその後1.15m秒電気を切る。これを繰り返せばスピ−カーから「ラ」の音は出ます。

メディアプレイヤーの視覚エフェクト>バーとウェーブ>スコープ
と設定すると画面に鳴っている音の波形が現れます。
画面の下部が電源オフの位置で上部がオンの位置です。先ほどの440Hzの波形を見ると
上にあがり上部に数センチ(ミリ?)横棒がありその後下にさがり下部でも上部と同じ長さの横棒があり
それの繰り返しの波形が現れると思います。多少「ひげ」のような線があるかもしれませんが突入時と遮断時の起電力だと思います。
無視していいと思います。
この矩形波からどのようにアナログ波っぽくして行くかと言うと つまりはオンとオンの配合バランスなんです。  
アセンブラ的に言えば[BSF GPIO,0]と[BCF GPIO,0]の配合バランスです。
先ほどお話した440Hzでお話しますと1.15m秒オンしているわけですから
20MHzのセラロックを使用しているときは1行(1命令語数)で0.2μ 秒進みますので1.15m秒は1150μ秒ですので
1150μ秒÷0.2μ秒=5750となります。プログラムで5750行(5750命令語数)分になります。
オフしている時間も同様に5750行(命令語数)です。
計算をしやすくするために5750ではなく6000として話を進めます。 

このオンしている6000行を10分割します。6000÷10=600行になります。
今度は頭を切り替えて、10行のプログラムで1行オンで9行オフ(「A_1」と呼ぶことにします。)を作ります。
これを60回繰り返します。600行になります。
次に2行オンで8行オフ(「A_2」と呼ぶことにします。)を作ります。
これも60回繰り返します。600行になります。
次は3行オンで7行オフ(「A_3」と呼ぶことにします。)を作ります。
これも60回繰り返します。600行になります。
この理屈でプログラムを作っていくと10分割目(「A_10」)には10行全部がオンのプログラムになります。

(10行X60回繰り返し)X10分割=6000行。10段の階段的にオンを増やしてきました。
波形的には上がり調子の斜めのラインが出来ているはずです。これが矩形波のオンの時間に相当します。

矩形波のオフの時間に相当するプログラムはこれの逆を作るわけです。
10行のプログラムで1行オフで9行オン(「B_1」と呼ぶことにします。)を作ります。
これも60回繰り返します。600行になります。
次に2行オフで8行オン(「B_2」と呼ぶことにします。)を作ります。
これも60回繰り返します。600行になります。
次は3行オフで7行オン(「B_3」と呼ぶことにします。)を作ります。
これも60回繰り返します。600行になります。
最後の10分割目(「B_10」)には10行全部がオフのプログラムになります。

(10行X60回繰り返し)X10分割=6000行。10段の階段的にオフを増やしてきました。
波形的には下がり調子の斜めのラインが出来ているはずです。これが矩形波のオフの時間に相当します。

これを音が鳴ってる時間だけ繰り返します。
(「A_1」〜「A_10」→「B_1」〜「B_10」→「A_1」〜「A_10」→「B_1」〜「B_10」→・・・)
理論的にはのこぎりの刃のような波形が出来上がったはずですが実際はそうではないようです。  
波形は方眼紙に書く折れ線グラフのようには行かないようです。
実際にプログラムをして音を出してパソコンに録音して波形を見てみる。の繰り返し作業になります。
気が遠くなる作業ですがオンとオフの配合比率と波形の位置が把握出来れば今回の
「カッコー」の「カッ」のような複雑な波形もわりと簡単に出来ます。

しかし出来上がって見れば「カッ」なんて0.1〜0.2秒程度の短い時間ですよね。
それにこんな苦労してたなんて、と思いましたがお遊びですからね。

話を戻します。今回は10段階(「A_1」〜「A_10」と「B_1」〜「B_10」)
で話をしましたが簡易的なものなら3段階でも5段階でもいいと思います。
あと音程ですが「60回繰り返し」の回数を変えれば変化します。
回数を増やせば低音になり減らせば高音になります。つまり波形を収縮させるわけです。

以上が私なりに考えた波形の作り方です。あくまでも解説ですので実用的かどうかは別問題としてください。   
1つのバターンに10行も使ってしまっては波形作りだけに時間が消費されてしまい音程の微調整が出来ないとか
繰り返しのプログラムや[DECFSZ]命令などで消費される時間の経過とか無視出来ない問題にも気を配らなければなりません。
私の作ったプログラムでも1つのバターンに10行も費やしてませんしパターン数も10もありませんし
繰り返しや[DECFSZ]命令などでの時間経過も気にしました。

ひょっとして違ってるかもしれませんしもっと簡単に出来るのかも知れません。
しかし作った後に思ったことなんですが波形をいくら似せても聞こえてくる音が違うのはなぜ?
と言うことです。フィルター回路などで高音部とか低音部などの音質の調整でもしているの でしょうか。
この音質調整についても勉強しなければと思います。
実際に実験してみても取り付けるスピーカーによって音質が変わりますしPICとスピーカーの間に
抵抗器や電解コンデンサーやコイルを直列や並列に入れても音質は変わります。
このHP上でお聞かせしているものはPICとパソコンライン間に1μFの電解コンデンサーを入れてみました。
これはただ単にパソコン側の電気とPIC側の電気を分けているだけなんですがね。
音質も少しは変わってると思います。みなさんの聞いているスピーカーによっていろいろ聞こえ方が違ってると思います。
こちらで試したところ100円ショップで売っている「耳もとスピーカ−」ってのが安くていい感じです。
いろいろ試してみてください。

わからないことや、新しいアイデア、ご批判、アドバイスなどありましたら掲示板に書いてください。

追記:メディアプレイヤーの設定を「表示→拡張設定→グラフィックイコライザ」にすると
波形も見れて音質も調整できることが後になってわかりました。
グラフィックイコライザで高音部と低音部をカットして音をこもらせると
音程さえ合っていればどんな波形でも(矩形波でさえ)「カッコー」と聞こえることが判明しました。   
とても馬鹿馬鹿しい結論です。とほほほ。。。。。  

しかしこのHP、人に見られてる形跡がないのです。。。。


作品2:踏切警報機
【PIC12F629、675】

【参考動画】

PIC12F629で踏切警報機」のasmとhexと回路図とサンプル音源の詰め合わせ
「音源KEIHOUON_1は
.侫.ぅ詭FUMIKIRIの高音除去なし,△△蝓↓ファイル名FUMIKIRI_2(単音仕様)、ぅ侫.ぅ詭FUMIKIRI_3(和音)の100円スピーカーからのマイク録音の順です。
ぐ奮阿錬味稗裡渡寝擦任后
音源KEIHOUON_2は
.侫.ぅ詭FUMIKIRI_3(和音)、▲侫.ぅ詭FUMIKIRI_4(和音)の順です。
どちらもLINE録音です。
ダウンロード
YOUTUBEの動画は「_3or_4SELECT TYPE」と「3和音」が映っています。


ASMファイルFUMIKIRIのMAIN1の音程D'68'を D'51'に、波形A D'6'を D'9'に、波形B D'100'を D'150'に変えると音程が上がります。
音程 D'60'、波形A D'8'、波形B D'125'でも上がります。
音程 D'34'、波形A D'12'、波形B D'200'で1オクターブ上がります。
ファイル_2、 _3、 _4、は高音除去は使えないかも知れません。

_3or_4SELECT TYPE内に警報音とLEDのタイミングを少しずらしたプログラムを追加しました。
675FUMIKIRI_2WAY_NEWがそれです。少しリアル感が増しました。お試しください。


作品3:名鉄パノラマカー ミュージックホーン
【PIC12F629、675】

【参考動画】

愛知県周辺の方限定のネタかも知れませんがかつて名古屋鉄鉄道(名鉄)の特急電車が
駅に到着するときなどに鳴らしていた音楽の再現です。
動画サイトにもアップロードをしましたがうまく音がアップされていませんが
実際はかなり自信の持てる作品になったつもりです。
スピーカーによっても音質がかなり変わります。
裸のままではなくしっかりとケ−スに囲まれたものがよさそうです。
100円ショップのものでもしっかりした物ならばきれいに聞こえました。
LINE録音のサンプル音源
http://picdetukutte.toshi-ie.com/675music_horn.wav
TOUTUBEから音だけ抜き取った物
http://picdetukutte.toshi-ie.com/675music_horn2.wav

ASMファイル、HEXファイル、回路図の詰め合わせ
ダウンロード



作品4:自動車の電子ホーン(クラクション)のようなもの
【PIC12F629、675】


 当ホームページへお越しのお客様よりメールでのリクエストにお答えして作ったものです。
 「ようなもの」としてあるのは失敗作だからです。従って、中途半端な回路になっています。
出力にはオーディオアンプが必要ですが、小さな音で良ければスピーカーをそのまま接続すれば聞こえます 。
音のエコーを伸ばしたいときはプログラム内の「ECHO」(2箇所あります)の「D'100'」を増やしてください。(最大でD'255')
伸ばし過ぎるとちょっと音がふら付きます。それは失敗作だからです。
音は2和音で出ています。GP1,GP2に単音がそれぞれ出ています。
いろいろ触って遊んでみてください。

ASMファイル、HEXファイル、回路図の詰め合わせ
ダウンロード


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

 

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

トップページへ戻る