Обработка аудио

Изучение возможности передачи данных по звуковому каналу

Время прочтения: 3 мин.

В рамках эксперимента перед нами стояла задача выявления дополнительных способов передачи сигналов с одного персонального компьютера (далее — ПК) на другой. В данной статье речь пойдет про один из найденных экзотических способов – передаче файлов-инструкций через аудио разъем ПК.

Шаг 1: Подготовка данных для передачи.

Нами был создан файл с подготовленными данными для передачи (текст). (Рисунок 2).

Рисунок 2 – Данные для тестирования

Шаг 2: Подключение и передача данных.

Использовались базовые библиотеки языка программирования Python (binascii­ ‒ модуль, содержащий методы численной конвертации). Этот инструмент входит в пакет модулей программы для разработки ПО и анализа данных Anaconda Navigator.

Для передачи информации исходный файл конвертируется в бинарное представление ‒ набор нулей и единиц (рисунок 3). Далее, присоединяем к звуковому разъему передающего ПК, через шнур AUX (IN-IN) персональный компьютер, выступающий в роли приемника-микрофона и запускаем скрипт генерации тестовой звуковой волны (рисунок 4).

Рисунок 4 – Вывод сигнала на звуковой разъем компьютера.

В результате тестирования получаем, что скорость передачи данных составляет 270 знаков в минуту. Таким образом, наш файл со сказкой Пушкина «О царе Салтане» содержащий 23744 символов (размер 43 КБ) передастся за 87 минут (1 час 27 минут).

Шаг 3: Преобразование аудио-сигнала в текстовый формат.

Полученная запись обрабатывается на ПК также с помощью библиотек Python (технологии спектрального анализа). Расшифровка данных идет путем анализа звуковой волны. В заданном алгоритме единица воспроизводится с большой частотой, чем ноль (рисунок 5 и 6).

Рисунок 5 – Визуальное представление звуковой волны.
Рисунок 6 – Визуальное представление звуковой волны после «обработки».

Очищенная звуковая волна расшифровывается в бинарный код алгоритмом полосового спектроанализа (рисунок 7).

Рисунок 7 – преобразование звуковой волны в бинарный код.

Финальным шагом является декодирование бинарного кода в исходный файл (рисунок 8).

Рисунок 8 – восстановление исходного файла из бинарного кода.

Таким образом, данный способ передачи информации показал свою жизнеспособность, хоть и с небольшой скоростью и требует навыков программирования от пользователя.
Спасибо за прочтение.

Советуем почитать