Info Guide
#05
30 апреля 2004 |
|
CacheVox - Пакет программ для импорта и последующего проигрывания с дискет цифровой музыки.
CacheVox v1.0 памяти Real Audio Player for GS посвящается... Этот пакет программ вам не нужен, если: - вы не имеете Pentagon 128 и выше; - этот Pentagon не содержит кэша (вариант: мегабайта); - на этом Pentagon'е не реализован Covox; - ваши друзья-пцшники не пускают вас нажи- мать на писюковские кнопки. CacheVox НЕ РАБОТАЕТ под эмуляторами. Пакет предназначен для импорта и после- дующего проигрывания с дискет (двойной плотности) цифровой музыки среднего и вы- сокого качества (mono). Музыка различных форматов (MP3 не рекомендуется ) перед ко- нверсией в формат программы должна пройти преобразование в WAV поток.Формат програм- мы включает сжатие в 2 раза (ровно) с ми- нимальными потерями. Концепция сжатия сос- тоит в восстановлении из каждого байта двух отсчётов с опорой на предыдущий отс- чёт.Таблицы преобразования,которые вы смо- жете найти в прилагаемых исходниках, пост- роены на основе статистики и дополнительно скорректированы на слух.Поэтому данный фо- рмат сжатия полностью закончен. Возможные новые форматы сжатия будут работать с бо- лее сложной арифметикой. Как правило, оптимальная громкость при- близительно соответствует удвоенной гром- кости нормализованного звука - то есть вы подсовывается моему конвертору нормализо- ванный звук,а конвертор его удвоит. Но вы- бирать вам... 8-битный звук при надлежащей конверсии значительно чище того, к чему вы психологически приготовлены! Битрейт поддержан всего один: 22kHz. В наименее ресурсоёмких циклах 22kHz интер- полируется до 44kHz. Базовая частота не 11 kHz, потому что инвадеры не любят грязный саунд :) В ранних версиях она использова- лась, поэтому может быть возвращена наряду со стандартной, разумеется,по многочислен- ным просьбам :) Музыка хранится на дисках объёмом 640k (файлы на TR-DOS диске), 800k (MS-DOS) или 960k (5760x170). 0-я дорожка не используе- тся,на неё можно записать плейер. Формати- рование дисков 800k следует производить только здесь. Форматирование и заполнение дисков 960k производится с двух 640k дис- кет копировщиком в составе CacheVox. Подо- зреваю, что такие диски не будут пользова- ться большой популярностью :( Форматёру и рестореру требуется для ра- боты 48k; копировщику 2x640k->960k требуе- тся 128k; плейеру - либо 48k+Cache, либо 1024k. - Формат позволяет обойти некото- рые царапины, какие, я сейчас рас- скажу... один программист Не секрет,что больше 5760 форматирован- ных байт на дорожку DD диска не поместит- ся, если,конечно,вы не укрутите движок ва- шего дисковода до 280 об/мин :) И уместить их туда можно одним-единственным способом - в 7 секторов, 5 из которых по 1k. С кон- троллером шутки не шутят,поэтому все упра- вляющие поля дорожки сведены к минимуму для создания индексного запаса, который даст возможность записи на последний сек- тор без нарушения его структуры и повреж- дения первого. При этом дисковод, вращаю- щийся на 1% быстрее стандартного,не сможет записать на 960k диске даже нулевую дорож- ку. По этой и многим другим причинам 960k диск для ZX не может быть создан на пц. Создание 960k дисков проверялось на ди- сководах 5,25" и 3,5". Программа может перемещать сектора на дорожке за счёт 7 необязательных байт вну- три межсекторных промежутков, 4 необязате- льных байт в поле пробела (после заголовка сектора) и последовательности расположения самих секторов.Вся работа происходит авто- матически, однако успешность результата не гарантирована :( Копирование происходит из файлов разме- ром 255 секторов (smp.s, smp.0, smp.1...). Их можно разбрасывать по 640k дискам как вам угодно. Наплодить их способен Spectrum Navigator: для этого надо скопировать smp.smp в .scl, потом из этого .scl сде- лать два, которые и записываются на TR-DOS диски. Форматирование для надёжности происхо- дит с большой задержкой после позициониро- вания,с записью и двойной проверкой читае- мости. Читаемость проверяется в условиях, близких к боевым - перед чтением делается перепозиционирование. Но, тем не менее, на одной из моих дискет запись на определён- ной дорожке где-то в районе середины диска успевает улетучиться между форматированием и чтением. Безусловно, в копировщике вам придётся подиджействовать. Но поменьше, чем при за- писи ролика "Locomotion" :) У меня весь процесс занял 11 минут 45 секунд.Была идея формировать 960k диск из MS-DOS'ного с фа- йлом в Rar'е. Предусмотрено восстановление подсевшей записи на 800k и 960k дисках. Для 960k это особенно долгий процесс,поскольку работает аналогично форматированию,- более 7 минут. Пакет содержит: 1. CacheVox.B - плейер в оболочке, в нём же рестореры дисков 800k и 960k, а также опция создания дисков 960k из длинного- длинного файла на двух дисках 640k. 2. wavpk2pi.pas - конвертор из WAV (по умолчанию 44 kHz stereo, можете откоммен- тировать другие варианты) в мой формат.Ну- жно откомпилировать эту программу в Turbo Pascal, найти в текущем каталоге достаточ- но длинный WAV и ткнуть в него.В результа- те получается smp.smp длиной 4096*255 (мо- жете исправить это число, например, на 4096*159 или 5120*159). Теперь программой Spectrum Navigator или другими программами этот smp.smp следует скопировать на чистую дискету/дискеты, смотря какого сорта носи- тель вы проготовили для композиции. 3. CVoxPlay.H - плейер в исходниках. Ну- жен,если плейер в оболочке на вашем компь- ютере не заработал,а вы знаете,что ваш ко- мпьютер может играть музыку с дисков.(При- сылайте исправления под свои компьютеры.) Он же нужен, чтобы сгенерировать из вашего (! например, с настройкой 11 kHz или с не- стандартным количеством дорожек !) вариан- та плейера бейсик-плейер для размещения на 0-х дорожках любых CacheVox-дискет. Старая 0 дорожка при этом форматируется насмерть. Даже если диск был MS-DOS'ный,он превраща- ется в TR-DOS'ный. Грустные мысли. Для написания этого чуда,вроде бы,небо- льшого по размерам,понадобилось 10 месяцев и 3 разных компьютера. Или 4, если считать отдельно старую конфигурацию моего пц и новую,без HDD. Ещё пришлось тестировать на друх чужих машинах и задействовать для ко- нверсии комп на работе. Как будто всё в программе правильно.Но я отнюдь не уверен, что на других дисководах всё будет так же, как у меня... Форматирование и восстановление дисков 640k я не реализовал, потому что не прете- ндую на лавры создателей FUT (точнее, FUCK Utility, которому FUT обязан 90% кода) и особенно AIDS. Ведь я знаю, что стоит сде- лать такой ресторер - и какой-нибудь умник начнёт ресторить на нём единственную (ра- зумеется) копию своего рабочего диска. И запорет, потому что "алгоритмы (ц) я" ещё умнее этого бедняги... Не по назначению здесь имеет смысл ис- пользовать только форматёр на 800k. Потому как я приличных форматеров этого дела во- обще в природе не видел... Сначала я хотел сделать на MS-DOS диске 166 дорожек, но оказалось,что мой пц при записи на послед- ние дорожки их физически порет.Ну и хрен с ними, подумал я. На диске 960k последние дорожки тоже могут прокиснуть,но это почти не важно, т.к.чтение всегда можно прервать Break'ом. А играться будет ровно столько, сколько прочиталось. На всякий случай во всех режимах чтения (кроме кэшевого) есть кнопка Caps - перепозиционирование. Ещё кнопки в проигрывателе: F - промотка впе- рёд (в случае чтения в реальном времени почти не помогает), Enter - смена диска, Break - выход. Как я понял, развитие этого проекта па- хнет непредставимыми затратами времени... Очень нужен (как никогда) человек, который взял бы на себя программу. Я могу только подкидывать исходники движков, на большее меня не хватит! А. Кодер, автор
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября