私は、エンベロープを開始するために可聴クラックのない一定のピッチ、最初のボリュームの超高速加速(ボリュームのクラックなし)、および短い期間にわたるゆっくりとしたリリースを望んでいます。フルートは本当に速く、それよりもさらに簡単です。私が持っているのはこれです:
const flute1 = new Tone.Synth({
oscillator: {
type: 'sine',
},
envelope: {
attack: 0.01,
decay: 0,
sustain: 1,
release: 1
}
}).toDestination()
しかし、これをループで呼び出すと、最初の音で音量が小さくなり、拍ごとに音がゆっくりと音量を上げていくのが聞こえます。それらがそれぞれ同じ音で均一になるようにするにはどうすればよいですか?
let fluteRhythm = [1, 0, 1, 0, 0]
let fluteRhythmI = 0
const loopA = new Tone.Loop(time => {
let play = fluteRhythm[fluteRhythmI++]
if (fluteRhythmI == fluteRhythm.length) {
fluteRhythmI = 0
}
if (play) {
flute1.triggerAttackRelease("C2", "8n", time);
}
}, "4n").start(0)