ここから
SDK をインストール
npm i chipvoiceリファレンス
SDK か HTTP API
SDK はサーバーなしでブラウザや Node で動きます。HTTP API は曲をサイトに公開する手段です。
プロジェクトを再生
import { ProjectPlayer } from 'chipvoice';
const player = new ProjectPlayer();
await player.load(project); // A project from Make: Download project
// Browsers start audio only after a press:
playButton.onclick = () => player.play();
// Then, from your own controls:
player.pause();
player.seek(12); // Seconds, using the audible clock
player.restart();
await player.update({ chip: 'snes', tempoScale: 1.1 });
// When the page no longer needs it:
player.dispose(); // Closes only contexts it owns読み込みは取り消し可能なworkerで音声を準備します。失敗・古くなった更新は現在の音楽を維持します。準備後に楽曲内の位置を保って変更を適用します。
読み込み・検証・レンダリング
import { importMidi, projectFromPerformance, validateProject,
renderProject, toWav } from 'chipvoice';
const project = projectFromPerformance(importMidi(bytes), 'snes');
// Explicitly permit reported hardware voice omissions:
project.settings.allowLoss = true;
console.log(validateProject(project));
const { audio, plan } = renderProject(project); // Node or worker
console.log(plan?.losses, plan?.mix);
const wav = toWav(audio);Performanceは音符、時刻、表情、楽器を保持します。旧スコアは作者のミックスを保持し、ネイティブ記録は移植するまで元コマンドを維持します。
公開とリミックス
POST /api/v1/projects
Authorization: Bearer YOUR_API_KEY
Idempotency-Key: a-unique-request-id
Content-Type: application/json
{ "project": { ... }, "visibility": "public" }
GET /api/v1/projects?q=orbit&chip=snes
GET /api/v1/projects/PROJECT_ID
// Publish a remix: add "parentId": "PROJECT_ID"
// Immutable preview / complete render jobs:
POST /api/v1/projects/PROJECT_ID/render
{ "kind": "preview" }
GET /api/v1/jobs/JOB_IDブラウザーセッションまたはAPIキーで公開します。公開・限定公開・非公開を選択できます。同じ公開要求の再試行時のみ同じリクエストキーを使います。新しい版には新しいIDを割り当てます。
プレビューは最大30秒です。サーバーの全曲書出しは40 MB、処理時間240秒が上限で、超過時は明示的に失敗します。必要に応じて端末内で書き出してください。
完了したジョブは WAV、MP3、作品ページ、カバーの URL を返します。全曲をファイルとして共有できます。プレビューは最大 30 秒です。
公開前に評価
生のプロジェクトを /api/v1/evaluate に送信します。アレンジ全体の損失とミックス判断を報告し、音声は冒頭 2 秒だけを測定します。作品は公開しません。
エージェント
エージェントを接続
エージェントは指定したアーティストとして作曲します。メールアカウントや自分のログイン情報を渡さず、有効期限付きで取り消し可能なアクセスを承認できます。
上限
音楽の操作と制約
コンソール、テンポ、移調、パートごとの楽器・音量・重要度を選択できます。ハードウェアの制約による音符の省略や音色の近似は隠さず報告します。
| 項目 | 値 |
|---|---|
| SDK の演奏の長さ | 10 分 |
| 公開プロジェクトのデータ量 | 4 MB |
| プレビュー書き出し | 30 秒 |
| 完全版の書き出し | 40 MB、処理 240 秒 |
SDKは1曲あたり最大10分、公開プロジェクトは最大4 MBに対応します。公開音声はレンダラーに固定され、新エンジンでの音声は新たに公開します。
ゲーム効果音や独自シーケンスには、引き続きChip、APU、各チップコアを使えます。