ab.com コミュニティ https://www.activebasic.com/forum/ |
|
MMLでWAVEを鳴らす'MML2WAVE' https://www.activebasic.com/forum/viewtopic.php?t=1984 |
ページ 1 / 1 |
作成者: | MML [ 2007年6月21日(木) 16:36 ] |
記事の件名: | MMLでWAVEを鳴らす'MML2WAVE' |
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 [ 2007年6月21日(木) 16:37 ] |
記事の件名: | |
これは直しました。 ・デバックコンパイルだけしか動きません。 ・コメントが取り除かれないまんまWAVEに変換してしまう ・+ # -が使えない 以下は直してません/作ってません。 ・ショートカットキーのセット ・繰り返し機能 ・キーチェンジ命令 ・編集エディタ全般 |
作成者: | MML [ 2007年6月25日(月) 17:36 ] |
記事の件名: | |
> ちなみに、デバックコンパイルだけしか動きません。 > これはわからないので直してませんです。 音色変更3以上強制終了バグ、デバッグしか動かないバグ、を直しました。 DLするアドレスはうえと同じです。 ソースつき(醜いスパゲッティーソースですが...)なので、参考にできたら、参考にしてください。 そろそろWAVEファイル生産機能をつけます。 今のところは再生だけなので... ->もし、ソースを参考にして作る人は、生産した波形の頭にWAVEのヘッダーをつけるだけで OKです。それ以外何にも必要なしです。 ちゃっかりBASIC風のマクロを入れるかもしれません。 (そのほうがなんとなく使いやすそう。) WAVEの22050KHz / 16bit (約15KB/秒) だけしか生産できませんし、 音色も現在はたった3個なので、もっとがんばって追加したいです |
作成者: | konisi [ 2007年6月25日(月) 19:40 ] |
記事の件名: | |
wavmake.sbpの48行目、タブって9じゃなくて15でしたっけ? あと、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 ところで、#,+,-の動作が確認できませんが、未実装でしょうか? それともう一つ、<や>で演奏可能な音域からはみ出た時、落ちるんですが。 |
作成者: | MML [ 2007年6月26日(火) 18:10 ] |
記事の件名: | |
>> ところで、#,+,-の動作が確認できませんが、未実装でしょうか? >そうです...音色の作成に夢中になって、完璧忘れてました... 修正しました。 >> それともう一つ、<や>で演奏可能な音域からはみ出た時、落ちるんですが。 >あ、修正しておきます。音色作成部分での、0除算エラーのようです。 これも修正しました。 エコー処理の強化、あと 正弦波(SIN WAVE)、(コードだけ) 鋸波(SAWTOOTH)、 三角波(TRIANGLE WAVE) <-音がかなり小さい や、テンポ変更や 試験的につんでいます。音色番号は3,4,5です。 いろいろつんでいますので、詳しくはreadmeやソースを見てください。 新テスト品(といっても自作ゲームにつかった曲の移植ですが) 「sample2.aom」も聞いてみてください。 readmeに書き忘れていたので、以下のものもあります p : タンギング(初期:1000) あと、SINWAVEの式が調べてもわけのわからないようなコードしかかけないので、 誰か、ヒントをください... |
作成者: | MML [ 2007年7月11日(水) 18:46 ] |
記事の件名: | 本日 |
本日、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 |
ページ 1 / 1 | 全ての表示時間は UTC+09:00 です |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |