トピック
PianoRider pianorider

BEEP音で音階演奏

ファミコン『バルーンファイト』のBGMを聴いていて、これができたら近いものが作れるのかな?と思いました。 ググってみると、おちゃめさんのサイトに辿り着いたのですが、理解できませんでした。 『CDEFGAB』でいいので、プログラムの例を載せていただけると嬉しいです。よろしくお願いいたします♪
18そうだね
未プレイ
返信[1]
親投稿
TTcreation TTSOFT
EDITモード上で「MML」と打ち、 ヘルプキー(「?」マーク)を押すと 詳しい説明が載っています。
2そうだね
プレイ済み
返信[2]
親投稿
プログラムの例だとダイレクトモードで LOAD "SYS/EX3KEYDRUM",0 と打つと出てくるやつがあります。 ネットで1976を2進数で プチコン と検索すると出てくる初心者講座に詳しく解説があります。
3そうだね
プレイ済み
返信[3]
親投稿
MMLの音色にBEEP用の音なかったっけ。
2そうだね
プレイ済み
返信[4]
親投稿
TTcreation TTSOFT
↑ありますね
2そうだね
プレイ済み
返信[5]
親投稿
TTcreation TTSOFT
@271あたりからかな
1そうだね
プレイ済み
返信[6]
親投稿
TTcreation TTSOFT
ごめんなさい多分違います… 「MML 音色 プチコン」とかで 検索すると出てきます
2そうだね
プレイ済み
返信[7]
親投稿
まげ MAGE_LOVEMARINE
たぶん、昔の8bitPC辺りで実現していた、連続してBEEP(プチコンのBEEP命令とは異なる、単なるブザー音)を鳴らし、そのBEEPとBEEPの間をどう空けるか(プチコンで言えばWAIT)によって、音の違い→音階を表現するか、というテクニックのことだと思うのですが、どうでしょう。 ただ、プチコンの処理速度だと、これをそのまま実現するのは難しそうなので、以前代わりに考えたのが、「周波数での変化」です。 添付画像の周波数の変化で、ドレミファソラシドに聴こえると思います。
6そうだね
プレイ済み
返信[8]
親投稿
あんど AND1GOUKI
BEEP命令の「周波数」を調整して音階を奏でるハナシですかね? 初代のプチコンにはMML演奏機能が無かったので、周波数を調整して音階を奏でる技が有ったと記憶しています。 「100で半音」らしいので、詳しくはBEEPでヘルプ機能を開いて下さいね。 拙作に周波数のテストに便利なツールが有るのでどうぞ。 「BEEP TESTER」 公開キーXK2NXX3P 使い方は、、、 下画面タッチで設定をイロイロ変えて「BEEP TEST」をポチッです。
3そうだね
プレイ済み
返信[9]
親投稿
まげ MAGE_LOVEMARINE
あ、8bitPCにおいての例を、具体的に思い出しました。 BEEP 1:::::::::::BEEP 0 というテクですね。コロンの数で音階が変わる的な。
1そうだね
プレイ済み
返信[10]
親投稿
Hanzo rzsense
BEEPの音階を変えるのは、第二引数によって行います。このとき、第二引数が100増えると、音階は半音上がります。「BEEP 0,0」がドなら、「BEEP 0,200」はレ、「BEEP 0,1100」はシになります。 添付プログラムを試してみてください。 ちなみに、第二引数の最大値は32767で、これは27オクターブ強に相当します。原音の周波数が400ヘルツだとすると、27オクターブ上の音は、53.7ギガヘルツにもなります。超音波どころの騒ぎではありませんね。
4そうだね
プレイ済み
返信[11]
親投稿
まげ MAGE_LOVEMARINE
ちなみに、MMLでレトロっぽい音にしたいのなら「@80」、よりレトロ感を出したければ「@147」という音色を使うのがオススメです。 閑話ですが、ほぼ同タイミングで、ご同輩がコメントをしているのが印象的だったことを書き添えさせていただきます(^^;)。
6そうだね
プレイ済み
返信[12]
親投稿
PianoRider pianorider
TTcreationさん、クレーンさん、そらいろ。さん、まげさん、あんどさん、Hanzoさん、ご教授をありがとうございます! BEEPのヘルプは見たことがなく、見てみたら『半音は100』としっかり記載されておりました。。 まげさんとHanzoさんの添付プログラムは実際に打ち込んでRUNしてみました♪(まげさんの550という数値は、500の入力ミスと解釈しておきます♪) 今回質問させていただいたのは、「ファミコン初期の任天堂ソフトでよく使われている、ポップな跳ねたような音色(言葉で伝えるの難しいw)に音階を付けたものを表現してみたい。」という思いでした♪ つづく
2そうだね
未プレイ
返信[13]
親投稿
PianoRider pianorider
自分で波形をいじって音色を作れれば一番良いのでしょうが、勉強不足でちんぷんかんぷん・・・。プリセットにあるBEEP音に音階を付けられれば、近いものが作れるのでは?と考えたのです。 Hanzoさんのプログラムにて音色を47番にすると、私が想像している音に近いものが出せました。これを普通にMMLで入力した音楽と同期させられるのか・・・またいろいろやってみます~♪ レトロっぽい音楽といえば、プチコンBIGで作った『初代ゼルダの伝説オープニング曲』を某有名動画サイトにアップしております~♪(プチ宣伝w)
3そうだね
未プレイ
返信[14]
親投稿
V=21 F=100 FOR I=0 TO 11 P=F*I BEEP V,P VSYNC 30 NEXT これでC C# D D# E F F# G G# A A# B と鳴るはずです。 1オクターブずらすときは P=F*I±F*12(+は高く、-は低く)とすればオッケーです。
2そうだね
プレイ済み
返信[15]
親投稿
PianoRider pianorider
けんしろウッさん、ありがとうございます^^ 変数Vの数値を変えると、いろいろなBEEP音で音階が鳴らせそうですね♪ これも帰ったら打ち込んでみます~。
3そうだね
未プレイ
返信[16]
親投稿
おちゃめ ochame_nako
すでに解決済みのようですが私のサイトの「プチコンMML」にたどり着いたのであればプチコンmkIIは半音が341.3、プチコン3号は100なのでその部分さえ修正すればプチコン3号で動作すると思います。
2そうだね
プレイ済み
返信[17]
親投稿
おちゃめ ochame_nako
ちなみに341.3というのは4096/12のことです。初代プチコンではMML演奏機能が備わっていなかったためこのような自作音階演奏プログラムを各個人が作っていました。 昔のポケコンでもMML演奏機能がなかったのですがBASICでは処理速度が遅く実用的ではありませんでした。したがって、私は「OMP」という独自MMLを考案して限界までの処理速度向上を行いリアルタイムの構文解析処理を行えるようにしました。 そのOMPはプチコン3号用も用意しています。プチコン3号用は処理が速いため特に高速化は行っていません。 https://miiverse.nintendo.net/posts/AYIHAAAEAABEVRTpedKpGg
2そうだね
プレイ済み
返信[18]
親投稿
PianoRider pianorider
おちゃめさん、コメントをありがとうございます! おちゃめさんのサイトは、私には少し難易度が高いのでなかなか理解できないのですが、また自分のレベルが上がったころにおじゃまさせていただきます♪
0そうだね
未プレイ