以指定的 BPM 录制音频
Having An Audio Recorded In An Specified BPM
我正在使用 recorder.js
来录制页面中正在播放的几个音频元素(输出声音)。我想知道如何设置一个数字,作为录制音频的 BPM(每分钟节拍数)。
//connectRecorder Function
function connectRecorder() {
if (audioSources == '') {
audioContext = new AudioContext();
gainNode = audioContext.createGain();
for (var i = 0; i < audiosClass.length; i++) {
audioSources.push(audioContext.createMediaElementSource(audiosClass[i]));
audioSources[i].connect(gainNode);
}
gainNode.connect(audioContext.destination);
}
}
//recordButton Click Handler
function recordButtonClickHandler() {
if (recordButton.value == 'Start Recording') {
recorder = new Recorder(gainNode);
recorder.record();
recordButton.value = 'Stop Recording';
} else {
recorder.stop();
recorder.exportWAV(function (blob) {
hiddenRecordExportLink.href = URL.createObjectURL(blob);
if (recordSelect.value == 'wav') {
hiddenRecordExportLink.download = 'record.wav';
} else {
hiddenRecordExportLink.download = 'record.mp3';
}
hiddenRecordExportLink.click();
});
recordButton.value = 'Start Recording';
}
}
具体来说,您无法设置 BPM,但可以设置播放速率。如果您知道您的源曲目是 120 BPM,并且您想将其提高到 130 BPM,您可以这样设置播放速率:
audio.playbackRate = 130 / 120; // 1.083333
我正在使用 recorder.js
来录制页面中正在播放的几个音频元素(输出声音)。我想知道如何设置一个数字,作为录制音频的 BPM(每分钟节拍数)。
//connectRecorder Function
function connectRecorder() {
if (audioSources == '') {
audioContext = new AudioContext();
gainNode = audioContext.createGain();
for (var i = 0; i < audiosClass.length; i++) {
audioSources.push(audioContext.createMediaElementSource(audiosClass[i]));
audioSources[i].connect(gainNode);
}
gainNode.connect(audioContext.destination);
}
}
//recordButton Click Handler
function recordButtonClickHandler() {
if (recordButton.value == 'Start Recording') {
recorder = new Recorder(gainNode);
recorder.record();
recordButton.value = 'Stop Recording';
} else {
recorder.stop();
recorder.exportWAV(function (blob) {
hiddenRecordExportLink.href = URL.createObjectURL(blob);
if (recordSelect.value == 'wav') {
hiddenRecordExportLink.download = 'record.wav';
} else {
hiddenRecordExportLink.download = 'record.mp3';
}
hiddenRecordExportLink.click();
});
recordButton.value = 'Start Recording';
}
}
具体来说,您无法设置 BPM,但可以设置播放速率。如果您知道您的源曲目是 120 BPM,并且您想将其提高到 130 BPM,您可以这样设置播放速率:
audio.playbackRate = 130 / 120; // 1.083333