С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Вот сделал тестовую версию. Пока без поддержки 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)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)