SND Demos

# サウンドサンプルデモ

## 場所

`$TwlSDK/build/demos/snd
$TwlSDK/build/demos.TWL/snd`

## コンパイル方法

`$TwlSDK/build/demos/snd` (または`$TwlSDK/build/demos.TWL/snd`) ディレクトリに移り、

> `% make`

と入力します。コンパイルが始まり、実行ファイルである `.srl` ファイルやバイナリ情報を記述した `.nef` または `.tef` ファイルが、

> `$TwlSDK/build/demos/snd/(サンプル名)/bin/(プラットフォーム)/(ターゲット)/`
> `$TwlSDK/build/demos.TWL/snd/(サンプル名)/bin/(プラットフォーム)/(ターゲット)/`

の下に生成されます。例えば、

> `$TwlSDK/build/demos/snd/channel/bin/ARM9-TS/Release/main.srl`

が `channel` デモの実行ファイルとなります。

## 実行方法

### NITRO ROM の場合

IS-NITRO-DEBUGGER を用いる場合

- IS-NITRO-DEBUGGER で `*.nlf` ファイルを読みこんで実行する。
- IS-NITRO-DEBUGGER で `*.srl` を実行する。
- コマンドラインから `loadrun.exe` で IS-NITRO-DEBUGGER で `*.srl` を実行する。

IS-TWL-DEBUGGER を用いる場合

- IS-TWL-DEBUGGER で `*.nlf` ファイルを読みこんで実行する。
- IS-TWL-DEBUGGER で `*.srl` を実行する。
- コマンドラインから `loadrun.TWL.exe` で IS-TWL-DEBUGGER で `*.srl` を実行する。

### TWL/NITRO HYBRID ROM の場合

IS-NITRO-DEBUGGER を用いる場合

- IS-NITRO-DEBUGGER で `*.srl` を実行する。
- コマンドラインから `loadrun.exe` で IS-NITRO-DEBUGGER で `*.srl` を実行する。

IS-TWL-DEBUGGER を用いる場合

- IS-TWL-DEBUGGER で `*.tlf` ファイルを読みこんで実行する。
- IS-TWL-DEBUGGER で `*.srl` を実行する。
- コマンドラインから `loadrun.TWL.exe` で IS-TWL-DEBUGGER で `*.srl` を実行する。

### TWL LIMITED ROM の場合

IS-TWL-DEBUGGER を用いる場合

- IS-TWL-DEBUGGER で `*.tlf` ファイルを読みこんで実行する。
- IS-TWL-DEBUGGER で `*.srl` を実行する。
- コマンドラインから `loadrun.TWL.exe` で IS-TWL-DEBUGGER で `*.srl` を実行する。

## 説明

デモ名 | ディレクトリ | 動作
--- | --- | ---
`channel` | `demos` | チャンネルを使って再生する簡単なサンプルです。
`stream` | `demos` | リアルタイムに波形データをロードしながら、チャンネルを使ってストリーム再生を行います。
`synth` | `demos` | 波形データを使わずに、リアルタイムに波形を作り出して発音を行います。
`capture` | `demos` | サウンドキャプチャを使って、出力音声にエフェクトをかけます。
`seq` | `demos` | 標準MIDIファイル(SMF)を使ったシーケンス再生を行います。ARM9側でシーケンス処理を行っています。
`extraFunc` | `demos.TWL` | TWL 特有の各種サウンド拡張機能を操作します。
`IIRFilterdemo` | `demos.TWL` | TWL 特有のサウンド拡張機能である IIR フィルタをサウンド出力に適用します。
`IIRFilterdemo-mic` | `demos.TWL` | TWL 特有のサウンド拡張機能である IIR フィルタをマイク入力に適用します。
`ignoreHWVolumeDemo` | `demos.TWL` | 設定したタイミングに指定した音量でサウンドを鳴らします。

## 動作

`SND ライブラリのデモは ensata では正常動作をしません。`

## 参照

`SND関数一覧`

## 履歴

2009/02/03 ignoreHWVolumeDemo を追加
2008/09/29 IIR フィルタデモを2つ追加
2008/07/15 extraFunc に関する記述を追加
2008/07/11 TWLに対応した記述に変更
2005/04/12 初版