Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Zenncafe 1st LT
Search
Yusuke Kikuta
February 28, 2025
920
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Zenncafe 1st LT
Yusuke Kikuta
February 28, 2025
More Decks by Yusuke Kikuta
See All by Yusuke Kikuta
ReactTokyo 3/21 LT
yusukekikuta0509
1
2k
Featured
See All Featured
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
190
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
Practical Orchestrator
shlominoach
191
11k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Scaling GitHub
holman
464
140k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
Become a Pro
speakerdeck
PRO
31
6k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
330
Transcript
Music Theory vs Counterpoint in Algorithms Yusuke Kikuta
はじめに 名前: Yusuke Kikuta (菊田佑輔) 年齢: 19 好きな音楽家: チャイコフスキー
好きなフレームワーク: React, Next.js 職業: フリーランスエンジニア / Web3 project CEO 各種SNS GitHub: https://github.com/yusukekikuta0509 Zenn: https://zenn.dev/yusukekikuta X: https://x.com/yusuke_05092005
この記事でLTを行うことにした背景 • 音楽理論のおかげでプログラミングスキルを伸ばせた • 音楽理論は日常のMusic Lifeをより豊かにするツール • 意外にもあるプログラミングとの親和性に迫りたい。
• 僕にしかできないLTだから
導入 音楽とプログラミング、一見無関係に見えるが…? 音楽理論の考え方 →複雑な要素が絡まる音楽を音という最小単位で考えて 楽曲を紐解くことによる深い理解、それに伴う演奏技術の向上を目的としている 根本的な考え方はプログラミングと大差のない論理的思考にあります。
30秒でサクッと触れる。音楽理論の基礎 主に3つの要素が大切になってきます。 • 音程: 完全5度, 長3度など • 調性: 長調(明るい),
短調(暗い) • 和声: ハ長調, (構成音はド, ミ, ソ)
今回フォーカスする対位法とは • 対位法は英語で「Counterpoint」。 • 複数の旋律が同時に鳴っているのに、ちゃんと調和がとれているという技法です。 • バッハのフーガなどが有名で、一つのテーマを様々な声部が追いかけ合うように演奏しま
す。 • この「各声部の独立性」と「全体の調和」という両立が対位法のポイントです。
バッハ《平均律クラヴィーア曲集》第1番 プレリュード • ポイント :分散和音、機能和声、モティーフの繰り返し • 和音進行は I - ii7
- V7 - Iを一小節ごとに遷移
アルゴリズムと対位法の共通点 • 厳密なルール(音程、声部) ↔ 仕様通りの手順(アルゴリズム) • 再帰的構造(フーガ) ↔ 再帰関数
• モジュールの独立性(声部間) ↔ ソフトウェアのコンポーネント化
バッハの思考をPython擬似表現してみよう 1. 音程という概念を数字に 音楽理論では、音程は数学的な比率や間隔で表現されます。例えば、 • 完全五度(C-G):周波数比 3:2(数学的に安定した比率) • 完全八度(C-C):周波数比 2:1(最も安定した音程)
Pythonではこれを数値として扱い、 各音の相対的な距離を計算することができます。
バッハの思考をPython擬似表現してみよう 2.調和が取れているのかの判定 調和とは、異なる音の組み合わせがどのように 心地よく感じられるかを数学的に分析するもの。 調和の評価には、以下の要素が含まれます。 1. 音程の関係(完全協和、不完全協和、不協和) 2. 調性内での安定性
バッハの思考をPython擬似表現してみよう 3. メロディ生成のアルゴリズム 特にバロック音楽ではメロディはアイデアではなく 理論として位置しています。 対位法の基本ルールに従って 旋律を生成するプロセスを示します。
バッハの思考をPython擬似表現してみよう 4. 旋律の規則性と数理的解析 音楽にはリズムや音の配置に数学的規則性が存在します。 対位法においては、音の流れや跳躍の制約を数理的に モデル化することが重要です。 音程の跳躍や進行のパターンを数学的に制限することで、 滑らかな旋律を構築できます。
まとめ • 音楽理論は創造性と論理性 を同時に高める • 対位法 → アルゴリズム思考のヒント
• 音楽理論の楽しさ