このプロジェクトについて
Tonalは、JavaScript向けの音楽理論ライブラリであり、TypeScriptで実装され、npmパッケージのコレクションとして公開されています。サウンドやオーディオ再生ではなく、音楽理論の抽象化に焦点を当てています:音符、音程、コード、スケール、モード、キー、ボイシング、進行、リズムなどです。
このライブラリは関数型プログラミングスタイルに従っています。関数は純粋で、データは変更されず、エンティティはクラスインスタンスではなくプレーンなデータ構造として表現されます。ES6インポート、ES5のrequire、およびCDNスクリプトタグを介してブラウザで直接動作します。
典型的な操作には、音符をMIDI番号や周波数に変換する、音程で音符を移調する、音程の距離を測定する、スケールの音符や度数を取得する、コードに名前を付ける、コードの転回形を構築することが含まれます。READMEには、Note.midi("C4")が60を返す、Note.freq("a4")が440を返す、Interval.semitones("5P")が7を返す、Scale.get("C major").notesが7つのスケール音を返すなどの例が示されています。
プロジェクトは焦点を絞ったモジュールに分割されており、各モジュールには独自のREADMEと@tonaljs/プレフィックスが付いたパッケージ名があります。これらは、音符、MIDI、音程、ABC記譜法、スケールとスケールタイプ、コードとコードタイプ、コード検出、ピッチクラスセット、ボイシング、ボイスリーディング、ボイシング辞書、キー、モード、進行、ローマ数字、リズムパターン、拍子記号、音価、さらにコアとコレクションのユーティリティをカバーしています。包括的なtonalパッケージをインストールするとすべてのモジュールが含まれますが、個々のモジュールをインストールするとバンドルサイズを削減できます。
ドキュメントは専用サイトと各モジュールのREADMEで利用可能です。貢献には、音楽理論の変更に関する参照、ドキュメントの更新、テストが含まれることが期待されています。このライブラリはMITライセンスであり、いくつかの音楽理論ライブラリをインスピレーションとして挙げ、それを使用するプロジェクトのショーケースも掲載しています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.