Энтузиаст рассказал, как он решил проблему переноса файлов с ноутбука Apple PowerBook Duo 280c 1994 года выпуска. он опубликовал подробный гайд.
Автору проекта требовалось сохранить несколько коротких аудиозаписей. Они воспроизводились локально через внутренние динамики ноутбука. Однако в PowerBook не предусмотрено аудиоразъёмов, чтобы получить хорошие аналоговые копии записей.
Внутренний жёсткий диск использует SCSI с необычным разъёмом. Кроме того, были сомнения, что старую файловую систему (HFS) можно будет легко прочитать в современной.
К ноутбуку прилагался внешний дисковод для гибких дисков, но при его подключении компьютер не работал. Энтузиасту не удалось выяснить причину аппаратной неисправности.
При этом PowerBook имеет порт AppleTalk и телефонную розетку, но сетевое программное обеспечение на нём не установлено. Однако в нём было приложение для набора номера, что стало первым шагом к потенциальному решению.
Первый вопрос заключался в том, как конвертировать аудиофайл так, чтобы его можно было отправить по факсу. Ноутбук включает коллекцию игр и редактор ресурсов ResEdit, который ранее использовался для проверки и изменений вышеупомянутых игр.
Он позволяет просматривать необработанное содержимое файлов в шестнадцатеричной форме. Однако ResEdit не поддерживает печать, и текст пришлось скопировать в другое приложение.
Переносимый звуковой файл имел длину 37 928 байт. Шестнадцатеричное представление вдвое больше, поскольку каждый байт представлен двумя символами (0-F). Энтузиаст использовал пакеты 12288 (0x3000 в шестнадцатеричном формате), чтобы облегчить запоминание смещений.
Поскольку в ноутбуке также установлен Microsoft Office и поддерживается печать, то он вставил содержимое буфера обмена в документ Word.
Все звуковые файлы имели размер менее 100 КБ, поэтому их копирование не заняло много времени.
Далее энтузиаст задействовал программное обеспечение для факса из диалогового окна печати. Он решил использовать для приёма файлов студенческий ноутбук ThinkPad T60 под управлением Windows XP, которая включает в себя факс-приложение, сохраняющее их в виде многостраничных изображений TIF.
Соединить два ноутбука телефонным кабелем не получится. Оказывается, напряжение, обеспечиваемое стационарной линией связи, важно для правильной работы модема. Простая схема имитатора телефонной линии может решить эту проблему, и её можно собрать с помощью обычных электронных компонентов и батареи на 9 В.
В итоге энтузиаст смог отправить факс на ThinkPad. Теперь его требовалось перевести обратно в двоичный файл. Автор конвертировал TIF в PDF и использовал оптическое распознавание символов (OCR), чтобы преобразовать его обратно в текст с использованием 16 различных символов (0–9, A–F) и шрифта Courier.
После этого файл был скопирован редактор и сохранён как двоичный.
Затем его потребовалось импортировать в Audacity для определения аудиоформата: беззнаковый 8-битный PCM, с прямым порядком байтов, 22050 Гц, моно. Из-за ошибок транскрипции OCR звук не идеальный, слышны потрескивание и хлопки.
Тогда энтузиаст решил написать свой алгоритм оптического распознавания символов с учётом того, что текст был создан с использованием шрифта фиксированной ширины, а документ по сути представляет собой сетку символов с равномерными интервалами. Он определил отправную точку, смещения символов и межстрочный интервал, чтобы захватить и проанализировать каждый символ индивидуально.
В итоге он смог добиться идеального звучания старых аудиофайлов.
Источник: habr.com