MSXの音源チップYM2413は通称OPLLと呼ばれているFM音源を出すことができます。
PCで波形を作り機械的に楽器に近い音を出すものです。
MSXは8ビットPCですから、CDプレイヤのような16ビット処理には向かないのですが、
まぁラジオのような音質ならば作ることができます。
MSX2にMSX-AUDIOの廉価版のFM-PACのFM音源カートリッジを差し込むことで
PSG3和音だけでしたが、FM9和音まで演奏できるようになりました。
さて、前回のコードを見ましょう。
C:CEG
D:DF#A
E:EG#B
F:FAC
G:GBD
A:AC#E
B:BD#F#
C:CEGでCとEとGの三和音になります。楽器を使うと
押さえたり、弾いたりしてなかなかできないこともありますが、
PCではジャジャーンとやってみましょう。
CALL MUSIC
PLAY#2,"CC2","EE2","GG2"
コードは音の感じではなくて曲の雰囲気と思ってください。
このままでは、並列に書きにくいですね。
そこでA$とB$とC$に書いてきましょう。
A$="CC2"
B$="EE2"
C$="GG2"
PLAY#2,A$,B$,C$
というふうにします。前回のように
10 A$="D D2"
20 B$="F#F#2"
30 C$="A A2"
40 PLAY#2,"A$,B$,C$
そして、行番号を加えてプログラムにしてみると
こんな感じに揃えると後でわかりやすいですね。
「あれ?セブンスとかマイナーとかどうするの?」
これを基本にして、半音上げたり下げたりします。
C#でしたらC#FG#になります。
CのマイナーであればEをD#にします。短調で悲しい雰囲気になります。
C7はGから2つ目のA#です。CM7は3つ目のBになります。
Csus4はEがFになり普段のCより少し高い感じになります。
sus4は何と言うのか感じが好転する時によいかもしれません。
あまり使わないコードですね。
Caugは怪しげな雰囲気に合いそうなコードです。
これをMMLで書くと大変ですからU-CODEというプログラムを使って
番号が表示されるますから、直接コードを入れます。
1:G
2:C
3:D
と3コードを入れると1を押せばG、2を押せばCとコードがなります。
いかがでしたか?今回はコードの演奏の方法を書きました。
音を楽しむゲームというのもありましたね。
上下左右の光る順番を覚えていきながら、光る回数が増えていくもので
サイモンというものです。ルーンワースのミニゲームにありました。
この応用編として東京フレンドパークで光るパッドの順番を押すと
曲になるというものがありますね。
こんなことも★
Androidプログラミングの環境がWindowsとLinuxのubuntu版ともにできました。
いろいろな方法がサイトなどに載っていますので、詳細は省略します。
ここでは動作できたという程度の書き込みにします。1時間30分~2時間程度かかります。
▼javaSDK,eclipse
Windows版のjavaのSDKは有効ではなかったので再起動したりしました。
*Linux版はUbuntu11にGUIからOpenJDK、eclipseを新たにソフトウェアを加えました。
eclipseはサイトからダウンロードして
eclipseを実行してADTをインストールします。
もし、eclipseでwelcomeのランチが消えた場合はwelcomeを選んでください。
▼AndroidSDK
日経ソフトウェアに載っているインストールの方法で
installer_r13-windows.exe (recommended)の
Windows版をインストールすると自動で実行されます。
9月号ではr11でしたが、ここがr13でもよいです。
Linux版はコマンド入力する手動インストールです。※
起動させてAndroid SDK and AVD Managerでとりあえず、
全てのパッケージをインストールしました。
▼eclipseでAndroid
AndroidSDKを参照できるようにします。
AndroidSDKのフォルダパスを設定して、
載っている方法で成功しました。
両方ともeclipseから実行できましたが、
ここまで長い設定はちょっと不安がありました。
やはり、まだテクニカルさがありプログラマ向けですね。
何かあれば、作ってみようかなと思います。
※
Linux版は手動でインストールする方法です。
これはubuntuのバージョンによって実行ファイルが不明ファイルになってテキストエディタが開く場合です。
android-sdk_r13-linux_x86.tgzをfirefoxからダウンロードして、デスクトップに展開します。
android-sdk-linux_86というフォルダができます。
もし、端末がない場合は
ubuntu11では左のランチャから下から2番めのアプリケーション
リストが出て右上の全てのアプリケーションvをアクセサリ
インストール済みアプリ さらに5個の結果を見るをクリックで端末です。
端末を起動するとデスクトップですから、実行ファイルの対象を
android-sdk-linux_86のフォルダまでexportさせます。
$ export PATH=PATH$:~/android-sdk-linux_x86/tools/
$ android
と環境変数に加えるとandroidを実行できました。
実はWindowsUpdateがうまくいきません。
インストールしたにも関わらず、インストールという状況になっています。
これはインストールを1つ失敗したことで、正規のアップデートの順番が狂ってしまって
循環アップデートではないかと思います。
それはどういうことかを説明するとアップデートする時に1つではなく、2つとか3つではないでしょうか?
1,2,3とあった場合、あるPCでは2を先にアップデートしないと1と3が正常にインストールできないから
次のアップデートへ進まないとか、1,2,3以外の別の更新プログラムをアップデートしないと
正常にならないとか、要するにこのあたりでグルグル循環している症状です。
不完全なアップデートを行って新のリビジョンへ入り、そこから何か旧のリビジョンに戻されることがあり、
アップデートが繰り返し循環される仮説になる。また、ただ単にデータベースが壊れている可能性もあるし、
そう思ったりもしますが、循環アップデートの症状はやはり難しくて断定できませんね。
どちらの原因もこの症状が発生するアップデート以前のアップデートを正確にアップデートすることで
正しいアップデートになると思います。
残念ながらFixitでも解決できません。
もしセキュリティアップデートを作るなら、Windowsのシステムファイルをチェックサム方式での完全チェックでしょうね。
そこまでしないと未知のウイルスには対抗できませんね。