Моя задача - добавить некоторый эффект к записанному файлу.Добавление эффектов к уже записанному звуку с помощью API веб-аудио
Вот скрипт в действии Я использую Recorder.JS
и вот код https://github.com/cwilso/AudioRecorder/blob/master/js/recorderjs/recorder.js
Я хочу, чтобы добавить поле.
Я пробовал искать в других кодах, которые добавляют некоторые эффекты к аудио. Но, похоже, recorder.js обрабатывает буферы по-разному.
редактировать
function playbackRecorderAudio() {
audioRecorder.getBuffer(function(buffers) {
var source = audioContext.createBufferSource();
source.buffer = audioContext.createBuffer(1, buffers[0].length, 44100);
source.buffer.getChannelData(0).set(buffers[0]);
source.buffer.getChannelData(0).set(buffers[1]);
source.connect(audioContext.destination);
source.noteOn(0);
});
}
вот как мой код выглядит теперь, с помощью этой функции, я запрос уже записанный звук и воспроизводить его.
Могу ли я имитировать некоторый эффект, чтобы приблизиться к этому: http://www.youtube.com/watch?v=Lr80slqJ3zo Это на грузинском языке, но я надеюсь, что вы получите эту идею. Его больше похоже на гелиевый торт. (заметьте, я не хочу менять скорость звука).
Когда я попытался исследовать эффект гелия, я обнаружил следующее: http://chemistry.about.com/b/2013/08/26/helium-voice-is-not-higher-in-pitch.htm это означает, что звук должен быть 2,5 быстрее, чем воздух.
Могу ли я получить что-то близкое к этому?
редактировать
от того, что @cwilso предложил, http://chromium.googlecode.com/svn/trunk/samples/audio/granular.html ближайший я видел до сих пор. Но мне не удалось изменить его, чтобы работать с моим playbackRecorderAudio()
. Вот почему я начинаю щедрот все, что я есть
редактировать
вот jsFiddle моего кода: http://jsfiddle.net/Lsvnp/1/
Прежде всего позвольте мне описать то, что я пытаюсь достичь : Я хочу записать звук с микрофона пользователей, добавить к нему этот эффект. Когда пользователь нажимает кнопку «Остановить запись» (stopRecording
), она добавит HTML-аудио, что позволит пользователю слушать записанные записи. Если ему это понравится, он затем загрузит его на мой сервер (uploadAudio
function)
КОГДА загружена страница, запись не инициализирована. для инициализации записи пользователю необходимо нажать некоторую кнопку, которая вызовет функцию recordAudio
.
Теперь проблема в том, что я не знаю, где подключить функцию playbackRecorderAudio
. использовать его как скрытое от буфера.
Привет, MarijnS95, извините за поздний ответ. Я прочитал ваш jsFiddle как 100-й раз, и в эти дни я пытался читать какая-то документация, но это очень сложно). Я обновил свой вопрос, не могли бы вы мне немного помочь? Постскриптум ilustation помогает много, я получил, как это будет работать, я просто не знаю, где подключиться – CBeTJlu4ok
Да, код делает много. Я не знаю, как точно генерируются эффекты, но я знаю, где находятся входные и выходные точки. Код находится на [обновлениях jsfiddle] (http://jsfiddle.net/MarijnS95/WK4vt/5/). Наверху есть комментарий, который объясняет, где подключиться (я просто добавил входной и выходной узлы для легкого подключения. – MarijnS95
Скрипка где-то потерялась, поэтому [здесь новая] (http://jsfiddle.net/MarijnS95/WK4vt/6/). Входом этого является effectInput и выходные эффектыOutput. – MarijnS95