■まとめ
- COMMENTはSQLには乗らない情報をSQLで取得可能な形で残せるので、もっと活用すべき
- JSONのようなパース可能な構文で呼び出し側にデータを渡すことができて自動化しやすい
- C言語の構造体とRDBの設計は等しいという感性を持って、DB設計をプログラミングフレンドリーにすべき
- RDBはメモリの永続化、IDはメモリアドレス、テーブルは構造体だとイメージするとDBをいじる時に気が楽
snd.jsの公式ブログです。
// オシレータ生成 | |
var osc = new snd.OscillatorSource("OSC-01"); | |
// ゲインを0.1にする | |
osc.volume = 0.1; | |
// マスタ(AudioDestination)に接続して音が出るようにする | |
osc.connect(snd.MASTER); | |
// オシレータの出力開始 | |
osc.start(); | |
// エンベロープの設定 | |
// setScheduledValuesメソッドに時間と値と補間法をまとめたオブジェクトの配列を渡す | |
// time: 変化が終わる時間, | |
// value: time秒後のAudioParamの値, | |
// type: 補間方法(snd.SET: time秒後にvalueを設定, snd.LINER: 直線, snd.EXPONENTIALLY: 対数) | |
osc.frequencyParam.setScheduledValues([ | |
{time: 0.0, value: 0.0, type: snd.SET}, | |
{time: 0.5, value: 440.0, type: snd.LINER}, | |
{time: 0.75, value: 220.0, type: snd.EXPONENTIALLY}, | |
{time: 1.75, value: 220.0, type: snd.SET}, | |
{time: 2.25, value: 0.0001, type: snd.EXPONENTIALLY}, // AudioParam#exponentialRampToValueAtTimeは最終値を0にできないので、ゼロに近い値で止めて… | |
{time: 2.26, value: 0.0, type: snd.SET} // ちょっと後にゼロにする | |
]); |
<script src="http://lib.sndjs.org/snd.all.in.one.js"></script>などと書いてもらえば、ダウンロード不要でsnd.jsをご使用いただけます。