スポンサード リンク


  • Google
    Web sketch.txt-nifty.com

2008.11.26

FlMML - Flash 10対応(Vistaも音が途切れない!)

 FlMMLを Flash 10に対応させました。
 Flash 10の新機能、Dynamic sound generationを使用しています。
 PopforgeにはVistaで安定した再生が出来ないという問題があったんですが、これで Vistaでもブツブツ途切れずに再生できるようになりました。たぶん。
 持ってないので確認できてませんが…。
 どなたか報告いただけたら嬉しいです。

 今までありがとう Popforge!!

2008.11.18

Flash 10向けのビルド

 FlMMLをFlash 10に対応させようと思ったらいきなりつまづいたのでメモメモ。

 import flash.events.SampleDataEvent;

でSampleDataEventが見つからないとか怒られちゃったのですが、まだFlex 3 SDKは正式にFlash 10に対応してないんですね。

 こちらの記事が分かりやすいです。

 Flash 10向けのビルドをするには Nightly Buildsバージョンで、「-target-player=10.0.12」オプションを付けてビルドしなきゃいけないと。

 早く正式対応して、リファレンスも更新して欲しいな。

2008.11.13

FlMML - FM変調(FM音源)

 えらく時間がかかってしまいましたが、ようやくFM変調(FM音源)が出来ました!
 FM音源というのはデジタルシンセサイザーの一種で、金属的な音、キラキラした音が得意だと言われてます。
 昔のPCのゲームとか、携帯電話の着メロなんかにも使われてますね。

 というわけで、本当は昔のゲームみたいなサンプルを用意しようと思ってたんですが、こんな時期だからこそベッタベタの小室進行にしてしまいました。あんまりFM音源らしい音じゃなくてゴメンナサイ。

The Flash movie is here. JavaScript enabled please.


 DXベースみたいのが作れたら良かったんですけどね。どうにも難しくて。
 ベースはサイン波をサイン波で変調。リフはパルス波をパルス波で変調したらこんな音になりました。

続きを読む "FlMML - FM変調(FM音源)" »

2008.10.10

FlMML - バグ修正と予告

 なんか忙しくて仕方ないのでバグ修正の告知と予告だけ。

 マクロ中で未定義のマクロ(自分自身)を使ったときにハングしてしまっていたバグを修正しました。

 あと、要望見てると機能追加よりライブラリとしての基本的な機能を充実させたほうがいいのかなぁなんて思うのですが、次の更新は多分FM音源です。
 でも、こういうとこに要望版があるといろいろ挙げてもらえて嬉しいですねー。

2008.09.15

FlMML - ゲートタイム絶対指定

 ピコカキコでリクエストされていたようなので

 絶対Q
 qで指定されたゲートタイムら全音符のx/192の長さを引いたゲートタイムにする。
 記法 @q[n]

 ってのを実装してみました。
 危うく元の q と関係ない実装にしてしまうとこだったんですが、偽TCPのマニュアル読んだらこう書いてあったので、たぶんこれでいいのかな?
 味もそっけもないデモですが、どぞ。

The Flash movie is here. JavaScript enabled please.

2008.09.06

FlMML - ノートシフト

 FlMMLがニコニコ大百科(仮)ピコカキコ機能にも採用してもらえました。
 わー。

 こういう正式サービスなところで採用してもらうとドキドキしますね。
 迂闊に仕様変更できないなーって意味でもドキドキしますが、でも嬉しいです。

 早速追加機能のリクエストが来てたので、とりあえず簡単なやつを実装してみました。
 ノートシフト、あるいはトランスポーズ、あるいは移調です。
 nsにつづけて数字を書くと、その後に書いた音名を移調して演奏します。

The Flash movie is here. JavaScript enabled please.


 今日は以上~。

2008.07.06

FlMML - 非線形音量モード

 ようやく、音量モードの変更を実装しました!
 何のことだか分からないひとにはサッパリだと思いますが、分かる人には「今更か!」と怒られるような機能ですよね、これ。

 ま、とにかく いつものようにサンプルを。
 最初に x1(非線形モード)、続いて今までの x0(線形モード)で音が流れます。

