pytakt.utils module

takt_round(x) int

x を最も近い整数へ丸めます。2つ可能性があるときは大きい方になります。

Parameters:

x (float) – 元の値

Returns:

結果の値

takt_roundx(x, mode) int

さまざまな丸めモードを持った整数への丸め関数

Parameters:
  • x (float) – 元の値

  • mode (str or function) –

    次のうちのいずれかによって丸めモードを表す。

    • ’nearestup’: x に最も近い整数。 2つ可能性があるときは大きい方。

    • ’nearestdown’: x に最も近い整数。 2つ可能性があるときは小さい方。

    • ’floor’: x 以下の最大の整数。

    • ’ceil’: x 以上の最小の整数。

    • ’down’: (x + 10 -4) 以下の最大の整数 (計算誤差を考慮した切り捨て)。

    • ’up’: (x - 10 -4) 以上の最小の整数 (計算誤差を考慮した切り上げ)。

    • ’random’: ‘up’と’down’が等確率でランダムに選ばれる。

    • 関数: x を引数としてその関数を呼ばれ、その戻り値が結果となる。

Returns:

結果の値

int_preferred(x) Union[int, float, Fraction]

x が整数値を持つ場合はint型に変換して、そうでなければ元のまま返します。

Parameters:

x (int, float, or Fraction) – 元の値

Returns:

結果の値

std_time_repr(time) str

time を小数点以下5桁以内で表した文字列へ変換します。

この関数は、Event や EventList を str 関数で文字列に変換する際に、 時間に対して使われています。

Parameters:

time (ticks) – 値

frac_time_repr(time) str

time を分数表記を使ってできるだけ正確かつコンパクトな文字列に変換 します。repr関数と異なり 1e-8 程度の変換誤差を含む場合があります。

この関数は showtext() において、rawモードでないときのデフォルトの 時間→文字列変換関数になっています。

Parameters:

time (ticks) – 値

exception TaktWarning

Bases: UserWarning

class NoteDict

Bases: object

イベント間 (典型的には NoteOnEvent と NoteOffEvent) の対応を見つけるため の辞書。 デフォルトでは (トラック番号, チャネル番号, ノート番号) をキーとして 同じキーを持つイベントを探します。通常の dict と異なり、同じキーに対して 複数の要素を許しています。


clear()
copy()
push(key, value)
pushuniq(key, value)
pushnote(ev, value)
pop(key, default=<object object>)
popuniq(key, default=<object object>)
popnote(ev, default=<object object>)
items()
keys()
values()
uniquekeys()
popitem()
get_file_type(path, types=('smf', 'json', 'mxl', 'mml'), guess=True) str

path で指定されたファイルが、標準MIDIファイル、JSONファイル、 MusicXMLファイル, MMLファイルのうちのどれであるかを判別します。 まず、パス名に含まれる拡張子を調べて判別します。パス名から判別できない 場合は、ファイル内容から推測します (guess=Trueの場合)。それでも決定 できなければ例外を送出します。

Parameters:
  • path (str) – ファイルのパス名

  • types (tuple of str, optional) – 受け入れ可能なファイル形式

  • guess (bool, optional) – Trueなら、拡張子からに加えて、ファイル内容から 推測します。

Returns:

標準MIDIファイルなら ‘smf’, jsonファイルなら ‘json’, MusicXMLファイルなら ‘mxl’ (但し、types に ‘musicxml’ が含まれて いて、かつ uncompressed MusicXML ファイルなら ‘musicxml’)、 MMLファイルなら ‘mml’