Sazamekiとは、Adobe Flashを使ったオーディオ操作のためのオンラインオープンソースのプラットホームであり、同時にActionScript3ライブラリの名前でもあります。

「sazameki」を活用することで、Flash内でオンライン上で音を生成したり、また、その音をFlashで活用したり加工したりといったことできます。

Sazamekiの使用方法は以下のようです。使いしやすいと思いますね。

sazameki.coreは、Flash内で生成したり変更したりした波形データを、flash.media.Soundオブジェクトにコンバートするためのクラすです。波形データは、org.sazameki.audio.core.Sampleクラスのインスタンスの配列で表現します。また、その波形のサンプルレートなどの情報は、org.sazameki.audio.core.AudioSettingのインスタンスを作ってそこに指定します。

まず、はオンラインデモ

sazamek-flash-based-online-audio-manipulating-platform-with-AS3-open-source-library

では、サンプルソースコード:

  1. package{
  2.     import flash.display.Sprite;
  3.     import org.sazameki.audio.core.AudioSetting;
  4.     import org.sazameki.audio.core.Sample;
  5.     import org.sazameki.audio.core.SoundFactory;
  6.     import org.sazameki.audio.events.AudioEvent;
  7.     class SazamekiCoreSample extends Sprite
  8.     {
  9.         public function SazamekiCoreSample():void
  10.         {
  11.             //convert signals(array of org.sazameki.core.Sample)
  12.             //to flash.media.Sound object
  13.             //generate samples
  14.             //波形データを生成します。
  15.             var samples:Array=makeNoiseSamples();
  16.             //stereo,44.1kHz,16bit audio.
  17.             //44.1kHz/16bit/ステレオの音声だ、ということを設定しておきます。
  18.             var audioSetting:AudioSetting=new AudioSetting(2,44100,16);
  19.             //prepare factory
  20.             //変換のためのクラスを準備します。
  21.             var factory:SoundFactory=new SoundFactory();
  22.             //add event listener to factory
  23.             //イベントリスナー登録します。※Sound生成完了するとAudioEvent.COMPLETEが呼ばれます。
  24.             factory.addEventListener(AudioEvent.COMPLETE,onCoreSoundCreated);
  25.             //generate flash.media.Sound Object
  26.             //生成。
  27.             factory.generateSound(samples,audioSetting);
  28.         }
  29.         private function makeNoiseSamples():Array
  30.         {
  31.             //simply generate 1sec(44100samples) noise
  32.             //1秒分(44100サンプル)のノイズを生成しています。
  33.             var arr:Array=new Array();
  34.             for(var i:int=0;i<44100;i++){
  35.                 //SampleSample.leftに左チャンネル、Sample.rightに右チャンネルのデータを入れます。
  36.                 //-1から1までのNumberで指定します。
  37.                 arr.push(new Sample(Math.random()-0.5,Math.random()-0.5));
  38.             }
  39.             return arr;
  40.         }
  41.         private function onCoreSoundCreated(e:AudioEvent)
  42.         {
  43.             //AudioEvent.sound is Sound object
  44.             //e(AudioEvent).soundに生成されたSoundオブジェクトが格納されています。
  45.             e.sound.play();
  46.         }
  47.     }
  48. }

関連情報
公式サイト
processor指定の書き方

メインコンテンツEND ■
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Posted on Sunday, 21st February 2010 by admin

Tags: , ,
Posted in ActionScript, Flash Project | Comments (0) | 2,686 views

Leave a Reply