INASOFT 管理人のひとことフリーソフトダウンロードサイト「INASOFT」の管理人 矢吹拓也 が日々の「ひとこと」を語るページです。 2021年1月1日より、旧ブログ(blog.inasoft.org)からお引越ししました。 ・INASOFT Webサイト: https://www.inasoft.org/ ・管理人のふたこと(長文記事/寄稿文): https://www.inasoft.org/talk/ 2022年7月下旬より再び本業多忙化してきているため、更新頻度は落ちます。 [2022/7/24 19:32] Tweet ■動画公開のお知らせ:PC98シリーズ(MS-DOS)で奏でるBEEP和音のBGMの世界/他の解説2022年 8月23日(火) 0:00:00 |
RSS配信中 | |
前々々回、前々回で、INASOFTで公開しているPC98, MS-DOS向けのゲーム等を紹介しました。 これらのゲームは作者が高校生当時、文化祭用に出展したゲームなわけですが、展示用に学校から借用できるPCのスペックの制限や、そもそも1995年当時の最新機種のPCにFM音源ボードが必ずしも搭載されていない等の事情から、FM音源が必ずしも使用できない環境となっていました。 そこで、BEEP音を用いた疑似和音によるBGM演奏を採用しました。今回は、PC98シリーズ(MS-DOS)で奏でるBEEP和音のBGMの世界を紹介しようかと思います。 前回までは、テキスト形式のご紹介ということで、「管理人のひとこと」で紹介を行っていましたが、さすがにBGMの話をテキストで行うのは難しいので、今回ばかりは動画の方を観ていただければと思います。 今回、題材として扱った曲(BEEP版)全体は、こちらで聞くことができます。 PC98で、エラーを通知する際に「ピー」とか「ピッ」といった感じで鳴らされる音は、音程・音の長さを自由に変えられるため、これを利用して、疑似的に和音 or メロディ+伴奏を作ってしまおうというものです。 PC98(MS-DOS)時代のSGシリーズでは、2chの音声を時分割して、2つのチャンネルを交互に細かく切り替えながら鳴らすことで、あたかも和音 or メロディ+伴奏っぽくしています。 BEEP音は、out命令を発行して鳴らすことになります。当時はアセンブリ言語で作っており、抜き出すとこんな感じで。 _beepfleq PROC ; void beepfleq(unsigned f) push bp mov bp,sp mov dx,3fdbh mov ax,[bp+4] out dx,al mov al,ah out dx,al pop bp ret _beepfleq ENDP 鳴らし始めたら、次のIntervalTimerのタイミングまで待って、止めて、次の音を鳴らして……というのを、非常に細かいタイミングで行います。 ところで、この「非常に細かいタイミング」は、現在は、60分の1秒というタイミングで行っています。これは、画面のリフレッシュのタイミングと同じであり、ゲーム作りの際に様々な計算を行う処理と同時に行えるということから採用しているものです。でも、実際にはどれくらいが適切だったのか? 検証してみてほしいというリクエストがありましたので、そのための動画も作ってみました。 1/20秒 ~ 1/120秒で、最適なものはどれかを検証しています。ただ、聞こえ方には個人差があると思いますし、再生している環境のスペックの問題でブチブチとなってしまっているところもあり、多すぎず…少なすぎず…なあたりが良いのかもしれません。 また、再生したものを録音するのではなく、Beep音っぽい音を交互に鳴らすWaveファイルを作成してみるという試みも、現在継続して行っています。Pythonでサインカーブを計算しながらWaveファイルを直接生成するというのを試みているサイトがあったので、それを真似しながら。まぁ、サインカーブのままだとBeep音っぽくないので、sin関数で得た値を9乗くらいして、波形がなるべくカクカクするような感じで音を作ってみています。奇数乗ならば、符号は維持されるので。ただ、周波数の切り替わり目のところで波が綺麗につながらず、プチプチと変な音が鳴ってしまうため、きれいに波がつながるようにする方法を検討中です。久しぶりに、数学科出身っぽいことをやっています。 と、ここまで書いて思ったが、そもそも正弦波にする必要性自体がない気がしてきました。そんな感じで、滑らかさのほぼない波形データを作るようにして、なんとなくうまく行きました。 環境のスペック云々は関係なかったみたい…。 さて、動画制作なのですが、お盆休みが終わり、多忙度が極端に増してしまったため、まとまった時間が取れなくなりました。なので、いったん、AdobeプレミアProの契約は終了にして、また時間に余裕ができ始めて、動画制作する余裕ができたら、再度契約 or 動画制作ソフトの再選考をすることにしようかと思います。 目次の表示: ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメール、フィードバックまたはTwitter等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。 当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。 |
- 最近の更新 - |
|
3212216 (+0127)[+0218] Copyright© 2010-2024 INASOFT |