The Flash movie is here. JavaScript enabled please.


 後のほうが全体的にベタっとした感じなのが分かりますか?
 アタック部分が潰れちゃってるし、後半はフェードインしてるのにあまり音量が変わらない感じになっちゃってます。

 音というのは空気の振動であって、振幅が大きいほど音量が大きくなる…っていうのはご存知のかたが多いかと思います。
 ただ、人間の耳というのは、振幅が2倍になったからって音量が倍になったように聞こえるわけじゃないんですよね。
 そこで、人間の耳に適正に聞こえるような音量モードをつけてみたと。

 もう x1 がデフォルトでもいいんじゃないかって気もするんですが、互換性なくなっちゃいますからね。すみませんが毎度毎度 x1 って書いてください。
 一応、x0のほうが 少~しだけ動作が軽いと思います。

 追記:ダウンロードはこちら。書き忘れてました…。

2008.06.29

FlMML - LPFとHPF

 フィルタ仮対応の記事から早1ヶ月以上。
 処理速度を取るか品質を取るかで悩んでたんですが、結局両方入れちゃいました。
 荒い音だけど動作の軽いフィルタと、重いけど品質のよいフィルタが選べます。
 とりあえず軽いほうを聴いてみて下さい。

The Flash movie is here. JavaScript enabled please.


 バスドラムの音もレゾナンスの自己発振で作ってあります。
 MMLが鳴らす音らしからぬ、荒削りな音がかえって面白いと思います。
 使い方は以下の通り。

続きを読む "FlMML - LPFとHPF" »

2008.06.14

FlMML - フォルマントフィルタのバグ修正と一時停止

 更新できないでいる間に FlashPlayer10の新機能が発表されてたみたいですね。もう popforge要らんのか? とか思ったりもしましたが、皆がすぐにバージョンアップするわけじゃないからしばらくこれでいいのかな。

 で、FlMML。
 前回フィルタを付けかけたんですが、どうにもまだ仕様を決めかねてます。
 今回はとりあえずバグ修正だけでもと思ってコミットしました。

 http://coderepos.org/share/wiki/FlMML

 フォルマントフィルタを複数チャンネルにかけると酷い音が出ちゃってたバグに対処しました。長らく放置してしまってすみません。
 それから、一時停止にも対応してみました。FlMMLはデフォルトのバッファサイズが大きいので、再生再開ポイントがちょっと後ろにずれてしまうんですが、とりあえず仕様とさせてください。

2008.05.12

FlMML - フィルタ仮対応

 やまだかつてないPerfumeっていうのがデビューしたりしませんかね。しないですね。

 今日は久しぶりにFlMMLに機能追加。フィルタ(VCF)を搭載してみました。
 一般的にはFM音源を期待されてたと思うんですが、減算方式のシンセが載ったMMLっていうのも珍しくて面白いかと。
 とりあえず、期待しないで音を聴いてみてください。

The Flash movie is here. JavaScript enabled please.


 どうでしょ。レゾナンスつき、24dbのLPF(Low Pass Filter)です。ミョンミョンです。

 が、重いんですよねぇ…。ちょっとこのままじゃ使えないので、今回ソースを公開してません。仕様が変わる可能性がかなり高いので。
 それでもいいから遊んでみたい、と思ってくださるナイスガイは以下の説明をご覧の上、こちらの直接リンクでお楽しみください。

続きを読む "FlMML - フィルタ仮対応" »

2008.03.23

FlMML - swfobject2.0対応

 3ヶ月ぶりの更新ですが、やる気をなくしたわけじゃないんですよ!

 とは言え、これだけ間が空くと色々忘れてるもので。
 リハビリということで、とりあえず swfobject 2.0 に対応してみました。
 まあ、FlMMLをblogに貼り付けてる人なんて見たことないので あんまり需要はないんでしょうけど、IE7も標準になっちゃいましたしね。

