fusion_hat.music モジュール

ミュージック

この モジュール は 音楽 、 効果 音 、 および 音符 制御 を 再生 する ため の クラス を 提供 します 。

サンプル

モジュール を インポート し 、 インスタンス を 作成 します

>>> from fusion_hat.music import Music
>>> music = Music()

音楽 ファイル を 再生 します

>>> music.music_play("music.wav")

スレッド 内 で 音楽 を 再生 します

>>> music_thread = threading.Thread(target=music.music_play, args=("music.wav",))
>>> music_thread.start()

音楽 を 制御 します

>>> music.music_pause()
>>> music.music_resume()
>>> music.music_stop()

効果 音 ファイル を 再生 します

>>> music.sound_play("sound.wav")

スレッド 内 で 効果 音 ファイル を 再生 します

>>> music.sound_play_thread("sound.wav")
class fusion_hat.music.Music[ソース]

ベースクラス: object

音楽 、 効果 音 、 および 音符 制御 を 再生 します

CHANNELS = 1
RATE = 44100
KEY_G_MAJOR = 1
KEY_D_MAJOR = 2
KEY_A_MAJOR = 3
KEY_E_MAJOR = 4
KEY_B_MAJOR = 5
KEY_F_SHARP_MAJOR = 6
KEY_C_SHARP_MAJOR = 7
KEY_F_MAJOR = -1
KEY_B_FLAT_MAJOR = -2
KEY_E_FLAT_MAJOR = -3
KEY_A_FLAT_MAJOR = -4
KEY_D_FLAT_MAJOR = -5
KEY_G_FLAT_MAJOR = -6
KEY_C_FLAT_MAJOR = -7
KEY_SIGNATURE_SHARP = 1
KEY_SIGNATURE_FLAT = -1
WHOLE_NOTE = 1
HALF_NOTE = 0.5
QUARTER_NOTE = 0.25
EIGHTH_NOTE = 0.125
SIXTEENTH_NOTE = 0.0625
NOTE_BASE_FREQ = 440

計算 用 の 基準 音符 周波数 ( A4 )

NOTE_BASE_INDEX = 69

計算 用 の 基準 音符 インデックス ( A4 ) MIDI 互換

NOTES = [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, 'A0', 'A#0', 'B0', 'C1', 'C#1', 'D1', 'D#1', 'E1', 'F1', 'F#1', 'G1', 'G#1', 'A1', 'A#1', 'B1', 'C2', 'C#2', 'D2', 'D#2', 'E2', 'F2', 'F#2', 'G2', 'G#2', 'A2', 'A#2', 'B2', 'C3', 'C#3', 'D3', 'D#3', 'E3', 'F3', 'F#3', 'G3', 'G#3', 'A3', 'A#3', 'B3', 'C4', 'C#4', 'D4', 'D#4', 'E4', 'F4', 'F#4', 'G4', 'G#4', 'A4', 'A#4', 'B4', 'C5', 'C#5', 'D5', 'D#5', 'E5', 'F5', 'F#5', 'G5', 'G#5', 'A5', 'A#5', 'B5', 'C6', 'C#6', 'D6', 'D#6', 'E6', 'F6', 'F#6', 'G6', 'G#6', 'A6', 'A#6', 'B6', 'C7', 'C#7', 'D7', 'D#7', 'E7', 'F7', 'F#7', 'G7', 'G#7', 'A7', 'A#7', 'B7', 'C8']

音符 名 、 MIDI 互換

time_signature(top: int = None, bottom: int = None) tuple[ソース]

拍子 を 設定 / 取得 します

パラメータ:
  • top (int, optional) -- 拍子 の 分子 。 デフォルト は None です 。

  • bottom (int, optional) -- 拍子 の 分母 。 デフォルト は None です 。

戻り値:

拍子

戻り値の型:

tuple

key_signature(key: int = None) int[ソース]

調号 を 設定 / 取得 します

パラメータ:

key (int, optional) -- 調号 は KEY_XX_MAJOR または 文字列 "#" 、 "##" 、 "bbb" 、 "bbbb" を 使用 します 。 デフォルト は None です 。

戻り値:

調号

戻り値の型:

int

tempo(tempo: int = None, note_value: float = 0.25) tuple[ソース]

テンポ ( bpm ) を 設定 / 取得 します

パラメータ:
  • tempo (int, optional) -- テンポ 。 デフォルト は None です 。

  • note_value (float, optional) -- 音符 の 値 ( 1 、 1/2 、 Music.HALF_NOTE など ) 。 デフォルト は QUARTER_NOTE です 。

戻り値:

テンポ

戻り値の型:

tuple

beat(beat: float) float[ソース]

テンポ から 拍 の 遅延 ( 秒 ) を 計算 します

パラメータ:

beat (float) -- 拍 インデックス

戻り値:

拍 の 遅延

戻り値の型:

float

note(note: str, natural: bool = False) float[ソース]

音符 の 周波数 を 取得 します

パラメータ:
  • note (str) -- 音符 名 ( NOTES を 参照 )

  • natural (bool, optional) -- ナチュラル 音符 か どうか 。 デフォルト は False です 。

戻り値:

音符 の 周波数

戻り値の型:

float

sound_play(filename: str, volume: int = None) None[ソース]

効果 音 ファイル を 再生 します

パラメータ:
  • filename (str) -- 効果 音 ファイル 名

  • volume (int, optional) -- 音量 0-100 。 未 指定 の 場合 、 音量 は 変更 されません 。 デフォルト は None です 。

sound_play_threading(filename: str, volume: int = None) None[ソース]

バックグラウンド の スレッド で 効果 音 を 再生 します

パラメータ:
  • filename (str) -- 効果 音 ファイル 名

  • volume (int, optional) -- 音量 0-100 。 未 指定 の 場合 、 音量 は 変更 されません 。 デフォルト は None です 。

music_play(filename: str, loops: int = 1, start: float = 0.0, volume: int = None) None[ソース]

音楽 ファイル を 再生 します

パラメータ:
  • filename (str) -- 音声 ファイル 名

  • loops (int, optional) -- ループ 回数 。 0 : 無限 ループ 、 1 : 1 回 再生 、 2 : 2 回 再生 、 … 。 デフォルト は 1 です 。

  • start (float, optional) -- 開始 時刻 ( 秒 ) 。 デフォルト は 0.0 です 。

  • volume (int, optional) -- 音量 0-100 。 未 指定 の 場合 、 音量 は 変更 されません 。 デフォルト は None です 。

music_set_volume(value: int) None[ソース]

音楽 の 音量 を 設定 します

パラメータ:

value (int) -- 音量 0-100

music_stop() None[ソース]

音楽 を 停止 します

music_pause() None[ソース]

音楽 を 一時 停止 します

music_resume() None[ソース]

音楽 を 再開 します

music_unpause() None[ソース]

音楽 の 一時 停止 を 解除 ( 再開 ) します

sound_length(filename: str) float[ソース]

効果 音 の 長さ ( 秒 ) を 取得 します

パラメータ:

filename (str) -- 効果 音 ファイル 名

戻り値:

長さ ( 秒 )

戻り値の型:

float

get_tone_data(freq: float, duration: float) list[ソース]

再生 用 の トーン データ を 取得 します

クレジット : Aditya Shankar & Gringo Suave https://stackoverflow.com/a/53231212/14827323

パラメータ:
  • freq (float) -- 周波数

  • duration (float) -- 継続 時間 ( 秒 )

戻り値:

トーン データ

戻り値の型:

list

play_tone_for(freq: float, duration: float) None[ソース]

指定 した 秒数 だけ トーン を 再生 します 。 クレジット : Aditya Shankar & Gringo Suave https://stackoverflow.com/a/53231212/14827323

パラメータ:
  • freq (float) -- 周波数 。 NOTES を 使用 して 周波数 を 取得 できます

  • duration (float) -- 継続 時間 ( 秒 )