ここから本文です
Dr.KIKKIE(KIKI) MSX DeuxLaque
免責:記載誤りによる損害一切

書庫全体表示

記事検索
検索

全61ページ

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

[ 次のページ ]

MSXでPCM(3)

1ビットサウンドポートでいきなりつまづき中(・∀・;)
こんなのちょちょいのパッで片付くと思ったんだけどなあ。

エミュレータ環境を整えたPCはとっくに壊れてるしw
実機はあちこち不具合で、例えば「C」が入力できないとかw
1チップMSXはみつけたが、ACアダプターが見つからないw
そんなこんなで環境整備ばかりに時間がかかってます。
準備してから再スタートすべきだったと、これはいつもことですな。

一応言い訳しておくと、MSXのスロットに突っ込んで絵と音が出るボードとか、作りかけてるんですよ。
スロットひとつ塞いじゃうけどね。HB-F900とかの機種だと、画面が下向くしw

ブランクが長いと、ちょっとしたこともテキパキ進められないですなあ。BASICもアセンブラも見事に忘れてますわʅ(‾◡◝)ʃ
ま、ぼちぼち行きます。

MSXでPCM(2)

PSGと1ビットサウンドポート

MSXには、PSG(Programmable Sound Generator)と呼ばれる音源チップのほかに、PPIポート(I/OアドレスAAH)の第7ビットが「1ビットサウンドポート」として使用されている。
この1ビットサウンドポートは、もっぱらカセットI/Fの出力に使用されるほか、BEEP音の発声にも使用されている。

また、カセットI/Fの入力は、PSGの#14レジスタの第7ビットを通じて行われる。なお、カセットI/Fの入力には3kHzのローパスフィルタが入っている(ん?書いていて気づいたが、カセットI/Fの高速モードで「1」を表す際、4800Hzのパルスがあるんじゃが、いいのか?まあ、3kHzでチョン切れるわけではないが、だいぶ減衰することにはなろうな。)。

アスキー出版の「MSXテクニカル・ハンドブック」には、カセットI/Fから取り込んだ音を1ビットサウンドポートから出力するプログラム例が掲載されている。
BIOSを使っている関係でビットレートは不明であるが、量子化ビット数は1ビットである。1ビットの量子化でもビットレートさえ高速であれば、ある程度の音階は再現可能である。

音質は、高音部が詰まった音に、エレキギターを弾く方ならお馴染みのエフェクタ「FUZZ」をかけたジャリジャリした感じを思わせる。これは、前述の3kHzのローパスフィルタの影響及び、波形が「0」か「1」かの矩形波に近くなる結果であろう。
ま、こういうものでも、とりあえず「1ビットPCM」と呼んでよかろう。決していちびっているわけではない。

以下、オンライン版テクハンから引用(少し編集)。

リンク:1.4 1ビットサウンドポートのアクセス
 この1ビットサウンドポートをアクセスするために、次に示すBIOSルーチンが用意されています。

● CHGSND (0135H/MAIN)

入力:A←ON/OFF指定(0=OFF, 0以外=ON)
出力:---
機能:Aレジスタに0を入れてこのルーチンをコールするとサウンドポートのビットをOFFにし、0以外の値を入れてコールするとサウンドポートのビットをONにする。

リスト5.2
1ビットサウンドポートを利用してカセットテープの音声を再生する。

;===================================================
;  List 5.2 Read from cassette tape
;    Set music tape into tape-recorder
;    and run this program.
;    Then your MSX will replay it.
;===================================================

STMOTR EQU  00F3H
RDPSG  EQU  0096H
CHGSNG EQU  0135H
BREAKX EQU  00B7H

    ORG  0B000H

START: LD  A,1  ;motor on
    CALL STMOTR

LBL01: LD  A,14  ;register 14
    CALL RDPSG ;read PSG
    AND  80H  ;check CSAR
    CALL CHGSNG ;change SOUND PORT
    CALL BREAKX ;check Ctrl-STOP
    JR  NC,LBL01
    XOR  A   ;stop motor
    CALL STMOTR
    RET

    END

(↑表示の都合で、全角スペースを使ってます。適宜半角にしてね。)

サンプル音はただいま鋭意準備中(・∀・)ええ〜い♪
上のリストでは取り込んだ音声データをすぐに1ビットサウンドポートに出力しているが、「音声取り込みプログラム」「音声再生プログラム」に分けて、1ビットサンプリングデータをファイル渡しすれば、なんとなく「PCM録音・再生システム」っぽく見えてくるでしょ?ファイルのつくり方が問題だけどね。
というわけで、本日ここまで。

