7

У меня есть несколько несжатых аудиофайлов, записанных с аналоговой (POTS) телефонной линии передачи факсов. Есть ли способ конвертировать эти файлы в изображения факсов, которые они содержат (в Linux)?

Я не собираюсь отправлять / получать факсы через модем, а просто "воспроизводить" тональные сигналы связи и анализировать факсимильные сообщения. Я понимаю, что есть проблемы с дуплексом, и я не знаю, с какого конца разговора отправляется что.

5 ответов5

4

Большинство факсов за последнее десятилетие относятся к группе 3 или 4 CCITT, содержащей данные image/g3fax или image/g4fax, которые инкапсулированы или, скорее, модулированы, в одном из V.27, V.29, V.17, V.34 или V.34bis.

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

Что вам нужно сделать, это демодулировать содержимое, чтобы извлечь двоичный сеанс факса и отфильтровать и извлечь данные image/g3fax или image/g4fax.

Покойный Тони Фишер написал программный демодулятор факсов для V.34. Он работает только на Irix, поэтому вам нужно будет его портировать. Когда-то был порт Linux, но я не мог найти никаких действительных ссылок. http://www-users.cs.york.ac.uk/~fisher/software/modem/current/

Существует также проект Linmodem.

Между этими ресурсами и некоторым программированием на C вы должны быть в состоянии извлечь факсы ... это не для слабонервных, но возможно, если данные так важны для вас.

2

Существует инструмент тестирования по имени fax_decode, который берет файл аудиоволны с одним каналом и декодирует из него растровое изображение факса в файл изображения TIFF. Так именно за то, что вы просили.

Этот инструмент является частью библиотеки SpanDSP из проекта программного переключения. Вы можете скачать его с https://www.soft-switch.org/downloads/spandsp/ и настроить его с помощью --enable-tests. Исходный код находится в файле tests/fax_decode.c.

Я проверил его на правом канале факсимильных записей с http://goughlui.com/2013/02/13/sounds-of-fax-modes-and-ecm/, и он работает нормально.

1

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

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

В качестве альтернативы - посмотрите на стандарты и внедрите их сами. Лучше согреть свои навыки программирования DSP. :)

0

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

0

Основываясь на том, что сказал Jasen, вы можете настроить свой linux box для приема факсов, а затем воспроизводить этот звук по линиям, идущим к компьютеру. Если ваша запись включает отправленные рингтоны, она должна работать.

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