Доброго времени суток, прошу прощения, но данная тема меня ставит в тупик уже второй день, имхо никогда не касался web audio api и спать уже перестал. Может найдутся сдесь люди, которые помогут решить проблему. 
Вобщем суть следующая:
Пишу приложение на react. все ок. до того момента, пока мне не стало надо, загружать аудио файлы. они беруться из разных мест и в разном формате. Это может быть wave, wav. mp3, acc и так далее, в общем все, у чего есть mime type - audio/*. С загрузкой проблем нет. input file, form data и все ок. НО!!!!!!!
Для того, что бы не расходовать трафик и не грузить сервер излишними данными, нужно на стороне клиента сжимать ( конвертировать/перекодировать ) файл в формат mp3 и сжать его до определенного размера. 
Пример, который мне нравиться (админы это не реклама, а пример): 
вот тут.
Начав разбираться в этой теме, я спокойно получаю буффер файла:
const reader = new FileReader();lve(resultBuffer);
    reader.readAsArrayBuffer(input.files[0]);
    reader.addEventListener('load', ({ target }) => {
        if (!target.result) {
            return;
        }
        this.audioCtx.decodeAudioData(buffer)
            .then(audioBuffer => {
            // собсна audioBuffer это и есть нужный буффер
        });
    }, false);
После получения буффера, нужно как то конвертировать/перекодировать этот буффер в mp3, вот с такими параметрами:
	
	| 
		 Код: 
	 | 
	     ffmpeg -i sound.mp3 -ar 32000 -ac 2 -b:a 64K -f mp3 result.mp3  | 
	
Это пример запуска ffmpeg на сервере, он все делает правильно, но на сервере. В примере выше, можно увидеть, что все выполняется в браузере. Задача стоит ровно такая же, т.е. взять буффер, его преобразовать и отправить его на сервер с form data. 
С отправкой проблемы нет. А вот как конвертировать его? 
Почему-то не могу найти никаких либ для таких манипуляций. если кто-то даст разумный совет или покажет куда смотреть, буду очень благодарен. Заранее спасибо.