MSXでPCM(1)

イメージ 1
PCMとは何か?

どうせ自分用のメモと言いながら、親切なぼくはPCMの解説から入る。
ウィキペディアによれば、
「パルス符号変調(パルスふごうへんちょう、PCM、英語: pulse code modulation)とは音声などのアナログ信号をパルス列に変換するパルス変調の一つである。」
だそうである。なんか、英語を日本語に換えただけの気がするなあ。

百聞は一見にしかず。右図をご覧いただきたい。
ヨコ方向が時間軸。タテ方向が音の振幅(音の大きさ)を示す。赤い滑らかなカーブは実際の音だと思ってほしい。いわゆるサイン・ウエーブである。自然界の音は、一般にこのように連続的に変化する。
しかし、デジタル機器は、このような連続的変化を扱うのが苦手なので、扱いやすい形に変換する。デコボコの階段状になったのがPCM化された波形である。

時間軸方向で区切るのが標本化回数(サンプリングレート)、そのときの振幅を示すのが量子化ビット数(図では0〜15の16段階なので4ビット)。
サンプリングレート・量子化ビット数とも多いほうが良質な再生結果が得られるが、そのためには高速な装置が必要となる。データ数も膨大となり、費用も高くなる。したがって、用途によって、おのずとサンプリングレートと量子化ビット数は決まってくる。
固定電話はサンプリングレート8kHz・量子化ビット数8ビット、音楽用CDは44.1kHz・16ビット、DVDは96or48kHz・24or20or16ビットが規格化されている。

サンプリングレートは、対象となる音源の周波数によって規定される。結論から言うと、対象周波数の2倍以上でないと再現できなくなる(ナイキスト・シャノンのサンプリング定理)。音楽用CDの場合、上限20kHzをターゲットにローパスフィルタの減衰率を勘案して44.1kHzが選択された。このサンプリングレートと量子化ビット数は先行して開発されたSONYのPCMマスターテープレコーダーに合わされた(共同開発社のフィリップスは44.0kHz又は44.5kHz・14ビットを主張→却下)。

ついでにいうと、CDの12cmというサイズはベートーヴェンの「第九交響曲」が入るサイズとして採用されたというのが定説であるが、これもそう簡単なハナシではなかったようである(くだくだしいので割愛。詳細は以下URL参照。ただし英文)。
もうひとつついでにいうと、DVDのサンプリングレート48kHzは、高音質化もさることながら、サンプリングレートの異なる音楽用CDへの録音を困難にするためでもあった。

いろいろとあるのですねえ(・∀・)♪

リンク:Shannon, Beethoven, and the Compact Disc

MSXでPCM(0)

いやはや、「3か月も更新がなければくたばったと思ってほしい」なんて書いていたら、ほんとにくたばりかけて、ようやく戻ってまいりました。
さて、どこから手をつければいいものやら?
とりあえず、敬愛するmosakuさんからお題を横取り?して、「MSXでPCM」ってのを考えてみたいと思います。

ターゲットマシン
何にしても、ターゲットマシンを選定しないといけません。
元々PCM搭載のturboRのは、今さらつまらんのでパス。
残る音源としては、
 (1) 1bitサウンドポート
 (2) PSG
 (3) FM音源

ですが、(1)と(2)はどのMSXでも搭載しているので、このへんを中心に考えていきたいと思います。

過去データの発掘やら環境の再構築やらから始めないといけないので、
ぼちぼちいきまっさ〜(・∀・)♪

PX-7、入手。

パイオニアPX-7、入手。
これに先立って、図書館でポケットバンクシリーズの一部を発見!
「マイコン新時代 必殺ビデオ活用法」でPX-7に興味を持ったのがきっかけ。
起動時に、拡張BASICを使用するかどうか選択でき、使用するとスーパーインポーズなどの機能が簡単に使えるようになる。
また、レーザーディスクのコントール端子もあり、ひょっとしたら他に転用できるかもしれない。
とにかく、「端子いっぱい機種」には、つい食指が動いてしまう今日この頃である。

全61ページ

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

[ 次のページ ]

1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Dr.KIKKIE(KIKI)
Dr.KIKKIE(KIKI)
非公開 / 非公開
人気度
Yahoo!ブログヘルプ - ブログ人気度について

よしもとブログランキング

もっと見る
本文はここまでですこのページの先頭へ

[PR]お得情報

ふるさと納税サイト『さとふる』
11/30まで5周年記念キャンペーン中!
Amazonギフト券1000円分当たる!

その他のキャンペーン

みんなの更新記事