3

Кто-нибудь знает о каком-либо программном обеспечении, которое преобразует файл (любой файл, например, doc, zip, pdf и т.д.) В звуковой файл, чтобы он воспроизводился, как старые шумы модема? Затем его можно "воспроизвести" на другом компьютере и расшифровать обратно в исходный формат. Идея заключалась бы в преобразовании в аналоговый звук, записи через разъем для наушников и последующем воспроизведении на другом устройстве.

Если нет, кто-нибудь знает / имеет какие-либо идеи, как я мог бы создать программу для такой вещи? Я могу неплохо писать код на C #, но не знаю, с чего начать.

3 ответа3

2

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

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

Таким образом, если вы хотите преобразовать данные в звук, возможно, самый простой способ - выбрать более простой формат (без потерь), например, MIDI, или выполнить поиск Codeplex/ подобных сайтов по компонентам midi , которые значительно упростят вашу работу.

Далее, я не уверен, сколько существует уникальных заметок, но я предполагаю, что существует как минимум 65025 различных возможных уникальных заметок (через высоту тона и т.д.), - просто в качестве исходного примера вы можете открыть исходный файл как файл необработанных данных. и, в основном, сопоставьте каждый гекс двойной ноте.

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

Вам нужно будет создать кодировщик и декодер, который будет не очень простым, но я не считаю это невозможным, и вы должны иметь возможность воспроизводить звук! ... Я сомневаюсь, что это будет звучать как модем - но - кто знает!

Обратите внимание - я не звукорежиссер ... Если я не прав насчет MIDI, выберите другой формат ... Судите об этом, основываясь на идее!

1

Попробуйте программное обеспечение MixW . Мы, HAMS, уже используем это программное обеспечение для передачи файлов по радио. Он преобразует данные в голос и передает по радио обычным голосом. Это протокол связи симплексного типа, поэтому скорость передачи очень низкая.

0

Это действительно зависит от того, насколько технически вы хотите сделать это. Если вы действительно не заботитесь о достижении разумной скорости передачи данных, существует множество простых схем модуляции, которые вы можете использовать, таких как частотная манипуляция или один из алгоритмов импульсной модуляции , PWM и PPM, вероятно, самые простые. Вы должны быть осторожны в том, что телефонные линии имеют очень ограниченную пропускную способность, поэтому определенные частоты даже не будут проходить.

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

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

У вас есть только около 7000 Гц полосы пропускания, что означает, что вы не можете передавать любую частоту выше 3500 Гц, а время нарастания и спада довольно велико. На самом деле, вы можете получить где-то около 500 бит / с, если ваша система действительно хорошо работает и у вас действительно бесшумное соединение.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .