Можно сказать, что модемы перешли в разряд ретротехнологий. Но чтобы поработать с ними сегодня, необязательно приобретать физический девайс. Для установки соединения по аудиоканалу достаточно звуковой карты и open source утилиты minimodem.
Что за minimodem
Старым компьютерам не хватало вычислительных мощностей, чтобы параллельно выполнять задачи цифровой обработки данных, модуляции и демодуляции, кодирования — их решал процессор модема. С развитием технологий появились так называемые софт-модемы (или винмодемы), которые отвечали только за DSP, модуляцию и демодуляцию передавали драйверу операционной системы. Современным машинам для установления такого рода соединения достаточно звуковой карты и специального ПО.
Пример такого программного обеспечения — minimodem. Он генерирует и декодирует стандартные FSK-последовательности, в том числе Bell103, Caller-ID, NOAA SAME, RTTY и даже TTY/TDD. Последний протокол применялся в устройствах обмена сообщениями по телефонной линии — их использовали люди с нарушением уха или речи.
Minimodem позволяет настроить канал передачи данных между двумя вычислительными системами. Он умеет работать как с предварительно записанными аудиосигналами, так и в формате прямого подключения через звуковой порт. Посмотреть, как это работает, можно на YouTube — автор выложил деморолик. Но если вы в наушниках, рекомендуем убавить громкость, так как тональные сигналы на видео достаточно заметные.
Кстати, если вы хотите поближе изучить звук старых модемов, для эти целей один энтузиаст собрал «библиотеку» рукопожатий. В его коллекции есть модемы от TI и Motorola с самой короткой DIL-последовательностью.
Что касается настройки minimodem, то все инструкции можно найти на официальном сайте. Что интересно, minimodem можно запустить под Windows через Cygwin — список необходимых зависимостей опубликован в репозитории на GitHub.
Кто еще использует звук для передачи данных
Есть и другие программы, позволяющие передавать данные между компьютерами с помощью звука. Например, небольшой домашний проект британского инженера — AudioTransmit. Утилита кодирует бинарные данные в аудиозапись и транслирует её другому компьютеру через динамик, в свою очередь, приемник считывает её с помощью микрофона и декодирует.
Пока что проект поддерживает лишь одностороннюю передачу — это означает, что за пересылку и прием данных отвечают две разные программы. Но в качестве эксперимента их можно запустить на одном компьютере.
Другой похожий проект называется wave-share. Утилита позволяет установить связь между двумя браузерами по протоколу WebRTC с помощью звука. Работу утилиты можно оценить на практике в этом демо.
Разумеется, применимость таких технологий достаточно ограничена — на них как минимум влияют помехи и качество передаваемого сигнала. Но в первую очередь они интересны с образовательной точки зрения, так как позволяют лучше понять принципы работы технологий прошлых лет.
Автор: «Мир Hi-Fi»