8

音楽理論の概念間のグラフィカルな関係を確認できる音楽理論ラボ アプリケーションの作成を検討しています。これをオンラインで利用できるようにしたいので、Flash と Silverlight が思い浮かびます。

しかし、ユーザー入力からトーンやコードなどを動的に生成したいと考えています。これは、Flash Player で非常に未開発の領域であることを私が知っていることです。私の質問は、Flash プレーヤーと Silverlight プレーヤーの両方でのダイナミック オーディオ生成機能の現在の状態はどのようなものですか?

4

4 に答える 4

3

Flash Player 10 以降では、ハッキーな作業を行う必要はありません。音を動的に生成する API があります。

このブログ投稿には簡単な紹介があります。彼のコードは mp3 からサンプルを読み取りますが、サンプルは好きなように書くことができます。

いつものように、ドキュメントにも多くの情報が含まれており、このコード サンプルを使用するとすぐに作業を進めることができます。

var mySound:Sound = new Sound();
function sineWaveGenerator(event:SampleDataEvent):void {
    for ( var c:int=0; c<8192; c++ ) {
        event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25);
        event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25);
    }
}

mySound.addEventListener(SampleDataEvent.SAMPLE_DATA,sineWaveGenerator);
mySound.play();
于 2009-09-20T11:15:15.287 に答える
2

私がC++ から移植した AS3 の Synthesis ToolKit を試すことができます :)

Standingwavepopforgeとは異なり、AS3 の STK はフルートやクラリネットなどの実際の楽器を提供しますが、最初の 2 つにはありません。

于 2009-09-20T12:42:24.130 に答える
1

かなりのハッキングを伴う方法があります。正確な仕組みは覚えていませんが、StandingWave: http://code.google.com/p/standingwave/ や Popforge: http://のような既存のストリーミング ライブラリを参照 (または使用) できます。 code.google.com/p/popforge/

ここで私ができるよりも多くの情報を提供できることを願っています。:)

于 2009-09-20T09:57:08.633 に答える
0

そのため、Silverlight と Flash のうち、Flash はダイナミック オーディオ生成機能で Silverlight を上回っているようです (Flash での基本的なオーディオ サポートの仕方を考えると、私は驚きました)。Silverlight はダイナミック オーディオをまったく生成できないようで、Flash はプレーヤーのバージョン 10 以降、公式にしか生成できません。

両方のプラットフォームでのダイナミック オーディオの将来に関する情報はほとんど見つかりませんが、現時点で最も活発な議論が行われているのは Flash です。

于 2009-10-01T13:10:53.223 に答える