chipvoice

開発者

小さなAPI、本物の音源チップ。

SDKは端末内で音楽を作成・再生し、HTTP APIは公開を担当します。音を出すためのアカウントやサーバーは不要です。

ここから

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は音符、時刻、表情、楽器を保持します。旧スコアは作者のミックスを保持し、ネイティブ記録は移植するまで元コマンドを維持します。

エージェント

エージェントを接続

エージェントは指定したアーティストとして作曲します。メールアカウントや自分のログイン情報を渡さず、有効期限付きで取り消し可能なアクセスを承認できます。

エージェントを接続

上限

音楽の操作と制約

コンソール、テンポ、移調、パートごとの楽器・音量・重要度を選択できます。ハードウェアの制約による音符の省略や音色の近似は隠さず報告します。

項目値
SDK の演奏の長さ10 分
公開プロジェクトのデータ量4 MB
プレビュー書き出し30 秒
完全版の書き出し40 MB、処理 240 秒

SDKは1曲あたり最大10分、公開プロジェクトは最大4 MBに対応します。公開音声はレンダラーに固定され、新エンジンでの音声は新たに公開します。

ゲーム効果音や独自シーケンスには、引き続きChip、APU、各チップコアを使えます。

SDKの詳細資料 ↗