July 08, 2009

smf2mml version 1.02 リリース

+-----------------------------------------------------------------------------
| タイトル | Standard MIDI File 逆MMLコンパイラ
| ファイル | SMF2MML.LZH
| カテゴリ | Win32 コマンドラインプログラム
| 動作機種 | intel社i80386若しくは、その上位互換のCPU
|前提ソフト| Windows 2000 SP4, Windows XP, Windows Vista, Windows Server 2003
| 圧縮方式 | lh5
|転載の可否| 不可
| 備 考 | 質問等は出来ればメールでお願いします。
+-----------------------------------------------------------------------------

このアプリケーションは、SMF(Standard MIDI File)を
Sakura仕様のMML(Music Macro Language)に逆コンパイルします。

Visual C++ 2008でビルドしており、もしかしたら、
Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ (x86)をインストールする必要があるかもしれません。

Viaual C++ 6.0 で作っても良かったのですが、
Windows vistaにインストールできなかったのは、
.netを使わせたいマイクロソフトの陰謀!!?

Continue reading "smf2mml version 1.02 リリース"

| | Comments (0) | TrackBack (0)

April 29, 2009

ちょ・・・

こういうコードをC++で書いたんだ。
*MMLは、ファイルの標準出力クラスを継承したクラス。


  *MML << "//--------------------------------------" << endl
    << "//    SMF2MML" << endl
    << "//--------------------------------------" << endl
    << "//MThd Infomation :" << endl
    << "//	Size = " << SMF_Header.size << endl
    << "//	Format = " << (unsigned int)SMF_Header.format << endl
    << "//	Track = " << (unsigned int)SMF_Header.track << endl
    << "//" << endl
    << "System.ControllerShift = 0;" << endl
    << "System.TimeBase = "<< SMF_Header.timebase << ";" << endl
    << endl << endl << endl;

したら、こんなコードはきやがった

Continue reading "ちょ・・・"

| | Comments (0) | TrackBack (0)

April 23, 2009

オーボエ吹いて考え事。

質が良いリードであれば、ちょっと音程が取れるようになってきた。
やっぱり、リードが、主要因みたい。
質の良いリードであれば、あとは、お腹とかアンブシュアを意識すれば、大体、音程が合う感じ。
でも、指が難しいと、指に意識が行って、音色・音程がおろそかになる。
指の訓練も必要だし、アンブシュアの訓練も必要だし、まだまだ、課題は沢山。

最近、長調だけ、全12調を、「なるべく」テンポ80の8分音符でさらうようにしています。
出来ないのは、もちろん、テンポ下げるが。短調は、・・・レッスンでだけやってる。
指は、なんとなく、少しずつ慣れてきた。が、音程は、まだまだずれる。
音色もずれる。・・表現が正しいか解らないが、まぁ、ずれる。
楽器の癖が掴みきれてないからなのだろうか。
ずれるのは、CやG。不安定なのは、E。
姿勢が悪かったり、アンブシュアが悪いと、Eは、あからさまにずれる。今のmy楽器は。
昔使ってたオーボエは、Fが、姿勢が悪かったり、アンブシュアが悪いとずれた。
ハ長調(♭も#も無い音程)って、楽器の癖の所がそれなりにあるから、実は難しい音程らしい。

で、1回ずれると、それ以後の音程が、同じようにずれるんだよな。
これが、面白いところ。
相対音感が、次の音との差を中途半端に意識しているからか、ちゃんと、ずれた分だけずれる。
30セントだったら、30セント。
楽器の癖のところでずれちゃって、頭がその音程にリセットされちゃう?

う~ん。やっぱ、楽器の癖をがんばって覚えないと駄目か。
自分の体の一部に!!

| | Comments (0) | TrackBack (0)

March 13, 2009

SMF2MML(さくら用) ver,1.00 リリース!

"smf2mml"を作りました。
ホームページから、ダウンロードできます。

◆概要
Standard MIDI FileをSakura仕様のMML(Music Macro Language)に逆コンパイルするソフトウェア(win32コンソール)です。

◆必要ソフト
別途、Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ (x86)のインストールが必要です。

まだ、満足にテストしておらず、どこにバグがあるか解りません。
ということで、テストしてくれる方歓迎♪

再コンパイルした時に『音楽的に』ほぼ100%の再現性を保つように作ってあります。
(MMLで表現する為、データ構造は、若干変わります。)

時間をみつけて、機能を追加していく予定です。
メタイベント通りにサクラのKeyFlag()命令を出力する機能とか。

| | Comments (0) | TrackBack (0)

March 10, 2009

WonderSwan用音源ドライバー(WTD)更新しました。

今年は、演奏会本番他、その他用事でM3-2009春には参加できないです。ゴメンナサイ。

本体側の機能は変わってないのですが、MMLコンパイラのバグに気がついたので、デバッグしておきました。
WTDβ20090307.LZH

Continue reading "WonderSwan用音源ドライバー(WTD)更新しました。"

| | Comments (0) | TrackBack (0)

March 09, 2009

ショック!

音程とれてねぇぇぇぇええええ。

改めて、本番の録音きくと、だめだな。
もっと、うまくなってやるぜ!!

先生からは、ロングトーンの音『は』良くなったと言われた。
しかし、それが譜面になると、意識が指や楽譜にいっちゃって、
息やお腹にまでにまで意識が行かないみたい。

慣れ?

息や、お腹に意識がいかないから、必然的に、音程が狂う。
やれば出来るんだから、自信なさげじゃなくて『自信持って』吹けと。
でも、指に意識が行っちゃうんだよな。

合奏の時とかは、ロングトーン的な音符でも音程が狂う。
特に、ハイノート。
楽器を、自分の体の一部になるように、
年がら年中、頑張るしかないわけですね。

リードの起因もおっきいんだよな~。
リード。
同じリードでも、毎回、調子が違う。
リードの調整術を、少しずつ覚え中。

給料カットもされるし、リードを長持ちさせるために、
こればっかりは、そろそろ、覚えておかないと、お金がヤバイ!!
とりあえず、重くなってきたリードを、ちょっと削って、
軽くするコツは、ちょっとつかめてきた。

| | Comments (0) | TrackBack (0)

February 23, 2009

無限ループは仕様です

本番前が近いと、演奏会の曲が頭の中で無限ループします。
仕様です。
仕様書にも、そうかいてあります。
(なんの仕様書だ?)

花粉が心配だ。
集中力も切れるし、鼻のなかに鼻水がたまるから演奏しずらいし。
目もかゆいから、楽譜を満足に見れないし。 まぁ、指が覚えれば良いんだけど…。

Continue reading "無限ループは仕様です"

| | Comments (0) | TrackBack (0)

February 19, 2009

C++

最初に言っておくが、
『パンを尻にはさんで右手の指を鼻の穴に入れて左手でボク
シングをしながら「いのちをだいじに」と叫んではいけない。』
の事では無いので、その辺、宜しく。

興味心で、"Microsoft Visual C++ express edition 2008"をダウンロードして使ってみていました。
元々、アセンブリ言語使いなので、C++だけではプログラム組めないからと、コードリスティングしてアセンブリソースを吐くコンパイラオプションを設定しておきながら遊んでいたのです。

いやぁ、ぷらぷら様かしこいわ。
Pentium世代は、人間の手で最適化できるようなもんじゃないからCで書けとは言うが、確かに細かい所まで処理速度を最適化してくれている。

流石に、Cソースの書き方によっては遅くなるけど、どういうコードを吐くのか意識しながら(アセンブラレベルでどうなるのかな?という事。)、Cソースを書いておけば、下手にアセンブリ言語を書くより早くなる。
というより、アセンブリ言語で書くにも、あんなアセンブリ言語書きたくない。可読性がすごい悪い。

Continue reading "C++"

| | Comments (0) | TrackBack (0)

February 02, 2009

8086なアセンブリ言語

学生時代に書いてたソースとか眺めていたんだけど、ある癖に気付いた。
せっかくある、si, di レジスターをあまり使ってなくて、bx と dx レジスターだけで何とかしちゃってる癖が…。
xchg bx,dx 命令や、push pop命令が所々にあるわけです。

・・・今思うと、普通にdi si レジスタ使えよと思うのだが、その他サブルーチンの8bitで渡す引数で、ahレジスタに入れるのを指定するとか…
今見てみると、阿呆としか思えない。
di si レジスタにして、stos命令や、 lods命令や、 movs命令使えよって所が所々にあるわけです。
rep命令や、loop命令も使わないで、dec cx命令 と、jz 命令でしてたりな。
あぁ、Z80的な組み方だなぁ~。

WonderSwan用の音源ドライバー(WTD)を書いた時は、流石に、レジスターをフルに、bpレジスターまで使って組んであるけど。
bx bp diレジスターに制御用構造体の先頭オフセットが入ってるわけです。
siは、演奏ポインタっぽい。


あれは、3MHzのCPUで、如何に負かをかけないで音楽&効果音を鳴らすか?だから、それなりに最適化して作ったつもりなんだけど、今ソースみると、こう組めばよかったなぁ~と思うところが何箇所が見つかる。
でも、それを直すと、全体的に直さないと行けなくなるから、できなひヨ。
でも、PC98用のFM音源ドライバーを組んだ時の反省点は盛り込んでいるので、だいぶ、スマートな形にはなったと思う。

| | Comments (0) | TrackBack (0)

January 12, 2009

マーフィーの法則 at Jan, 2009 連休

世界的な大不況の中、安月給の中からリード代を捻出する今日この頃。
リード代も馬鹿にならないので、最低限だけ買おうと決めていた土曜日。

こういう時に限って、質の良さそうなリードが揃っていたりする。
なんとか絞っても、・・・この5本は買いたい!。15000円も出費してしまった。

そして、日曜日。楽団の練習日。
その5本は、全て機嫌がわるうございました。・・・何故!?
俺の15000円・・・。

でも月曜日に試してみたら、機嫌が良かった。
この天邪鬼め!!!

| | Comments (0) | TrackBack (0)

«坂之上の雲 スペシャルドラマ