Skip to content

Latest commit

 

History

History
86 lines (56 loc) · 3.2 KB

File metadata and controls

86 lines (56 loc) · 3.2 KB

Pico Piano

ライブデモ

TypeScript を中心に設計された Web Audio ツールキットです。ピアノ音源クラス、ADSR エンベロープ、ノート名ユーティリティ、及び React 用の usePiano フックを提供します。Vite のデモ(Vercel にデプロイ)と VitePress によるドキュメントサイトを同梱しています。

特徴

  • Piano クラス: play(note) / playHz(frequency) などのユーティリティを提供
  • ADSR エンベロープとベロシティ制御をサポート
  • ノート名マッピング(C0B8
  • React 向けの usePiano フックを提供
  • VitePress ドキュメントサイトを同梱
  • GitHub Actions による CI(ビルド / デプロイ)を用意

インストール

npm install pico-piano

公開前にリポジトリから直接インストールして試すこともできます:

# デフォルトブランチの最新をインストール
npm install github:Kazunari-h/pico-piano

# または HTTPS の Git URL を指定
npm install git+https://github.com/Kazunari-h/pico-piano.git

# ブランチやタグ、コミットを指定する例
npm install github:Kazunari-h/pico-piano#main

注意:

  • Git 経由インストール時にリポジトリ内の prepare スクリプトが実行され(本リポジトリでは npm run build を実行します)、dist/ のビルド成果物が生成されます。
  • package.jsonengines に合わせて Node.js 20 以上を使用してください。
import Piano from "pico-piano";

const piano = new Piano({ sustain: 0.7 });
piano.play("C4", { duration: 1.2 });

React フックの例

import { usePiano } from "pico-piano";

const App = () => {
	const { play } = usePiano({ attack: 0.02 });
	return <button onClick={() => play("A4")}>Play A4</button>;
};

モノレポ構成(抜粋)

ルートの package.json にビルド用スクリプトをまとめています(build / build:next / build:vite / build:docs など)。

ドキュメントのローカル確認

npm run dev:docs

ビルド出力は docs-site/docs/.vitepress/dist を想定しています。

GitHub Actions(Docs デプロイの注意)

gh-pages への自動デプロイは Actions の GITHUB_TOKEN の権限に依存します。ワークフローに permissions: contents: writepermissions: pages: write を設定しておく必要があります。リポジトリ設定で Actions の権限が限定されている場合は、Personal Access Token(書き込み権限)を secrets.GH_PAGES_PAT に入れて github_token: ${{ secrets.GH_PAGES_PAT }} を使う方法に切り替えてください。

ライセンス

MIT License

(このリポジトリは MIT ライセンスで公開されています)


英語版 README(README.md)と内容を揃えました。