если нужно могу сделать утилиту для конвертации TZX всех версий во FLAC/WAV.
если нужно могу сделать утилиту для конвертации TZX всех версий во FLAC/WAV.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Вот сделал тестовую версию. Пока без поддержки Z-RLE для CSW блоков (нужно подключать zip библиотеку), в остальном все TZX должны работать, хотя код немного переделывал, могло чтото сломаться.
Работу проверял только под Linux, но должно работать под Windows, Linux, MacOS и других системах где есть mono.
Начиная с Win7 должно работать из коробки. В более старых системах нужно установить .net framework 4 runtime.
Под Linux и MacOS для запуска требуется установка mono. Полную версию mono ставить не обязательно, достаточно пакета mono-runtime.
Утилита tzx2wav поддерживает конвертацию из TZX как в WAV, так и в FLAC. Но для того чтобы поддерживался flac нужно установить пакет libflac. Правда flac меня разочаровал - на низких sampleRate почему-то возникают дыры в звуке, поначалу думал, что ошибка у меня в коде, но официальный тул flac такие-же дыры делает при конвертации из wav. Вобщем-то flac оказался не очень полезен, т.к. разница с wav для таповых файлов получается не существенная.
Работает из командной строки, по умолчанию используется частота Z80 3500000 Гц, выходной формат wav 24000 Гц 8-bit.
Параметрами можно просто указать только входной файл, тогда в качестве выходного будет использоваться то-же имя с расширением wav. Можно явно указать имя выходного файла. Ну и соответственно опциями можно задать частоту Z80 и параметры выходного формата - sample-rate и sample-bits.Код:Usage: tzx2wav [options] <input.tzx> [<output.wav|flac>] Options: --frequency <value> - set z80 reference clock --sample-rate <value> - set output audio file sample rate --sample-bits <value> - set output audio file bit resolution (8, 16, 24, 32)
По тестам - программы загружаются даже когда sample-rate 4800, правда звук получается ужасный, но грузится
Пробовал добавить 8x оверсэмплинг с FIR фильтром - звук получается красивее, но программы с фильтром не грузятся. Нужно разбираться.
Пример конвертации, на выходе получится wav в формате PCM 16 кГц 8 бит:
Частоту дискретизации --sample-rate можно любую задавать, хоть 12345 Гц. Разрядность --sample-bits поддерживается 8, 16, 24 и 32 бита. Но учитывая что фильтры не применяются, смысла задавать больш 8 нет, разве что если ваш плеер не поддерживает.Код:tzx2wav --sample-rate 16000 robocop.tzx robocop.wav
Последний раз редактировалось ZXMAK; 08.02.2025 в 09:16.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Mr-Linker (07.02.2025)
экспериментирую с наложением фильтров на магнитофонные записи спектрума. Т.к. реального спектрума у меня нет, просьба проверить загружается ли на реальном спектруме этот WAV файл? Если загружается корректно, то должна запуститься небольшая демка.
Интересует - загружается ли именно на реальном железе, подключенном к плееру wav файла.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Новая версия tzx2wav v1.2 - добавил фильтрацию с оверсэмплингом x16 для получения более качественного сигнала. Фильтр можно отключить опцией --no-filter.
Также добавил поддержку форматов TAP и CSW и добавил поддержку Z-RLE сжатия для CSW блоков TZX и CSW. теперь в качестве входного файла можно указаывать TZX, TAP или CSW.
С фильтром обработка длится заметно дольше, но зато получаются более качественные записи.
При обработке с фильтром для повышения качества можно задавать выходной формат 16 или 24 бита. С отключенным фильтром задавать более 8 бит нет смысла.
Любопытного эффекта турбирования можно достичь задав турбированную частоту z80 при конвертации. Стандартный загрузчик тянет даже если запись турбирована на частоте --frequency 4300000 - загрузка идет заметно шустрее (на 22%). Также можно замедлять запись, стандартный загрузчик тянет даже --frequency 2600000
Для конвертации с турбированием использовать команду: tzx2wav --frequency 4300000 test.tap test.wav
В качестве выходного формата можно использовать как WAV, так и FLAC. Но для FLAC нужно чтобы в Linux был установлен пакет libflac-dev, а в Windows нужно подложить libflac.dll рядом exe.
Последний раз редактировалось ZXMAK; 19.02.2025 в 04:11.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Скрытый текст
---------
[свернуть]
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)