Tetorica Playground — AI向けガイド
Tetoricaのブラウザー版Playground用のJavaScriptを生成するときは、以下の型定義と動作するサンプルを参照してください。
型定義
- Playground共通API
- YM2612 / メガドライブ用
- Mega CD用(32X・32X Nuked共用)
- YM2608 / PC-98用
- YM2203 / PC-98用
- YM2610 / Neo Geo用
- Game Boy mode用
共通APIと、対象のPlaygroundで選択するチップの型定義を読んでください。
Game Boy modeではgameboy.pulse・gameboy.wave・gameboy.noiseを使います。pg.gameboyからも同じ音源を操作できます。時間制御にはbeat()・sleep()・liveLoop()を使い、グローバルのplay()・fm・OPN用ショートカットはOPN modeで使います。
Mega CD modeは、GenesisのFM・PSGにRF5C164の8音PCMと共有64 KiB RAMを加えます。32X PWMは含みません。await useSoundChip('rf5c164')は組み込み音源を借用し、dispose()を公開しません。別の音源を追加する場合はcreateSoundChip()を使います。await inputAudio({title})はファイル選択・マイク録音のダイアログを開き、{name, source, sampleRate, channels: Float32Array[]}またはキャンセル時にnullを返します。素材の切り出しと変換はpcm.loadSample()やキーボード操作の前に済ませます。音程は再生速度で変更するため、素材の基準音は利用者が指定します。
動作するサンプル
サンプルの正本はplayground_examples.jsです。以下のリンクはPlaygroundで利用する代表的なサンプルです。読み込んでも自動では実行されません。
- PlaygroundのFILES → examplesからソースを開いて実行してください。
- Live Loop— テンポ、音符、名前付きループ
- Ambient Choir Sample— サンプルの読み込み、FX、実行中の状態
- Noise Ocean— ノイズの生成とパラメーター操作
- FM API Beep— YM2612の直接設定
- PSG Scale— SN76489互換のトーンAPI
- Mega CD初期コード— FMとPCMのベース
- Mega CDサンプラー— ファイルや録音素材をキーボードから8音PCMで演奏
- Parallel FX— 分岐したエフェクト経路
- Game Boy mode pulse— 標準APUと名前付きメロディーループ
実行時のルール
- TypeScriptではなくJavaScriptを生成してください。
- トップレベルの
awaitに対応しています。 - PlaygroundのAPIは、グローバル変数としても
pg経由でも利用できます。 - 独立した
liveLoop()とlivePrepare()の状態には、安定した一意の名前を使ってください。 - プロジェクトのファイルは
file()で読みます。相対パスは実行するファイルを基準に解決します。 - ユーザーコードの実行中は、ネットワークAPIや外部パッケージのインストールを利用できません。
プロンプトに添える情報
Tetorica Playgroundで動くJavaScriptを書いてください。
リンク先の共通APIと選択チップの.d.tsで宣言されたAPIだけを使ってください。
動作する公式サンプルに従ってください。
Playgroundへ貼り付けてそのまま実行できるJavaScriptを返してください。