tempo = 108変数と代入
右側の値を、左側の名前へ記憶します。数学の等号ではなく「入れる」操作です。
KNOWLEDGE LIBRARY
レッスン中に分からない言葉が出たとき、作品へ新しい考え方を加えたいときに使う参照ページです。
PYTHON
tempo = 108右側の値を、左側の名前へ記憶します。数学の等号ではなく「入れる」操作です。
notes = ["C4", "E4", "G4"]複数の値を順番にまとめます。最初の要素はnotes[0]です。
for i in range(8):range(8)が0から7までを作り、字下げされた処理が8回実行されます。
if i % 4 == 3:条件が真のときだけ処理を変えます。%は余りを求め、周期を作るのに便利です。
def motif(note, count):処理のまとまりへ名前を付けます。引数を変えれば、同じ仕組みから別の結果を作れます。
import random別のモジュールに用意された機能を読み込みます。標準ライブラリや外部ライブラリを使う入口です。
random.seed(42)乱数は毎回違う候補を選べます。seedを固定すると、同じ選択列を再現できます。
IndentationErrorエラーは失敗の印ではなく、Pythonが見つけた問題の位置と種類を示す手掛かりです。
ALGORITHMIC COMPOSITION
自動作曲では、人が音の材料・制約・構造を決め、プログラムが規則に従って候補を組み立てます。乱数を使わなくても、繰り返しや数列だけで自動的な生成はできます。
使う音、音の長さ、楽器、テンポを決める。
繰り返し、条件、確率、数式で選び方を決める。
音域、跳躍、反復回数を絞り、まとまりを作る。
A–B–A、導入・展開・終結など時間の形を作る。
同じ入力から必ず同じ結果を作ります。数列、セル・オートマトン、規則的なアルペジオなどが例です。
候補から乱数で選びます。seed、重み、直前の音による制約を加えると、偶然を制御できます。
温度、距離、明るさなどの数値を音高・長さ・強さへ変換し、データを音として調べます。
MUSIC BASICS
"C4"は中央付近のドです。末尾の数字が大きいほど高くなります。F#4はファのシャープ、Bb3はシのフラットです。
この教材では1を1拍とします。0.5は半拍、1/3は三連符1個分、2は2拍です。
BPMは1分間の拍数です。値を大きくすると速くなりますが、同じ旋律でも感じ方が変わります。
曲で主に使う音の集合です。五音音階は候補同士がぶつかりにくく、最初の自動作曲に向いています。
複数の音を同時に鳴らします。["C4", "E4", "G4"]はCメジャーの三和音です。
音ごとの強さです。0から1の範囲で指定し、拍の頭だけ強くするとアクセントが生まれます。
DESKTOP MUSIC
短いループを作り、音の密度や役割を確かめてから長くします。
低い音が同時に多すぎると濁ります。どちらを主役にするか決めます。
音色、リズム、音高を一度に変えず、効果を耳で比較します。
同じモチーフを残しつつ、最後の音や強さだけを変えると統一感が生まれます。
全ての拍を埋める必要はありません。休符は次の音を目立たせます。
複数トラックを重ねると全体音量が上がります。安全な音量で確認してください。
CODE PATTERNS
motif = ["C4", "E4", "G4", "E4"]
for bar in range(4):
for note in motif:
add_note(note, 0.5)triplet = ["G4", "Bb4", "D5"]
for bar in range(4):
for i in range(12):
add_note(triplet[i % 3], 1/3)for i in range(16):
if i % 4 == 3:
add_rest(0.5)
else:
add_note("C4", 0.5)import random
random.seed(42)
for i in range(16):
note = random.choice(scale)
add_note(note, 0.5)該当する項目がありません。別の言葉でも検索してみてください。