Как преобразовать аудиофайл передачи факса в изображение в Linux?
У меня есть несколько несжатых аудиофайлов, записанных с аналоговой (POTS) телефонной линии передачи факсов. Есть ли способ конвертировать эти файлы в изображения факсов, которые они содержат (в Linux)?
Я не собираюсь отправлять / получать факсы через модем, а просто "воспроизводить" тональные сигналы связи и анализировать факсимильные сообщения. Я понимаю, что есть проблемы с дуплексом, и я не знаю, с какого конца разговора отправляется что.
5 ответов
Большинство факсов за последнее десятилетие относятся к группе 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.
Между этими ресурсами и некоторым программированием на С вы должны быть в состоянии извлечь факсы... это не для слабонервных, но возможно, если данные так важны для вас.
Существует инструмент тестирования по имени 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/ и он работает нормально.
Ваши записи, вероятно, содержат достаточно информации, чтобы собрать информацию. Однако я не знаю ни одного готового способа сделать это в Linux или любой другой операционной системе.
Возможно, вам захочется взглянуть на программные модемы или программные модемы для радиолюбителей - вы можете воспроизвести их через петлю или что-то в этом роде.
В качестве альтернативы - посмотрите на стандарты и внедрите их сами. Лучше согреть свои навыки программирования DSP.:)
Основываясь на том, что сказал Jasen, вы можете настроить свой linux box для приема факсов, а затем воспроизводить этот звук по линиям, идущим к компьютеру. Если ваша запись включает отправленные рингтоны, она должна работать.
Я не знаю, как использовать программу для этого, но вы всегда можете воспроизвести звук через модем на факсимильный аппарат и распечатать их таким образом. при условии, что он работает правильно, вам не нужно беспокоиться о том, что две машины работают нормально и получают ошибку, потому что биты, которые были идентификаторами, не будут слышны вашей машиной во время передачи. но это все спекуляции в высшей степени.