November 24, 2009

Inner Spring (musicdisk)

That's it.

My first musicdisk is ready (hopefully it's not the last one).

Player is written on Delphi, without OpenGL/DirectX (graph32 was enough).

"Inner Spring" includes 15 Speccy tracks (made between 1996 and 1998, except "Timedrops", which was made in august 2009) and 14 modules, made using Impulse Tracker between 2001 and 2004.

All IT-modules were size-optimized (by deleting unused samples) using wonderful piece of software called Magicfish Postmod 1.04, it can be freely downloaded from it's site.

AY emulation code for Speccy tracks playback was taken from Sergey Bulba's projects – "Vortex Tracker II" (main emulation and player code) and "AY Emulator 2.9b5" (code for "pause" and something else). THANKS to author!

IT-modules playback made using great BASS library.

Download (7.8 Mb)
6 comments

March 9, 2011 , 17:18:17
Dark Simpson (http://www.darksimpson.com)
6
Спасибо! Дисок шикарен!
А от Timedrops фанатею еще с того момента, как услышал на CC. Из всего, что там представлялось, пожалуй, самый лучший трек (говорю как профессиональный музыкант — 15 лет дирижерского образования за плечами). Я бы присудил ему на CC почетное нулевое место на все века! Да и вообще, ставлю его для себя в один ряд с Stranglehold.
Жаль, тогда я на этот сайт почему-то не наткнулся (хотя и искал).
А вообще, продолжайте творить — отлично получается!
Честно говоря, слегка потерял дар речи. СПАСИБО! Я, правда, не столь высокого мнения о Timedrops (на хабре отписал, почему), но это авторское. К слову, во время тогдашнего CC этого сайта ещё не было - он вообще появился благодаря какому-то комменту на pouet'e, мол на унтергрунде сценерам хостинг халявный раздают, чо вы на народе-то сидите (фигурально говоря :)). Вообще такие комменты мне жить и творить помогают, так что спасибо еще раз, за мной не заржавеет!
March 10, 2010 , 12:32:29
h13.Bishop
5
А можно зеркальце добавить, а то нигде больше не могу найти. Спасибо.
Можно, почему нет: зеркало.
March 4, 2010 , 23:54:07
?000??0???00
4
А подскажите пожалуйста, как эту музыку в mp3 перевести?)
Если вкратце, то основные способы описаны здесь. Но если не хочется или нет возможности заморачиваться, могу сваять программку-конвертер. Надо, нет? :)
March 2, 2010 , 15:59:43
Maxim (http://maximuzzz.blogspot.com/)
3
Очень понравился ваш musicdisk. Слушаю его на репите уже довольно долго.
Спасибо!
Вам спасибо! Рад, что моя старая музыка пришлась Вам по вкусу.
December 28, 2009 , 21:19:33
balalaika
2
lolik.
bulba je vilojil davno otdelno player na pascale, beri i usai, bez zamoro4ek :D
Странно :) видать, плохо искал :D
November 28, 2009 , 01:15:22
SCRIMERS (http://pouet.net/prod.php?which=53806)
1
Дисочек хороший получился. Мне вот больше интересно, как ты разобрался с кодами проигрывателя вортекса? тяжко было? а то как-то я смотрел там код, не помню чем закончилось..
Спасибо!

А с AY-плеером действительно пришлось изрядно попотеть. Основная сложность была в том, что нужные функции разбросаны по куче модулей, и не зная замысла автора довольно сложно понять, что там к чему. Пришлось побегать по обработчикам кнопок :) В итоге выяснилось, что нужны всего 3 модуля: AY.pas (эмуляция чипа AY/YM, подготовка буферов для waveOut), WaveOutAPI.pas (вывод звука) и trfuncs.pas (парсинг модуля), плюс процедура загрузки и декодирования модуля.

Там в чем суть-то (насколько я понял). Сначала грузится модуль, неважно в каком формате - он после загрузки преобразуется в формат редактора и хранится в объекте VTMP, там всё - паттерны, список позиций, инструменты, орнаменты. После клика по "Play" создается поток воспроизведения (WaveOutAPI.pas), который регулярно вызывает функцию MakeBuffers (AY.pas), заполняющую звуковые буферы годными данными, ну и передает содержимое этих буферов звуковухе. Эта функция в свою очередь вызывает функции парсинга модуля из trfuncs.pas (по сути, построчное воспроизведение с изменением значений громкости/частоты для звука/шума/огибающей в каждом канале) с установкой значений регистров AY (AY.pas). По окончании воспроизведения модуля поток посылает сообщение главной форме, мол, чо дальше-то?

Не скажу, конечно, что досконально разобрался - так, пробежался по верхушкам, лишь бы играло.
В принципе, могу выложить исходники AY-плеера с каким-нить простеньким проектом. Надеюсь, Сергей Бульба не обидится за подобные исследования с моей стороны :)

New comment

* – required fields