The Flash movie is here. JavaScript enabled please.


 ちなみに、今回からビルド環境が Flex 3 SDK になりました。
 ダウンロードはこちらから。使い方は続きをどうぞ。

続きを読む "FlMML - swfobject2.0対応" »

2007.12.22

FlMML - LFOと不等号反転

 すっかり間が空いてしまいました。
 それというのもWiiフィットが毎日30分も貴重な時間を奪うせいだ!…ていうのもあるんですが、今回は随分悩んだんですよね。
 悩んだ末に、こんな仕様でLFOを追加しました。

The Flash movie is here. JavaScript enabled please.


 簡単にテンポと同期できるってのがFlMMLのLFO機能の特徴です。
 それから、NECファン待望の(?)不等号反転機能を追加しました。
 使い方は続きをどうぞ。

続きを読む "FlMML - LFOと不等号反転" »

2007.12.03

FlMML - コメント

 今日もマイナーバージョンアップ。
 FlMMLにコメント機能を追加しました。
 /* と */ で囲んだ部分を無視します。
 
CD /*EF */ G

 と書いてあったら「ドレソ」と演奏するってことですね。
 
/* BASS */

 とか書いてMMLを見やすくするのに使ってください。
 従来どおり、2バイト文字(全角文字)も無視します。

 以下日記。

 Wii Fit が届いたのでしばらく遊んでました。
 面白いなーこれ! コントローラーでやったらサッパリ面白くなさそうなゲームも、身体動かすと妙にニヤけてしまうんですよね。
 ずるいなぁ。バランスボードも Flash で使えるようにならないかな。


2007.11.30

