LoginSignup
0
1

More than 1 year has passed since last update.

【ギター】Pythonでギタリストたちのためにチェンジアップを練習できるアプリを作ったっピ【基礎練習】

Last updated at Posted at 2023-02-19

チェンジアップ練習用のアプリ

楽器を演奏していると4分、8分、16分、と様々なリズムでクロマチック練習したくなるものです。私は通常6弦の5→6→7→8フレット、5弦の5→6→7→8フレット、...1弦の5→6→7→8フレットの計24フレットを行きと帰りで48回(ワンセット)弾くクロマチック練習をしています。チェンジアップを練習するにあたって、4分、8分、16分など様々なリズムで練習したくなり、アプリを作ってみました。自分でやると、どうしても偏りが出てしまうのではないか、という懸念があったり、PCがランダムに次の拍を自動で指定してくれたら便利なのになぁ...と思ったりして作りました。ワンセット弾き終わるころに時間を自動で計算して次に弾くべきリズムを提示します。なお、使用にあたってはメトロノームが必須です。任意のbpmで練習できます。

ダウンロード

githubの方にアップしました。
アクセスすると即座にダウンロードが開始されます。

使い方

zipファイルを解凍してフォルダの中の適当な位置においてください。
distの中のrhythm.exeという実行ファイルがアプリケーションになります。

実行すると、ディフェンダーによってPCが保護されるかもしれませんが、続行をクリックして実行してください。

するとコマンドプロンプトが起動し、ゲームモードを選択します。hardでは6連符が入るので、早いリズムでは難しくなります。自分はいつも遅めのbpmで、ハードモードでやっています。

次にリズムを選択します。お好みで選んでください。私の場合は70ぐらいで練習しています。

最後に繰り返し回数です。何回指板上を行ったり来たりするか、何セット行うかを選択します。自分はいつも20ぐらいでやっています。

もともとのPythonコード

実行ファイル化する前のパイソンコードを添付しておきます。
ウイルスじゃないですよ...。

python
from random import random
import tkinter
import random

# 難易度選択
nanido = input('難易度選択!Hard(h) or Easy(e)')

# bpm入力
bpm = input('bpm=?')

# 繰り返し回数を入力
kurikaeshi = input('繰り返し回数')

# 表示テキスト・表示時間のリスト作成
mytxts = ['4分音符', '8分音符', 'シャッフル', 'スウィング', '16分音符', '3連符', '2拍3連']
mytimes = [int(2880000/int(bpm)), int(1440000/int(bpm)), int(1440000/int(bpm)), int(1440000/int(bpm)), int(720000/int(bpm)), int(960000/int(bpm)), int(1920000/int(bpm))]

if nanido == 'h' :
    mytxts.append('6連符')
    mytimes.append(int(480000/int(bpm)))


# Window表示を関数として定義
def hyouji(mytxt, mytime):
    root = tkinter.Tk()
    # テキストを表示させる
    w = tkinter.Label(root, text=mytxt, font=("normal", 20))
    w.pack()
    # 決まった時間後に閉じる
    root.after(mytime,lambda: root.destroy())
    # 継続して表示
    root.mainloop()

def deter(idx_pre) :
    idx = mytxts.index(random.choice(mytxts))
    while idx_pre == idx :
        idx = mytxts.index(random.choice(mytxts))
    return idx

# 表示
display_pre = ''
idx_pre = -1
for num in range(int(kurikaeshi)) :
    idx_pre = deter(idx_pre)
    hyouji(mytxts[idx_pre], mytimes[idx_pre])

Pythonをダウンロードすれば、もっと自分好みにカスタマイズできます。

最後に、Pythonをダウンロードしてコードをコピペすれば、もっと練習の幅が広がるかなと思います。この機会にPythonデビューされては如何。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1