Просмотр полной версии : ZX Tape Reviver - программа для графического восстановления повреждённых аудио-кассет
Всем привет, дорогие форумчане!
Хочу представить на Ваш суд свою небольшую программку - ZX Tape Reviver.
Это тулза для оцифровки и восстановления аудио-кассет для нашего любимого Спекки.
Отличительной особенностью является графический интерфейс, который позволяет на лету восстанавливать повреждённый аудио-сигнал, вплоть до по-семпловой работы с формой волны.
К сожалению, разработка сейчас немного приостановилась из-за отсутствия свободного времени, но, тем не менее, я планирую до конца года добавить ещё некоторые функции.
В целом проект я только недавно выложил в свободный доступ,- он ещё на очень ранней стадии разработки. В программе наверняка присутствуют недоработки и какие-либо ошибки :) .
Поэтому, если у Вас будут какие-либо предложения/замечания/баг-репорты/etc, пожалуйста, пишите - обязательно постараюсть учесть в дальнейшей разработке.
Итак, скачать исходники можно здесь:
https://github.com/lgolouz/ZXTapeReviver
Видео по программе и небольшая обучалка по работе в ней:
https://youtu.be/i3FRRAro8hA
Вышла новая версия с поддержкой русского языка и ещё некоторыми удобными фичами!
Последний билд для Windows:
https://github.com/lgolouz/ZXTapeReviver/releases/download/ZXTAPEREVIVER_v0.5.1/ZxTapeReviver_v0.5.1_portable_x86_64.exe
SoftLight
17.10.2021, 18:52
Всегда мечтал о такой программе! Круто распознает и тут-же можно все померить и подщаманить параметры сигнала! :v2_clap2:
pavel_1977
19.10.2021, 11:54
Добрый день!
Очень нужная программа, автору респект. Решил попробовать оцифровать, но почему то wav (стерео,16 бит, 48 кГц) файл не загружается в программу. Прошу помощи, может что то делаю не так.
pavel_1977, добрый вечер. Да, к сожалению бага с загрузкой WAV-файлов действительно присутствует, пока что, как обходной путь могу посоветовать пересохранить его с использованием Adobe Audition, с ним я не замечал проблем. Если в сбойном файле у Вас нету никакой ценной или личной информации, можете переправить его мне его на почту ( computerenthusiasttips (собака) mail {тчк} ru )- по возможности постараюсь проанализировать в чём проблема и исправить.
pavel_1977
20.10.2021, 00:19
Добрый вечер. Цифровал на компе с Win 10 x64 программой Creative WaveStudio 7, можно попробовать пересохранить его с использованием Adobe Audition. Хотя пробовал сегодня на другом компе с Win 7 x64 цифровать Adobe Audition СС 2014 и также не загружается wav-файл.
pavel_1977, подскажите а у вас большое количество кассет с играми для спектрума? может будет возможность сфотографировать со стороны вкладышей? так же готов помочь с переводом из wav в tap
и также не загружается wav-файл
я обычно использую AudaCity
https://pic.maxiol.com/thumbs2/1634714113.1410806265.clipboard01.png (https://pic.maxiol.com/?v=1634714113.1410806265.clipboard01.png&dp=2)
`читалке` скармливаю mono (сначала один канал, если есть ошибки - пробую другой)
Вот, подправил чтение WAV-файлов. Попробуйте, должно работать лучше. И заодно прикрутил возможность выборочного сохранения блоков данных. Блоки можно исключать из TAP нажатием мыши на синий квадрат (синие - отмеченные для сохранения), он сменит цвет на белый, что означает - блок не будет сохранён в TAP.
https://i.ibb.co/zHvwbXg/image.png (https://ibb.co/zHvwbXg)
https://github.com/lgolouz/ZXTapeReviver/releases/download/ZXTAPEREVIVER_v0.4.0/ZxTapeReviver_v0.4.0_portable_x86_64.exe
goodboy, лучше, конечно, работать с обоими каналами одновременно, - бывает легче восстановить копированием информацию из одного в другой канал. Попробуйте новую версию с пофикшенной читалкой WAV, должно стать заметно лучше.
P.S. ко всем кто попробовал пользоваться и увидел какие-либо косяки/недоработки/баги - пожалуйста, не стесняйтесь и пишите мне о ваших находках - это очень ценная информация! Общими усилиями мы сможем сделать программу лучше!
pavel_1977
20.10.2021, 12:29
pavel_1977, подскажите а у вас большое количество кассет с играми для спектрума? может будет возможность сфотографировать со стороны вкладышей? так же готов помочь с переводом из wav в tap
Кассет немного, штук 10 может меньше. Вкладыши сфоткаю если нужно.
- - - Добавлено - - -
mdaemon да стал открывать, спасибо.
штук 10 может меньше. Вкладыши сфоткаю если нужно.
если не трудно - сфотографируйте
polikarpov76
20.10.2021, 18:36
А почему вот такой wav может не распознаваться?
https://disk.yandex.ru/d/f7-vzSurU9JeIQ
Приводил его через Audacity к signed 16bit pcm
polikarpov76, данные игры уже переведены (есть в релизах от Дельты, а не от Акудовича, если интересует могу скинуть результаты), здесь применена защита поэтому её просто так не перевести. P.S: Если остались кассеты то тоже интересно было бы взглянуть на вкладыши.
Интересно а утилита Титуса эту защиту сходу возьмет ?
^m00h^, нет. уже проверено неоднократно. тем более на выходе у релизов Акудовича это tzx, а утилита Титуса на выходе дает tap
^m00h^,
JeRrS,
Я не знаю, может я куда-то не туда смотрю, но выборочно потыкав в вейвформ, я особых отклонений не увидел, и, в принципе, распарсить, я думаю, такой файл было-бы можно. А если-бы polikarpov76 сделал запись в стерео, а не в моно это было бы, вероятно, легче. Самый большой косяк сейчас в этом файле - это сбитые тайминги у сигнала, которые, в принципе, лечатся в настройках. Вот, начало кассеты распарсил, дальше лень было исправлять форму сигнала.
https://i.ibb.co/nB62MGJ/image.png (https://ibb.co/nB62MGJ)https://i.ibb.co/CtV6Ghw/1.png (https://ibb.co/CtV6Ghw)
По большому счёту, тулзу можно доработать для оцифровки всяких там защит и нестандартных загрузчиков. И для сохранения всего этого добра в TZX.
Самый большой косяк сейчас в этом файле - это сбитые тайминги у сигнала
они не сбитые, у этих данных собственный загрузчик ( с времянками отличными от ПЗУшных )
goodboy, ясно, ну в любом случае, если знать тайминги (а их можно померить), можно будет когда-нибудь попробовать реализовать оцифровку нестандартных записей и сохранение в TZX, если такое кому-нибудь нужно будет.
polikarpov76
20.10.2021, 22:24
У меня предложение по юзабельности. Окошко Parser Settings убрать а вместо него все поля настроек вывести прям на основную форму направо (благо все равно там места полно). А то чтобы поменить параметр и нажать reparse приходтся каждый раз окошко открыть окошко закрыть. А так было бы быстрее подбирать характеристики и пробовать парсить. А нельзя чтобы программа на основе статистики сама выбирала частоты для 0 и 1 на заданном интервале? Ведь по статистике чаще всего таких частот будет две - та что побольше это 0, следющая по популярности - единица.
По записи что я выложил увы есть только такой файл без оригинала. Там кстати zero freq. нужно 2500 ставить и часть заголовков распознаются.
https://pic.maxiol.com/thumbs2/1634758374.1336222457..jpg (https://pic.maxiol.com/?v=1634758374.1336222457..jpg&dp=2)
polikarpov76, не могли-бы вы на скриншоте квадратом выделить, где предлагаете поместить настройки, что-то я не совсем пойму, где именно Вы предлагаете их располагать :) ? На счёт авто-детекта нужно подумать.
polikarpov76
20.10.2021, 23:02
polikarpov76, не могли-бы вы на скриншоте квадратом выделить, где предлагаете поместить настройки, что-то я не совсем пойму, где именно Вы предлагаете их располагать :) ? На счёт авто-детекта нужно подумать.
По логике вещей это должно быть в блоке работы с сигналом. Ну например как-то так:
https://pic.maxiol.com/thumbs2/1634760029.1336222457.20211020225707.jpg (https://pic.maxiol.com/?v=1634760029.1336222457.20211020225707.jpg&dp=2)
смысл в том, что это самые часто меняемые настройки и закрывать и открывать окошко, подбирая значения, немного неудобно. А вот галочку Check for abnornal sine и кнопку с установкой дефолтовых значений можно и на форме Parser Settings оставить.
polikarpov76, теперь понял, что Вы имели ввиду, спасибо. На самом деле можно сделать опцию - показывать в главном окне. И ещё вот что я лично хотел сделать, но пока не дошли руки - так это пресеты для настроек таймингов.
Друзья, вышла новая версия с поддержкой русского языка и ещё некоторыми удобными фичами! Обновлённая ссылка на свежую версию в первом сообщении.
Shadow Maker
09.11.2021, 21:36
goodboy, ясно, ну в любом случае, если знать тайминги (а их можно померить), можно будет когда-нибудь попробовать реализовать оцифровку нестандартных записей и сохранение в TZX, если такое кому-нибудь нужно будет.
Это всегда пригодится, вот например у меня есть некоторое количество записей в турбо-записи, в тапах они не загрузятся, к примеру.
Огромное спасибо :v2_dizzy_drink: автору за программу, о которой я давно мечтал:)
Небольшой опыт практического использования на особо "убитых" кассетах показал, что неплохо бы иметь опциональный "дифференциатор" (см. приложенное изображение). A1 и A2 это исходные фрагменты записей до обработки. Одна из проблем в них - это "дрейф изолинии", т.е. вроде и "синус", но несимметрично относительно 0 (черный пунктир на A2). В результате парсер таких переходов просто не видит. И если единичные провалы еще можно поправить вручную, то при массовом явлении это становится проблемой. Эксперимент показал, что если просто сформировать сигнал вида out(n)=in(n)-in(n-1) и потом нормализовать его по амплитуде (сигналы B1 и B2 соответственно), качество распознавания переходов и определения длительностей значительно улучшается. Получаемый сдвиг фазы на 1/4 периода не портит соотношений длительностей, поэтому может игнорироваться.
Хотя возможно добавляются мелкие огрехи (отмечено желым кругом и красной стрелкой), но их править вручную гораздо проще.
76667
https://i.ibb.co/tp2dJTz/signal.jpg (https://ibb.co/jkwprPz)
Возможно эта информация поможет кому-то "поднять" безнадежные экземпляры оцифровок.
Вопрос знатокам-аудиофилам:) А что надо поправить в тракте звукового сигнала, чтобы аппаратно эту проблему бороть? Я думал достаточно конденсатора на входе звуковой карты, но как оказалось не все так просто - или с номиналом не угадал, или с качеством.
- - - Добавлено - - -
https://i.ibb.co/CtV6Ghw/1.png (https://ibb.co/CtV6Ghw)
Вот как раз пример сигнала, когда мой вариант с "дифференциатором" помог бы...
Одна из проблем в них - это "дрейф изолинии", т.е. вроде и "синус", но несимметрично относительно 0 (черный пунктир на A2). В результате парсер таких переходов просто не видит.
Моя распознавалка (https://zx-pk.ru/threads/25002-taperecover.html) записей такое кушает на раз в автоматическом режиме даже.
Если вам обьединить распознавалки ?
Если вам обьединить распознавалки ?
Вряд ли это возможно. Тем более, мой проект закончен более 10 лет назад, и развивать его не планируется. Он в автоматическом режиме распознает 99.999... процентов записей, и большинство проблемных и обычных записей, публикуемых на наших сайтах, сделано именно моей распознавалкой (я не заставлял, они сами :-) ).
А исходники программы есть ?
А исходники программы есть ?
Есть, но даже я сам в них путаюсь, поэтому выкладывать не буду)
Вообще, читалка была написана, чтобы считать несколько моих записей, которые были убитые. А после просто приделал небольшую оболочку и отдал всем.
а в чем писал ? Я насчет порта для linux, openbsd, haiku os, etc.
а в чем писал ? Я насчет порта для linux, openbsd, haiku os, etc.
Не, никакого порта не планируется. Проект в архиве, он рабочий, и свое дело сделал и делает еще.
polikarpov76
15.12.2021, 15:20
Есть, но даже я сам в них путаюсь, поэтому выкладывать не буду)
Вообще, читалка была написана, чтобы считать несколько моих записей, которые были убитые. А после просто приделал небольшую оболочку и отдал всем.
Выложил бы на github кому нужно форкнут разберуться поправят и допишут.
Serg6845
15.12.2021, 20:58
Вопрос знатокам-аудиофилам:) А что надо поправить в тракте звукового сигнала, чтобы аппаратно эту проблему бороть? Я думал достаточно конденсатора на входе звуковой карты, но как оказалось не все так просто - или с номиналом не угадал, или с качеством.
править надо АЧХ усилителя воспроизведения (а если по хорошему - то и усилителя записи, чтобы писалось без лишних составляющих)
оба усилителя сильно задирают уровень низких частот, а УВ еще и верхи давит. отсюда и дрожание изолинии, и амплитуда "нулей" по сравнению с единицами. внешними средствами - наверно тоже можно, но тут одной RC цепочки кмк маловато будет...
Неожиданный оффтоп:)
Софт Titus, конечно, хорош, спору нет. Распознает. Но вот отсутствие настроек парсера не позволило бы мне понять, что за кассета у меня завалялась... "Пищит похоже". Форма сигнала "красивая". Но TapeRecover распознавать отказывается... вообще. Хотя на идеи наталкивает, показывая, что скорость 131-140% ... А я точно знаю, что никакими экзотическими лодерами не пользовался, неоткуда взяться такому.
И тут очень пригодился ZX Tape Reviver, потому что ему пофиг что парсить :) Померил, задал длительности... и получил дамп (с огрехами, но все же) кассеты от компьютера "КВАЗАР"! Был у меня такой опыт... освоения Паскаля...:)
Собственно вот (https://en.wikipedia.org/wiki/IBM_cassette_tape) подробнее о формате. Такой же формат у кассет "Поиск".
https://i.ibb.co/0Mqx5Sb/2021-12-16.png (https://ibb.co/yy0r21j)
Виден исходный код и текстовые строки скомпилированного бинарника.
Софт Titus, конечно, хорош, спору нет. Распознает. Но вот отсутствие настроек парсера не позволило бы мне понять, что за кассета у меня завалялась...
Он и не рассчитан ни под какой формат, кроме как стандартный спековский. И всякий кривой формат считает тоже спековским, но испорченным, поэтому пытается натянуть сову на глобус) Если скорость 130%, не беда. Все равно попытается)
idc, немного оффтоп, а среди коллекции кассет есть для обычного спектрума?
JeRrS, есть и для обычного, оффтоп перенес в ЛС ;)
Автор иногда обновляет свою программу
Не далее как неделя назад
https://github.com/lgolouz/ZXTapeReviver
ZXTAPEREVIVER_v0.6.0
мне правда и предыдущей версии хватило для моих целей :)
upd/
Все же пришлось попробовать и свежую версию. Кнопочек немного добавилось, но вот вав-ку с защитой так и не взял.
Обидно немного.
сама вав-ка, если интересно
http://www.zxspectrum4.net/downloads/timing_tests/Timing_Tests-128k_v1.0.wav
Всем привет, дорогие форумчане!
Хочу представить на Ваш суд свою небольшую программку - ZX Tape Reviver.
Это тулза для оцифровки и восстановления аудио-кассет для нашего любимого Спекки.
Отличительной особенностью является графический интерфейс, который позволяет на лету восстанавливать повреждённый аудио-сигнал, вплоть до по-семпловой работы с формой волны.
К сожалению, разработка сейчас немного приостановилась из-за отсутствия свободного времени, но, тем не менее, я планирую до конца года добавить ещё некоторые функции.
В целом проект я только недавно выложил в свободный доступ,- он ещё на очень ранней стадии разработки. В программе наверняка присутствуют недоработки и какие-либо ошибки :) .
Поэтому, если у Вас будут какие-либо предложения/замечания/баг-репорты/etc, пожалуйста, пишите - обязательно постараюсть учесть в дальнейшей разработке.
Итак, скачать исходники можно здесь:
https://github.com/lgolouz/ZXTapeReviver
Видео по программе и небольшая обучалка по работе в ней:
https://youtu.be/i3FRRAro8hA
Вышла новая версия с поддержкой русского языка и ещё некоторыми удобными фичами!
Последний билд для Windows:
https://github.com/lgolouz/ZXTapeReviver/releases/download/ZXTAPEREVIVER_v0.5.1/ZxTapeReviver_v0.5.1_portable_x86_64.exe
Здравствуйте уважаемый Mdaemon. Пользуюсь вашей программой некоторое время. Полным функционалом воспользовался несколько раз - в крайних случаях. Как правило - через копировщик все удается оцифровать. Прошу вас, если возможно функцию сдвига волны сделать в обе стороны. Как вниз - так и вверх. Был случай, что половину кассеты пришлось на одну точку вверх вручную сдвигать (не прям все - выборочно, что программа считала за ошибку). Как раз обратил внимание, на недостаток функции сдвигания точек вверх и вниз. Точность наведения мышкой плохая. И сдвигается не нужная точка, а соседняя. Или через две точки или через десять - как повезет. В целом программа уникальна. По факту ей нет равных (в смысле ручного редактирования, замера длины полуволны и волны, режим выделения и переноса в соседний канал особенно порадовал!). Программа годная. Есть нюансы. Думаю, что можно еще кое-что автоматизировать (распознавание - бы). Пользоваться можно и нужно!
- - - Добавлено - - -
И еще такой вопрос: Нет-ли у кого-нибудь знакомых программистов, кто мог-бы модифицировать копировщик кассет TFcopy128 для работы с расширенной памятью Пентагона, Профи, Скорпиона? То есть под 512-1024кБ память. Чтобы в копировщик влазил час-полтора игр. А то сам-то Спектрум достаточно не плохо распознает сигнал с магнитофона. И в большинстве случаев оцифровка через копировщик экономит время. К примеру я работаю работу на работе 8 часов. Час до работы добираюсь и 1.5 часа с работы. Успеваю еще домашними делами позаниматься, оцифровать 1 кассету (в среднем) через копировщик и еще поспать. Хотелось-бы за счет не используемой, как правило, расширенной памяти довести среднее количество оцифрованных кассет хотя-бы до 1,5 в день. Вот пара ссылок на копировщик: (TRD) - https://disk.yandex.ru/d/Wsc40Ybwk6BfZg (TAP) - https://zxart.ee/release/id:125060/filename:Tape-FileCopy128KV3.0.tap.zip
модифицировать копировщик кассет TFcopy128
а какой смысл в использовании реала ?
цифруем кассету в wav на PC (в это время занимаемся домашними делами) и потом всю сторону скармливаем распознавалке.
а какой смысл в использовании реала ?
цифруем кассету в wav на PC (в это время занимаемся домашними делами) и потом всю сторону скармливаем распознавалке.
А вот не распознает.
ну если не жалко времени затраченного вдвойне (кассета->ZX,ZX->PC)
то посмотри в сторону копировщиков кассета/дискета https://vtrd.in/system.php#s13
(только они обычно урезают имена файлов до 8ми символов)
А вот не распознает.
Поконкретнее, чего не распознает.
Такого у нас уже почти не бывает.
Вот да, есть пару записей с реала, там ничего интересного, всего лишь результаты теста, было бы интересно сравнить с другими. Но что то или запись совсем плохая, или кривизна моих рук неподходящая. Этой программой у меня ничего не получилось (
Но что то или запись совсем плохая, или кривизна моих рук неподходящая. Этой программой у меня ничего не получилось (
Всякая плохая запись индивидуальна. Надо выкладывать, чтобы был предмет для разговора. Стерео, 16 бит, 48кГц желательно.
Ну если только как тестовая запись идеально плохого качества:)
https://cdn.discordapp.com/attachments/689220116801650811/1033107862370648124/mark2005_2_uk_results.zip
Трудно сказать, в чем и чем цифровано. Англичане, может испанцы ) У человека штуки 4 Спектрума) Первая запись вроде еще хуже. Но другой от него не добиться)
Оно же, с 22:22
https://youtu.be/LSk5VUNbMkY?t=1341
Ну если только как тестовая запись идеально плохого качества
Если вам кажется, что ваши записи не распознаются, то:
1. Идем в тему https://zx-pk.ru/threads/25002-taperecover.html и используем Tape Recover.
2. Если не помогает, то уже выкладываем запись на анализ.
Debosh, Немного не по теме, а у вас что-нибудь осталось по кассетам для спектрума? или может быть ранее переводили и остался какой-то архив с tap/tzx?
ну если не жалко времени затраченного вдвойне (кассета->ZX,ZX->PC)
то посмотри в сторону копировщиков кассета/дискета https://vtrd.in/system.php#s13
(только они обычно урезают имена файлов до 8ми символов)
Если-бы было не жалко времени - я бы не стал писать. Я только за экономию времени. Так как не много его осталось.
- - - Добавлено - - -
Поконкретнее, чего не распознает.
Такого у нас уже почти не бывает.
Некогда мне вам отвечать. Жизнь коротка, а кассеты еще есть.
- - - Добавлено - - -
Debosh, Немного не по теме, а у вас что-нибудь осталось по кассетам для спектрума? или может быть ранее переводили и остался какой-то архив с tap/tzx?
Так точно товарищ Гвардии Генерал! Работаю. Простите. Смалодушничал. Работа идет.
Так точно товарищ Гвардии Генерал! Работаю. Простите. Смалодушничал. Работа идет.
Прикольно! а будет возможность сфотографировать кассеты со стороны вкладышей? можно одной фотографией.
Debosh, P.S: Если действительно есть проблемы при оцифровке кассет но нет времени этим заниматься я готов самостоятельно все сделать если получится выслать почтой России. Все расходы возьму на себя. По окончанию оцифровки кассеты будут возвращены вам.
На всякий случай даю тут ссылку на обновленную тему со своей читалкой (https://zx-pk.ru/threads/25002-taperecover.html?p=1166345&viewfull=1#post1166345)
Stranger-d
06.02.2023, 19:56
Кого -то еще парит пользоваться кассетами?Время сегодня на вес золота.Когда тебе 16 может и охота баловаться 5-ти минутной загрузкой.Но в когда тебе 46 у тебя большая и здоровая семья.Работа и все что прилагается для главы семьи,то детям показую сугубо хоть и железо но принудительно с флеш накопителя. Технологии не стоят на месте,и те кто пользуются архаизмами по типу кассет,когда в сети интернет расположена больше чем нужно тебе часть программного обеспечения для ZX Spectruma ориентировочно.
ого -то еще парит пользоваться кассетами?Время сегодня на вес золота
а почитать тему, вникнуть в смысл? люди как раз и оцифровывают кассеты, чтобы уйти от них, плюс кто-то там находит свои личные наработки, а иногда попадаются "утерянные" копии игр с нестандартными загрузчиками, экзотическими переводами и тому подобным. грузить и играть с кассет - да, желающих нынче очень мало.
Кого -то еще парит пользоваться кассетами?Время сегодня на вес золота.Когда тебе 16 может и охота баловаться 5-ти минутной загрузкой.Но в когда тебе 46 у тебя большая и здоровая семья.Работа и все что прилагается для главы семьи,то детям показую сугубо хоть и железо но принудительно с флеш накопителя. Технологии не стоят на месте,и те кто пользуются архаизмами по типу кассет,когда в сети интернет расположена больше чем нужно тебе часть программного обеспечения для ZX Spectruma ориентировочно.
Спасибо, ваше мнение очень важно для нас. Как бы мы еще узнали ваш возраст и размер и состояние семьи.
Beardmaster
02.09.2023, 12:11
Спасибо, интересная тема, надо изучить вопрос. Как раз вспомнил как колупался с одной редкой кассетой почти пару лет назад.
Запостил (https://zx-pk.ru/threads/5683-dubna-48.html?p=1185116&viewfull=1#post1185116) в теме про конкретный комп, правда в разделе железо про софт, наверное, не стоило... Просто тему поиском нашёл.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot