Tue Nov 08 2016 06:48:00 GMT+0900 (JST)
React コードリーディング
- プロジェクトの構成が複雑 →
npm i
後のものなら(まだ)見やすい ReactComponent
にはsetState
とforceUpdate
しかメソッドがないcreateClass
では色々やっているextends React.Component
で作ったクラスもどっかのタイミングでcreateClass
でやっているようなことをする必要があるはずcreateElement
でやってる?
Web Audio Test API
- グラフ探索クエリ
< GainNode < OscillatorNode
のように書けるように検討 >
デスティネーション側のノード<
ソース側のノードGainNode
ノードの名前GainNode .gain
オーディオパラメータGainNode [channelCount=2]
属性のフィルタリングGainNode .gain [value=0.5]
属性のフィルタリング> GainNode .gain [value=0.5] > GainNode
Thu Nov 03 2016 09:29:17 GMT+0900 (JST)
BaseAudioContextを使うように更新した。
Wed Nov 02 2016 22:31:18 GMT+0900 (JST)
BaseAudioContext 関連のパッケージ。カッとなって作った感がある。
ポリフィル系のアップデートもしないといけない。
Mon Oct 31 2016 16:56:52 GMT+0900 (JST)
https://github.com/mohayonao/web-audio-sound-examples
カテゴリをつけた方が良い気がしてきた。
- 単純に音がなるだけのもの (synth)
- パターンをつかって演奏するもの (compose)
- エフェクトとしてつかうもの (effect)
みたいな?
Sun Oct 30 2016 21:52:53 GMT+0900 (JST)
いくつか音を足したけど、もうちょっと分かりやすい方が良いのかとか方向性が定まっていない感じがする。
- swell / hihat / fm-bell
- https://github.com/mohayonao/web-audio-sound-examples
Sun Oct 30 2016 12:14:24 GMT+0900 (JST)
ウェブオーディオのサウンド例をまとめるページを作った。
Sat Oct 29 2016 14:14:35 GMT+0900 (JST)
BiquadFilterNode と IIRFilterNode の getFrequencyResponse を実装した。
計算部分は共通にしてある。式の意味はさっぱり分からない。
function getFilterResponse(b, a, freq, mag, phase, sampleRate) { for (let i = 0, imax = freq.length; i < imax; i++) { const w0 = 2 * Math.PI * (freq[i] / sampleRate); const ca = compute(a, Math.cos, w0); const sa = compute(a, Math.sin, w0); const cb = compute(b, Math.cos, w0); const sb = compute(b, Math.sin, w0); mag[i] = Math.sqrt((cb * cb + sb * sb) / (ca * ca + sa * sa)); phase[i] = Math.atan2(sa, ca) - Math.atan2(sb, cb); } } function compute(values, fn, w0) { let result = 0; for (let i = 0, imax = values.length; i < imax; i++) { result += values[i] * fn(w0 * i); } return result; }