2015-02-13 3 views
0

В этом проблема: я отправляю небольшой звуковой файл (~ 10Kb) из android в matlab через tcp socket. Скрипт Matlab получает файл, но выходной поток android отправляет исходный байт. Как восстановить исходный аудиофайл в Matlab?Преобразование необработанных байтов в аудио в Matlab

+1

Вам необходимо указать формат файла - поплавок или Int? сколько бит на образец? какая частота выборки? любая информация может помочь –

+0

Вот подробности: OUTPUTFORMAT = MPEG_4 AudioEncoder = AAC Bitrate = 16 SAMPLINGRATE = 44100 я записываю звук с Mediarecorder – bjorn

+0

Извините за перепечатывать, но у меня была проблема, чтобы изменить пост , Я должен сделать fft/xcross на аудио, поэтому я думаю, что он должен быть плавающим! – bjorn

ответ

0

Проблема, которую вы имеете здесь, относится к типу переменных.

Over TCP наиболее вероятно аудиоданные передаются в виде 16int или 16uint (при условии, что существуют функции/методы, которые должным образом трансформируют 16int или 16uint в байтах для того, чтобы быть записаны в буфер для отправки через TCP).

Прежде всего, вы должны проверить:

  • Endian, что данные посылаются
  • типа, что звуковые данные имеют в Android (вероятнее всего 16int, но проверить это на всякий случай)

Затем вам нужно будет прочитать эти данные из файла и преобразовать его в двухместных. Для этого существует немало примеров. Самый простой подход - сопоставить значения в новом диапазоне после того, как вы просто преобразуете их в двойные с функцией double MATLAB.

Для отображения значений есть mapminmax method

+0

Я собираюсь увидеть endianess, но я уверен, что байты от android отправляются как '8int'! – bjorn

+0

Что я имею в виду, это то, что вам нужно проверить аудио API Android, какие значения имеют в качестве вывода. Они 16uint? 16int? – Xxxo

+0

Я проверил API андроида и не упоминается, какой тип значений имеет в качестве вывода. Ну, я могу попробовать с '16int', и если это не сработает, с' 16uint'. Эндианны должны быть большими. Теперь, как я могу продолжить? Спасибо за помощь! – bjorn

Смежные вопросы