Запись голоса пользователя с помощью JS и отправка на сервер django

Я хочу записать голос пользователя и отправить его на сервер (django). Я не хочу сохранять голос с помощью моделей, но хочу преобразовать голос в текст с помощью библиотек Python

Для этого я использую этот плагин, но мой записанный голос хранится в формате blob и в теге audio. Я не могу отправить blob на сервер. Я также использовал Recorder.js, но он также сохраняется в формате blob.

вы можете использовать API fetch или AJAX-запрос для отправки аудиоданных в виде двоичного файла. Перед отправкой данных необходимо преобразовать аудиоданные (blob) в формат, который можно легко передать, например base64 или array buffer

// Convert the blob to a base64 string
var reader = new FileReader();
reader.readAsDataURL(blob);
reader.onloadend = function() {
  var base64Data = reader.result;
  // Send the base64 encoded data to the server using fetch
  fetch('/your-django-endpoint/', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      data: base64Data
    })
  })
  .then(response => response.json())
  .then(data => {
    console.log('Success:', data);
  })
  .catch((error) => {
    console.error('Error:', error);
  });
};

в вашем представлении Django вы можете получить данные в кодировке base64, декодировать их и преобразовать обратно в аудиофайл. Затем вы можете использовать библиотеки Python для преобразования аудио в текст

Вернуться на верх