JavaScript で簡易的なサウンドエディタのようなことをWebページ上でやろうとしています。
部分的に編集やエフェクトを加えられるようにするために、
1.編集したい範囲、その前後、で音声データを3分割
2.編集範囲のみ、Tone.jsで編集
3.編集範囲(編集済み)と、その前後(無編集)を連結
という手順を踏んでおります。
そこで、さまざまなサイトを閲覧し試してみた結果、
Tone.Playerに編集範囲をトリミングしたデータを入れ、
編集を加えて再生はできるのですが、
その後の連結に使用するための、編集を適応した音声データを
bufferで取得したいのですが、その方法が見つけられません。
該当のソースコード
JavaScript
ソースコード
loadCount = 0;
source11 = new Tone.Player(url,function(){
console.log("source11 OK");
loadCount++;
});
source12 = new Tone.Player(url,function(){
console.log("source12 OK");
loadCount++;
});
source13 = new Tone.Player(url,function(){
console.log("source13 OK");
loadCount++;
});
source14 = new Tone.Player(url,function(){
console.log("source14 OK");
loadCount++;
});
source15 = new Tone.Player(url,function(){
console.log("source15 OK");
loadCount++;
});
// 音声データをロードをし終わってから処理するように
function loadedEvent2(){
if(loadCount >= 5){
shift2 = new Tone.PitchShift({
pitch : semitones ,
windowSize : 0.03 ,
delayTime : 0 ,
feedback : 0
}).toMaster();
reverb2 = new Tone.Freeverb().toMaster();
chorus2 = new Tone.Chorus().toMaster();
autoWah2 = new Tone.AutoWah({
baseFrequency : 100,
octaves : 20,
sensitivity : 0,
gain : 10}
).toMaster();
feedbackDelay2 = new Tone.FeedbackDelay("8n", 0.5).toMaster();
source11.connect(shift2); source11.autostart = false; source12.connect(reverb2); source12.autostart = false; source13.connect(chorus2); source13.autostart = false; source14.connect(autoWah2); source14.autostart = false; source15.connect(feedbackDelay2); source15.autostart = false; buf1 = source11._buffer._buffer; buf2 = source12._buffer._buffer; buf3 = source13._buffer._buffer; buf4 = source14._buffer._buffer; buf5 = source15._buffer._buffer; // 編集前のデータだった var len5 = buf5.duration; var bufA;
// Tone.Offlineを使うと良いらしいのでやってみたが取得できない(使い方が曖昧)
Tone.Offline(function(){
var s = source15.connect(feedbackDelay2);
},len5).then(function(buffer){
bufA = buffer._buffer;
console.log(bufA);
})
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/17 06:52
2020/02/17 11:31 編集
2020/02/18 00:28
2020/02/18 01:06
2020/02/18 02:06
2020/02/20 03:56 編集