FlMML - マクロ・繰り返しのバグ修正

 FlMMLの公式サイトは http://coderepos.org/share/wiki/FlMML
 はてなダイアリー内出張所(作者のつぶやき)は http://d.hatena.ne.jp/tekisuke/ です。

 今日は超マイナーバージョンアップ。以下のバグを修正しました。

  • マクロA、マクロBの順に定義した場合でもマクロAの中でマクロBが使えてしまう。
  • MML中でマクロを再定義した場合の動作がおかしい。
  • 繰り返しが連続したときに後の繰り返しが効かなくなることがある。


  •  告知だけだと寂しいので一言日記を。  Crayon Physics がすごい。いいなぁ。こういうのが作りたいです。

    2007.11.26

    FlMML - テンポトラックの独立と SWFObject 対応

     FlMMLの公式サイトは http://coderepos.org/share/wiki/FlMML
     はてなダイアリー内出張所(作者のつぶやき)は http://d.hatena.ne.jp/tekisuke/ になってます。
     今までちゃんと告知したことがなかった気がするので、改めて書いてみました。
     アップデートのお知らせは今までどおりココログ(ここ)でやっていくつもりです。もし はてなでも簡単にflashが貼れるようになったら引っ越すかも。

     さて、今日はLFOを待っている皆の期待を軽やかにスルーして地味目な更新です。
     テンポトラックの独立とswfobjectへの対応。それからid:Ikehonさんに指摘していただいたマクロのバグ修正です。

    The Flash movie is here. JavaScript enabled please.


     詳細は以下の通り。

    続きを読む "FlMML - テンポトラックの独立と SWFObject 対応" »

    2007.11.11

    FlMML - PAN(ステレオ)とデチューン

     約2週間ぶりの更新です。
     思ってたよりフォルマントフィルタの反響が少なくてガッカリしてたとか、そういうわけじゃないですよ! まあちょっとはあるけど!

     今回はPAN(ステレオ)とデチューンに対応してみました。
     2回同じフレーズが鳴りますが、音色の違いに注意して聴いてみて下さい。


     2度目のほうが音の広がりがあったでしょ? これがPANとデチューンの組み合わせによるコーラス効果です。
     その他、付点音符の計算が直ってたり、問題のある書式の場合に一部警告が出るようになってます。EventDispatcherも理解しましたよ!
     ただ今回はテンポトラック独立の件が間に合いませんでした。ごめんなさいkampさん。
     次はきっと。たぶん。

    続きを読む "FlMML - PAN(ステレオ)とデチューン" »

    2007.10.26

    FlMML - Flashでも初音

     最近の人気エントリーとかを見てるともう、猫も杓子も初音ミク初音ミクって!
     羨ましいのでFlMMLにも歌わせてみました。
     まあ、まずは広い気持ちで聞いてくだされ。
     発声練習あーえーいーおーうー♪



     聞こえました?
     こんなの作る前にやることあるだろって気もしますが、作りたかったんだから仕方ないよね。
     初音ミクには程遠いんですが、これはこれで笑えると思います。
     母音しか発声できない子ですが はてなミクとでも何とでも好きに呼んで可愛がってやってください。

     使い方などは続きをどうぞ。



    続きを読む "FlMML - Flashでも初音" »

    2007.10.21

    FlMML -マクロ、HTML出力など

     10/24追記:繰り返し指定のバグを修正してこちらにコミットしました。

     TSSCPの仕様を眺めながら思わず変な声を出しそうになりました。
    「制御文は仕様をあわせるつもりだったのに、手遅れじゃん!」
     繰り返しの使い方は取り違えてるし、大文字小文字を区別しないからマクロも同じにできないし、申し訳ないこと山の如しです。
     まあこの際仕方がないんで、独自のマクロ機能を実装してみました。結構いいと思うんですけど、どうですかね?



    ※Signalを出す機能にまだバグがありまして、今回のバージョンは該当機能を無効にしてあります。
     直り次第修正版を出す予定でいますが未定です。すんません。

     追記:とりあえずハングしないようになりました(バージョン062)。Timerを使ってnミリ秒後にイベントを起こし、Dateを見て誤差を修正する形です。Timerの更新間隔が本体のswfのフレームレートに引き摺られてしまうのを無理やり誤魔化してるんですが、なんかもっと巧いやり方ありませんかねぇ。

     さて、ソースはこちらです。使い方は続きをどうぞ。

    続きを読む "FlMML -マクロ、HTML出力など" »

    2007.10.08

    ActionScript日記 - サウンドのリアルタイム生成(5)

     FlMML関連記事をまとめて読む

     追記:早速バグがあったので修正&機能追加しました。(バージョン051)
     追記2:MML初心者の方は、第3回の記事をご覧ください。慣れてる方はこの記事の続きをどうぞ。

     予想外の反響に吃驚中のFlMML。
     というかJSMMLのおかげで一気に広まった感がありますね。
     ブログに貼り付けられるようにっていうのは自分も考えてたんですけれども、「JavaScriptで音が出る」ってインパクトが大きかったんでしょうね。これは思いつかなかった。
     早速スーパーマリオのテーマを打ち込むひとが現れたりしてスゴイ面白いです。

     それから 1-click Award『オマケクリック』で使ってもらったのも大きいですね。
     ビジュアルとの同期についてコメントをもらったので、今回はその辺を拡張してみました。



     だいたい合ってますよね?
     処理の高速化と機能追加もしましたよ。



     ソース、使い方が見たい方は続きをどうぞ。

    続きを読む "ActionScript日記 - サウンドのリアルタイム生成(5)" »

    2007.09.24

    ActionScript日記 - 高速化

     FlMMLがどうにも重いので、高速化の手法について少し調べてみました。

    続きを読む "ActionScript日記 - 高速化" »

    2007.09.22

    ActionScript日記 - サウンドのリアルタイム生成(4)

     第1回第2回第3回|第4回|第5回

     前回のエントリが割と好評だったので、調子にのって続きを。
     予告どおり popforge に対応して、対応コマンドも少し増やしてみました。これで少しは曲のバリエーションが増えるかな?



     次は HTML から Flash に MML を渡す部分を作るか、それともLPFでも付けようかなぁ。繰り返し記号にも対応しないとマズイですよね。既に処理が重いのはどうしよう。

     まあとりあえず、新しく対応したコマンドとソースファイルが見たい方は続きをどうぞ。

    続きを読む "ActionScript日記 - サウンドのリアルタイム生成(4)" »

    2007.09.02

    ActionScript日記 - サウンドのリアルタイム生成(3)

     第1回第2回|第3回|第4回第5回

     また1ヶ月近く間が空いてしまいましたが、モタモタしてたら popforge なんてものが発表されちゃってるんですね。既に時代遅れですか! そうなんですか!?
     まあ新しいものには乗っかりたいので、いま作ってるこれも popforge対応にしたいと思います。
     そんなわけで、とりあえず現段階のものをリリース。
     MMLを入力するとメロディを奏でる、FlMMLです。



    続きを読む "ActionScript日記 - サウンドのリアルタイム生成(3)" »

    2007.08.05

    ActionScript日記 - サウンドのリアルタイム生成(2)

     第1回|第2回|第3回第4回第5回

     完全にプログラマ向けのエントリです。

     また物凄く間が空いてしまいましたが、前回の続き。
     まだまだ使い物になるレベルじゃないんですが、一応音楽らしきものが鳴らせるようになったので公開してみたいと思います。5%ルールってとこですか。

      トルコ行進曲(2小節)

     一応プログラム中でメロディを記述することは出来るんですが、このままじゃアレなんで、次はMMLに対応してみたいと思います。
     プチノイズも何とかしたいし、対応してない機能もどうにかしたいですねぇ。

     ソースは続きをどうぞ。

    続きを読む "ActionScript日記 - サウンドのリアルタイム生成(2)" »

    2007.05.31

    ActionScript日記 - サウンドのリアルタイム生成(1)

     第1回|第2回第3回第4回第5回

     迷走しつつあるActionScript日記ですが、今日のテーマはサウンド生成です。
     この分野はあんまり資料がないんですよね。日本語だとOnegameさんのこのページくらいなんじゃないでしょうか?  誰かもう少し音楽的にしたものを作ってくれないかなーと思い続けてたんですが誰もやらないみたいなんで自分でやってみることにしました。
     まだ触りだけですが、とりあえず成果。画面は何もでないんですが、シンセサイズして「ドレミ」と鳴ります。

    ドレミ

     反響があったら解説を書くかもしれませんが、とりあえずソースは以下の通り。

    続きを読む "ActionScript日記 - サウンドのリアルタイム生成(1)" »

    2007.04.21

    ActionScript日記 - asとmxmlの連携

     随分間が空いちゃったなー。
     今日は mxml について勉強したのでシンプルなソースコードをあげておきます。
     mxml って、flex サーバがないと意味がないものかと勘違いをしちゃってたんですが、そんなことないんですね。インターフェースとレイアウトが簡単に書けてめちゃめちゃ便利かつ面白い。
     下の画像みたいなアプリケーションも数十行のソースで書けちゃいますよ。



    続きを読む "ActionScript日記 - asとmxmlの連携" »

    2007.03.19

    ActionScript日記 - MOUSE_DOWNにハマる

     ハマッたハマった。
     
     前回と同じ絵じゃねーかとお思いでしょうが、マウスクリックに反応させてみたんですよ。
     ところがこれが上手くいかなくて…。

    続きを読む "ActionScript日記 - MOUSE_DOWNにハマる" »

    2007.03.11

    ActionScript 3.0日記 - ビットマップに描画

     ActionScript ではアルファブレンドに加算や乗算が使えると聞いたので、とりあえず試してみました。

     

    続きを読む "ActionScript 3.0日記 - ビットマップに描画" »

    ActionScript 3.0日記 - インストール

     『弟の作ったRPGを実況する』でめちゃめちゃ笑いました。こいつ天才だれ。

     こんなクリエイターになってみたい!ってことで、ActionScript 3.0 を始めます。Flash 9とか Flex 2 Builder を買う気は無いので、あくまでタダで、ちょっとしたゲームを作れることを目標に。
     ParaFla! もすごくいい環境なんですけど、全部プログラムで書けちゃったほうが楽なこともあるんですよね。

    続きを読む "ActionScript 3.0日記 - インストール" »