Skip to main content

ConsLyric

コンソールでいろいろするためのツール/DSL。ConsLyricっていう名前だけど多分そういう用途以外でも使えるはず。

Conslyric Engine

Pythonで記述された実行環境。古いスキーマを渡された場合はそのバージョン特有のバグ含む問題を可能な限りエミュレーションしようとします。

$ conslyric (プログラムのファイル)

デバッグログを有効にする場合:

$ conslyric (プログラムのファイル) -V

Conslyric Schema v1

Conslyric Schemaは、CLI(コマンドラインインターフェース)環境において、歌詞やテキストを楽曲のタイミングと演出ルールに基づいて再生するために設計されたドメイン固有言語(DSL)です。YAML形式で記述され、表示時間、待機時間、色、画面クリアなどの演出制御を宣言的に行います。


1. 基本構造

YAMLデータは、以下の主要なトップレベル要素で構成されます。

要素名 必須 説明
consLyric string 必須 スキーマバージョンを指定します(例: 4)。古いバージョンが指定された場合、そのバージョンの動作(バグを含む)をエミュレートしようとします。
metadata map 必須 再生全体に関する設定情報とデフォルト値を定義します。
define map 任意 再利用可能な関数(コマンド群)を定義します。
run array 必須 歌詞の本体と、実行されるすべての演出コマンドを順番に記述します。

2. metadata

再生時の全体設定とデフォルト値を定義します。

キー 必須 説明
time string 必須 楽曲の総再生時間の上限(リミット)を定義します(例: 4m1s)。run配列から計算された全体の表示時間がこの値を超過した場合、実行時に例外が発生します。
showDefault string 必須 歌詞行が表示されるデフォルトの持続時間(例: 2s)。setRuleで上書きされない場合に適用されます。
sleepDefault string 必須 歌詞行間のデフォルトの待機時間(例: 3s)。setRuleで上書きされない場合に適用されます。

3. define (関数定義)

再利用可能なコマンドのシーケンス(関数)を定義します。

キー 説明
[関数名] map 任意の関数名をキーとします(例: fastLyric)。
type string 必須。 関数であることを示すため、funcと指定します。
args array 関数が受け取る引数を定義します。形式は [引数名]:[型](例: showTime:num)。
run array 関数が呼び出されたときに実行されるコマンドのリストです。引数は ${引数名} の形式で参照できます。

4. run (再生シーケンス)

歌詞と制御コマンドを混在させた配列です。

4.1. 歌詞行

引用符なしで記述された文字列は、表示対象のテキストとして扱われます。その行の持続時間は、直前のsetShowRuleまたはshowDefault、次の行までの待機時間は直前のsetSleepRuleまたはsleepDefaultに基づきます。

4.2. 制御コマンド

以下のコマンド(ディレクティブ)を使用して、表示ルールや画面の状態を操作します。

コマンド パラメータ 動作 リセットのタイミング
setShowRule:[時間] 時間(例: 0.5s, 2s 現在の歌詞行の表示時間を上書き設定します。 endSection
setSleepRule:[時間] 時間(例: 0s, 1s 現在の歌詞行の後の待機時間を上書き設定します。 endSection
cons:clear なし コンソール画面をクリアします。 常に実行されます。
cons:setcolor:[色] 色(例: red, orange 以降のテキストの色を設定します。 cons:color:reset
cons:color:reset なし テキストの色をデフォルトに戻します。 常に実行されます。
endSection なし setShowRuleおよびsetSleepRuleで設定された全てのルールを、metadataで定義されたデフォルト値にリセットします。画面クリアは行いません。 常に実行されます。
[関数名]:[引数] map defineセクションで定義された関数を呼び出します(例: fastLyric: {showTime: 0.2, sleepTime: 0.1})。 常に実行されます。

Release files for conslyric 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for conslyric 0.2.0
File Size Uploaded
conslyric-0.2.0.tar.gz 9.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for conslyric 0.2.0
File Interpreter ABI Platform
conslyric-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 24.1 kB

Release files / conslyric-0.2.0.tar.gz

Download URL conslyric-0.2.0.tar.gz
Size 9.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b5a7d79c2007b9e52f62fab982202760a3f74a8dbb4144353043c99c9b85661c
BLAKE2b-256 checksum
How to use checksums
bd1e6b69503c509bdc88d810fcc06ae5a84dcd007afa3c1551c84846c73118d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.8

Release files / conslyric-0.2.0-py3-none-any.whl

Download URL conslyric-0.2.0-py3-none-any.whl
Size 14.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8568e7e3a5e5aa8c0609870f0964874769971b3b9d0a2fe59cdaebdf8b29c83a
BLAKE2b-256 checksum
How to use checksums
b7ae309e67491b568a8fff7593d5e2a788ab1944a962966e9ba5f18855021dcc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.8

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page