Javascript 在指定的BPM中录制音频的

Javascript 在指定的BPM中录制音频的,javascript,audio,html5-audio,Javascript,Audio,Html5 Audio,我正在使用recorder.js录制页面中播放的两个音频元素soutput声音。我想知道我如何才能设置一个数字,作为每分钟录制音频的BPMBeats //connectRecorder Function function connectRecorder() { if (audioSources == '') { audioContext = new AudioContext(); gainNode = audioContext.createGain();

我正在使用recorder.js录制页面中播放的两个音频元素soutput声音。我想知道我如何才能设置一个数字,作为每分钟录制音频的BPMBeats

//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

我不想更改BPM。我想在指定的BPM中记录我的文件。此外,未指定源轨迹的BPM。实际上,我想在Ableton Live鼓架上加载一些音频样本,bpm不会使用指定的bpm更改播放和录制。未指定音频样本的BPM,但录制是。@AliAhmadi音频未使用任何特定BPM录制。有一个固定的采样率,就是这样。Ableton Live在一个单独的元数据文件中跟踪BPM和提示点。在播放时,它会更改播放速率以符合所需的BPM。我可以用JavaScript来实现这一点吗?我的意思是“在单独的元数据中跟踪BPM和提示点…”。当然如果需要,您可以将其写成JSON。