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
A440
Search
HORINOUCHI Masato
February 16, 2016
Technology
0
58
A440
社内LT大会 0x64物語 #05 Number 資料
HORINOUCHI Masato
February 16, 2016
Tweet
Share
More Decks by HORINOUCHI Masato
See All by HORINOUCHI Masato
balenaCloud
thermes
0
66
Church Numerals
thermes
0
40
CPS & CTO
thermes
0
240
FM synthesis
thermes
0
32
Inside mml2wav.rb
thermes
0
83
Scheme Interpreter in Ruby
thermes
0
68
Clock / Timer
thermes
0
150
Hash Tree
thermes
0
73
POSIX Threads
thermes
0
53
Other Decks in Technology
See All in Technology
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
270
AI駆動開発に向けた新しいエンジニアマインドセット
kazue
0
300
生成AI時代のデータ基盤
shibuiwilliam
6
3.8k
Snowflakeの生成AI機能を活用したデータ分析アプリの作成 〜Cortex AnalystとCortex Searchの活用とStreamlitアプリでの利用〜
nayuts
1
420
テストを軸にした生き残り術
kworkdev
PRO
0
190
5分でカオスエンジニアリングを分かった気になろう
pandayumi
0
170
ChatGPTとPlantUML/Mermaidによるソフトウェア設計
gowhich501
1
120
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
270
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
1
320
dbt開発 with Claude Codeのためのガードレール設計
10xinc
1
830
Nstockの一人目エンジニアが 3年間かけて向き合ってきた セキュリティのこととこれから〜あれから半年〜
yo41sawada
0
210
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
380k
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
6.6k
4 Signs Your Business is Dying
shpigford
184
22k
Scaling GitHub
holman
463
140k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Visualization
eitanlees
148
16k
A better future with KSS
kneath
239
17k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
Speed Design
sergeychernyshev
32
1.1k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Being A Developer After 40
akosma
90
590k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Transcript
A440 2016/02/16 0x64 Tales #05 Number Livesense Inc. HORINOUCHI Masato
A440 ͬͯͳʹ? • ΦΫλʔϒ 4 ͷ A (ϥ) ͷपΛ 440Hz
ͱ͢Δ͜ͱɻج४ϐο ν(Իߴ) ͱͯ͠ࠃࡍඪ४ͱͳ͍ͬͯΔɻ • 1955 ʹ ISO ʹΑΓ A=440 ͕ఆΊΒΕΔલྺ࢙తܦҢʹΑ Γ A=415, A=430, A=466 ͳͲ༷ʑͳج४ϐον͕༻͍ΒΕ͖ͯ ͨɻ • গʑߴ͍ج४ϐονͷํ͕՚͔ʹௌ͑͜ΔͷͰɺݱࡏͰ A=442, A=444 ͦΕΛӽ͑ΔΦʔέετϥଟ͍ɻ
ΈΜͳͬͯΔ A440 • ࣌ใ • "me_signal.wav • 440Hz 440Hz 440Hz
880Hz ͱ͍͏पͰ໐͍ͬͯΔɻ
ΦΫλʔϒ • 1ΦΫλʔϒ্ͷԻΛ໐Β͢ʹपΛ 2ഒʹ͢Δɻ • 1ΦΫλʔϒԼͷԻΛ໐Β͢ʹपΛ 1/2ഒʹ͢Δɻ • ΦΫλʔϒ x
ͷ A ͷपൺྻ • 1 => 55, 2 => 110, 3 => 220, 4 => 440, 5 => 880 … • f(x) = 27.5 * (2 ** x)
Ի ԻఔͷपΛͲͷΑ͏ʹنఆ͢Δ͔ɻ • ฏۉ • 1ΦΫλʔϒΛ 12ͨ͠Իɻ • (0..12).each {|i|
2.0 ** (i.to_f / 12) } ͷൺྻɻ • ७ਖ਼ • ७ਖ਼Իఔ(पൺ͕୯७ͳൺͱͳΔ)Λ༻͍ͨԻɻ • ԻͰഒԻͷ͏ͳΓ͕ൃੜ͠ͳ͍ɻCϝδϟʔͰͷ C-E-G ͕ 4:5:6 ͱͳΔɻ
ฏۉͱ७ਖ਼ʹΑΔԻఔ ฏۉ ͔ΒҾ༻
σϞ CϝδϟʔͰશԻ֊ͱ C-E-G , F-A-C , G-B-D ͷࡾԻɻ • ฏۉ
A440: temp_12tet_a440.wav • ฏۉ A444: temp_12tet_a444.wav • ७ਖ਼ A440: temp_just.wav
ࠓճͷݕূɺ ॳϦΞϧλΠϜੜͨ͠ܗσ ʔλΛ /dev/dsp ʹग़ྗ͠Α͏ͱߟ ͍͑ͯͨͷ͕ͩ…ɻ
σʔλͲ͏ͬͯ࡞ͬͨͷ? • MML ύʔαʔ࡞ͬͯܗσʔλʹม͢Εྑ͍ͷͰ… • ܗσʔλ͑͞࡞ΕͨΒ .wav ग़ྗ؆୯ͩΑͶɻ • ܗੜؔม͑Εਖ਼ݭҎ֎ग़ྗͰ͖ΔΑͶɻ
• ܗσʔλΛ߹Ͱ͖ΕϚϧντϥοΫԽͰ͖ΔΑͶɻ • ࡞ͬͯΈͨ ← ΠϚίί
to be con(nued...