Hatena::ブログ(Diary)

言語ゲーム このページをアンテナに追加 RSSフィード Twitter

とあるエンジニアが嘘ばかり書く日記
ホームページ | blog | twitter

2003-08-03

[]音について調べる

http://minnow.cc.gatech.edu/squeak/1952

あらゆる「音の鳴るもの」は AbstractSound のサブクラスになっている。AbstractSound には音量などの一般的な情報が入っている。

AbstractSound によって定義された音は、SoundPlayer によって出力される。SoundPlayer にはインスタンスメソッドが存在せず、クラスメソッドだけを使う。つまり、シングルトンオブジェクトのように使う(なんか変なような気もしますが)。

SoundPlayer と ScorePlayer(MIDI出力) の関係

SoundPlayer class>>resumePlaying: aSound quickStart: quickStart で演奏を登録する。

SoundPlayer class>>playLoop が実際の演奏を行う。

使われているプリミティブ(失敗するとVMが止まるので、直接使うのは諦めた)。

  • <primitive: 'primitiveSoundAvailableSpace' module: 'SoundPlugin'>
    • SoundPlugin>>primitiveSoundAvailableSpace
    • 有効なサウンドバッファの容量
  • <primitive: 'primitiveSoundPlaySamples' module: 'SoundPlugin'>
    • SoundPlugin>>primitiveSoundPlaySamples: frameCount from: buf startingAt: startIndex
    • データを出力する。

サウンド入力メーターレベルの実験

|s|

s := SoundInputStream new samplingRate: 22050; startRecording; inspect.

(InfoStringMorph on: [s meterLevel]) openInHand

トラックバック - http://d.hatena.ne.jp/propella/20030803/p1

カレンダー
<< 2003/08 >>
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
最新コメント一覧