MMLでWAVEができるソフトを作りました。
WAVEファイル本体の生産はまだ、作っていないです。
文法などはreadme.txtに書いてあります。
・2007/06/25 Ver.0.01修正しました。
・2007/06/28 Ver.0.02tempoなどいろいろ追加。
「青アナMML2WAVE」
ttp://www.geocities.jp/yutibonsoft_jp92/soft/wavemml.lzh
hを先頭に入れてからジャンプしてください。
もしよければ感想をください。
追記:公開ページを作りました。
http://www.geocities.jp/yutibonsoft_jp92/mml.html
MMLでWAVEを鳴らす'MML2WAVE'
-
- 記事: 154
- 登録日時: 2006年5月02日(火) 16:27
MMLでWAVEを鳴らす'MML2WAVE'
最後に編集したユーザー MML [ 2007年7月11日(水) 18:46 ], 累計 5 回
-
- 記事: 154
- 登録日時: 2006年5月02日(火) 16:27
-
- 記事: 154
- 登録日時: 2006年5月02日(火) 16:27
> ちなみに、デバックコンパイルだけしか動きません。
> これはわからないので直してませんです。
音色変更3以上強制終了バグ、デバッグしか動かないバグ、を直しました。
DLするアドレスはうえと同じです。
ソースつき(醜いスパゲッティーソースですが...)なので、参考にできたら、参考にしてください。
そろそろWAVEファイル生産機能をつけます。
今のところは再生だけなので...
->もし、ソースを参考にして作る人は、生産した波形の頭にWAVEのヘッダーをつけるだけで
OKです。それ以外何にも必要なしです。
ちゃっかりBASIC風のマクロを入れるかもしれません。
(そのほうがなんとなく使いやすそう。)
WAVEの22050KHz / 16bit (約15KB/秒) だけしか生産できませんし、
音色も現在はたった3個なので、もっとがんばって追加したいです
> これはわからないので直してませんです。
音色変更3以上強制終了バグ、デバッグしか動かないバグ、を直しました。
DLするアドレスはうえと同じです。
ソースつき(醜いスパゲッティーソースですが...)なので、参考にできたら、参考にしてください。
そろそろWAVEファイル生産機能をつけます。
今のところは再生だけなので...
->もし、ソースを参考にして作る人は、生産した波形の頭にWAVEのヘッダーをつけるだけで
OKです。それ以外何にも必要なしです。
ちゃっかりBASIC風のマクロを入れるかもしれません。
(そのほうがなんとなく使いやすそう。)
WAVEの22050KHz / 16bit (約15KB/秒) だけしか生産できませんし、
音色も現在はたった3個なので、もっとがんばって追加したいです
-
- 記事: 893
- 登録日時: 2005年7月25日(月) 13:27
- お住まい: 埼玉県東松山市
wavmake.sbpの48行目、タブって9じゃなくて15でしたっけ?
あと、19~23行目はこっちのほうがいいと思う。
あるいは、自然に聞こえるようにするために
ところで、#,+,-の動作が確認できませんが、未実装でしょうか?
それともう一つ、<や>で演奏可能な音域からはみ出た時、落ちるんですが。
あと、19~23行目はこっちのほうがいいと思う。
コード: 全て選択
lfFreq[0]=32.7031956625696
'C~次のCの前まで(元コードのコメントからはAだと思われるが、よく見ると数値がCの値である。)
for i=1 To 12
lfFreq=lfFreq[i-1]*lfRate
next
'2倍してオクターブ上げる(2進数で浮動小数点の計算がされるから、かなり正確に動作するはず。)
for i=13 To 64
lfFreq=lfFreq[i-12]*2
next
あるいは、自然に聞こえるようにするために
純正律使うとか。 [ここをクリックすると内容が表示されます]
コード: 全て選択
'このコードでは定数lfRateを使わないので、それをコメントアウトしてもいいと思う。
'純正率
lfFreq[0]=55*3/5 'C
lfFreq[2]=55*27/40 'D
lfFreq[4]=55*3/4 'E
lfFreq[5]=55*4/5 'F
lfFreq[7]=55*9/10 'G
lfFreq[9]=55 'A
lfFreq[11]=55*9/8 'B
'黒鍵部分は相乗平均使ってごまかす。もっとうまいやり方があったらそっち推奨。
lfFreq[1]=Sqr(lfFreq[0]*lfFreq[2])
lfFreq[3]=Sqr(lfFreq[2]*lfFreq[4])
lfFreq[6]=Sqr(lfFreq[5]*lfFreq[7])
lfFreq[8]=Sqr(lfFreq[7]*lfFreq[9])
lfFreq[10]=Sqr(lfFreq[9]*lfFreq[11])
'2倍してオクターブ上げる
for i=12 To 64
lfFreq=lfFreq[i-12]*2
next
ところで、#,+,-の動作が確認できませんが、未実装でしょうか?
それともう一つ、<や>で演奏可能な音域からはみ出た時、落ちるんですが。
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
-
- 記事: 154
- 登録日時: 2006年5月02日(火) 16:27
>> ところで、#,+,-の動作が確認できませんが、未実装でしょうか?
>そうです...音色の作成に夢中になって、完璧忘れてました...
修正しました。
>> それともう一つ、<や>で演奏可能な音域からはみ出た時、落ちるんですが。
>あ、修正しておきます。音色作成部分での、0除算エラーのようです。
これも修正しました。
エコー処理の強化、あと
正弦波(SIN WAVE)、(コードだけ)
鋸波(SAWTOOTH)、
三角波(TRIANGLE WAVE) <-音がかなり小さい
や、テンポ変更や
試験的につんでいます。音色番号は3,4,5です。
いろいろつんでいますので、詳しくはreadmeやソースを見てください。
新テスト品(といっても自作ゲームにつかった曲の移植ですが)
「sample2.aom」も聞いてみてください。
readmeに書き忘れていたので、以下のものもあります
p : タンギング(初期:1000)
あと、SINWAVEの式が調べてもわけのわからないようなコードしかかけないので、
誰か、ヒントをください...
>そうです...音色の作成に夢中になって、完璧忘れてました...
修正しました。
>> それともう一つ、<や>で演奏可能な音域からはみ出た時、落ちるんですが。
>あ、修正しておきます。音色作成部分での、0除算エラーのようです。
これも修正しました。
エコー処理の強化、あと
正弦波(SIN WAVE)、(コードだけ)
鋸波(SAWTOOTH)、
三角波(TRIANGLE WAVE) <-音がかなり小さい
や、テンポ変更や
試験的につんでいます。音色番号は3,4,5です。
いろいろつんでいますので、詳しくはreadmeやソースを見てください。
新テスト品(といっても自作ゲームにつかった曲の移植ですが)
「sample2.aom」も聞いてみてください。
readmeに書き忘れていたので、以下のものもあります
p : タンギング(初期:1000)
あと、SINWAVEの式が調べてもわけのわからないようなコードしかかけないので、
誰か、ヒントをください...
-
- 記事: 154
- 登録日時: 2006年5月02日(火) 16:27
本日
本日、Ver.0.03を公開しました。追加点として、
生産レート(?)が選べるようになりました。
8000kHz
16000kHz
24000kHz
もちろん、24000kHzは音がいいですが...容量が...24秒で1M越しました....
WAVE生産メニューも追加しました。
WAVEの仕様は、
(選んだkHz) 16bit モノラル
です。
NOISE音、TRIANGLE WAVEも追加しました。
やっとファミコン風の曲が作曲できそうです。
そろそろ、外部WAVEファイルを取り込んで、音色にできる機能を追加したいのですが...
今のところは未定です。。。(爆)
公開ページを設けました。
http://www.geocities.jp/yutibonsoft_jp92/mml.html
生産レート(?)が選べるようになりました。
8000kHz
16000kHz
24000kHz
もちろん、24000kHzは音がいいですが...容量が...24秒で1M越しました....
WAVE生産メニューも追加しました。
WAVEの仕様は、
(選んだkHz) 16bit モノラル
です。
NOISE音、TRIANGLE WAVEも追加しました。
やっとファミコン風の曲が作曲できそうです。
そろそろ、外部WAVEファイルを取り込んで、音色にできる機能を追加したいのですが...
今のところは未定です。。。(爆)
公開ページを設けました。
http://www.geocities.jp/yutibonsoft_jp92/mml.html