Дата: Воскресенье, 19.05.2013, 21:06 | Сообщение # 61
Get Serious! Сообщений: 551 Статус: Offline
Ti_,
Цитата (Ti_)
Из smps <-> gems кстати не осилили? (Smoke)
gems->smps есть у меня, я его не выкладывал. Так и не разобрался как быть с псг, поэтому оставил до лучших времен. А так конвертирует прилично. Я ром выкладывал с музякой, там есть музло из вектормана и зеро толеранс
Дата: Понедельник, 20.05.2013, 02:36 | Сообщение # 62
Сообщений: 632 Статус: Offline
Цитата (Ti_)
Попробую из дюны миди сделать.
А что там пробовать?
Цитата (Ti_)
Какие сейчас способы музыку на сегу вставлять? (в нормальных форматы вроде gems или smps)
Никаких :D
Цитата (Ti_)
И с дефлемаском не получилось сделать или просто не выкладывали; почему на миди перешли.
Получилось, не выкладывал. Так как есть проблемы: 1) В DefleMask нету нормального способа делать Pitch похожий на MIDI или на тот который в GEMS.
1) GEMS позволяет менять Pitch знаковым 16-битным значением, где 8 бит означают полутон. То есть, ±127 полутонов (12 = октава, 10 октав :D). И докучи 8 бит на "Fine tune" - точная настройка, то есть "внутри" полутона. 2) MIDI позволяет менять pitch ±4096, а это по умолчанию означает ±тон. Но есть команда "set pitch sensitivity" (установить чувствительность pitch), которая позволяет изменять диапазон, но значения самого pitch будут также ±4096. На данный момент в gems_to_midi я ставлю pitch sensitivity на 12 полутонов, то есть ±4096 у меня равно ±октава. 3) DefleMask позволяет тоже менять pitch. Но там команда имеет параметр один байт. то есть ±127. И это ВСЕГДА = ±ТОН (как в MIDI по умолчанию). То есть если в GEMS или MIDI сказано: смени ка мне на 5 полутонов pitch, плавненько не отпуская ноты, то в DefleMask я могу плавно сменить на 2 полутона, после чего не понятно что надо делать. Либо заново играть ноту, или хз.
2) В DefleMask нету темпа в BPM (Beats Per Minute).
Delek аргументирует это тем, что так устроена сега, и ничего не поделаешь. На самом деле в GEMS используются дробные числа с фиксированной точкой для этих целей, и таймер занимает всего ОДИН байт, а погрешность составляет ±один фрейм на каждые 256. То есть погрешность скорости не больше 2/256 = 0,0078125 . Вообщем, это нормальному человеку не заметить). То есть, допустим скорость 150 BPM, это 150/60/60 beats в frame на NTSC. А это 0,0417 beats в фрейм. Delek считает удары по фреймам, и темпы у него значат сколько фреймов на строку (row). То есть у него возможны для NTSC темпы: 1) на каждый фрейм = 60 строк в секунду = 3600 в минуту 2) на каждый второй фрейм = 30 строк в секунду = 1800 в минуту 3) на каждый третий фрейм = 20 строк в секунду = 1200 в минуту и так далее. Но так чтобы строка на каждые "полтора" фрейма - у него нету, а GEMS это умеет. А в MIDI параметр BPM один из основных.
3) В DefleMask частоты PCM фиксированы, а в GEMS используются некоторые другие частоты. Я не сделал конвертацию из PCM которые в GEMS в PCM которые бы подошли в DefleMask. Отсюда баги с ускорением голосов и прочих вещей при конвертации. 4) И наконец, в DefleMask получается трэк уже распределённый на каналы железа, а это обратно пихать в GEMS не кошерно, ибо там разделение идёт на каналы логически, например по инструменту.
Короче, DefleMask удобен только для прослушивания чего "настряпал".
По поводу SMPS -> GEMS. Smoke, сделай лучше SMPS->MIDI + отдельно SMPS->инструменты в любом виде которые я экспорчу в gems_instruments. Там в исходнике всё должно быть понятно как они устроены, если что могу кинуть ссылку на описание.
Просто моя задумка: 1) Сделать сборщик GEMS банков, который принимает конфиг в котором указаны конфиги трэков, а потом ВНИМАНИЕ, сам находит копии инструментов, копии сэмплов. И все треки собирает, а за номера инструментов, сэмплов не надо морочится, главное в каждом конфиге трека указать секвенции в формате на выбор из: MIDI или RAW бинарник или на специальном текстовом языке файл (похожий на ASM). И инструменты, тоже в формате на выбор. 2) Ну и конечно экспорт проекта в виде (1) того же самого из готовых банков GEMS.
Цитата (Ti_)
Конвертор midi->gems тоже в разработке, будет ли выкладываться 'для всех.'?
Хоть я и сказал, что он в разработке, но не сказал что ДА, будет выкладываться Мальчик, девочка... какая в жопу разница..
Дата: Понедельник, 27.05.2013, 03:48 | Сообщение # 64
Сообщений: 632 Статус: Offline
Поправил доку про GEMS: 1) добавил описание темпа и таймеров 2) добавил описание команд у которых было написано "не известно как работает" 3) указал что у goto оффсет знаковый. у if не указано что без знаковый 4) указал что такое retrigger mode, sustain mode 5) поправил чуток форматирование 6) указал у FM инструмента частоты режима Channel 3 mode, и то что channel 3 mode он 2 бита. 7) исправил в описании команды if, МОЩНЫЙ баг, ибо переход происходит по условию "иначе". А в обычном смысле "если"
Ну и конечно же был второй видос по тесту Jukebox. Все кому интересно, найдут его у меня на канале. Мальчик, девочка... какая в жопу разница..
Ух ты Круто! конвертер gems-midi наконец выложен. ))
Спасибки r57shell.)))
Кстати , r57shell, про midi в gems, ты какой миди пытался конвертнуть? с time division в header со сначением 24 или другим занчением. Я глянул, твой конвертер создаёт миди файлы со значением 24, таким же как в gems . Почему тогда проблемы с конвертацией в обратную сторону.? Я глянул daw который стоит у меня cocos reaper, может создавать миди файлы с таким division , другие миди-редакторы наверное тож могут...
Добавлено (12.02.2014, 02:28) --------------------------------------------- Вот , нарезал немного банков gems, если кому надо::: http://www.sendspace.com/file/kqu52a
Кстати, ноты после конвертации в миди, "съезжают" вниз на одну актаву. То есть , например лунная соната из червяка джима 2 ( мелодия 000.mid) в правом канале начинается с ноты G#2 (dec 44). А должно быть G#3 (56) . Я и с эмулятором сравнивал, и с миди этой сонаты. Кто там будет ремиксы делать, незабудьте всё на октаву вверх поднять. :)
Сообщение отредактировал Megaplex - Суббота, 08.02.2014, 04:35
дело в том, что если поднять на октаву вверх, а потом пытаться использовать инструменты сеговские оригинальные, то будет всё пищать, т.е. надо будет опускать обратно вниз. на сеге короче такие ноты как в MIDI указано. там кстати я добавил vgmjuice, тоже убийственная вещь, только опять же не доделана как и большинство GEMS утилит. Мальчик, девочка... какая в жопу разница..
Я глянул, твой конвертер создаёт миди файлы со значением 24, таким же как в gems . Почему тогда проблемы с конвертацией в обратную сторону.?
Забыл ответить на это. Одно дело просто в 24 конвертнуть, другое дело правильно конвертнуть. Когда вместо 480 к примеру делаешь 24, то точность падает в 20 раз (логично) и некоторые ноты могут просто слипнуться. Ладно бы две ноты слиплись из-за ошибок округления, дак если их обратно раздвинуть, то нужный ритм можно упустить. Кроме того, есть же ещё темп, то есть, 24 это только сколько делений внутри четверти. А там же ещё есть темп который изменяется в BPM От него то и зависит сколько таких нот в минуте, надо как-то подбирать и BPM и потом в 24 эти деления укладывать. А большинство MIDI которые сделаны не для вставки музыки в игру, они сделаны грубо, используют все 480, и темп по ним как-бы плывёт. тем самым в одном месте ноты не липнут, в другом липнут к друг другу. В одном месте липнут ТАК в другом липнут СЯК, и когда это видишь/слышишь, возникает такое лицо .
Попробуй открыть какой-нибудь MIDI и расставить ноты на четкие позиции, то есть как бы это выглядело в нотах: Если нота с начала четверти - то она так и есть. Если она четвертная - то она четвертная, а не четверть с точкой и т д и т п. Иначе у тебя получится скачущий ритм, там где надо 8 нот подряд одной длительности, пятая будет длиннее или короче остальных.
И да, если будут ремиксы, делись ими. Мальчик, девочка... какая в жопу разница..
r57shell вот тут в архиве 2 файла миди: http://www.sendspace.com/file/qc2esx один я скачал с нета, другой - тот же , но в миди редакторе я перевёл значение division в 24. (в хекс-редакторе по адресу xC два байта) . Вроде ничё не съезжает. И не придётся сокращать.
А по поводу "ноты липнут", ... Может кагда , например, 500 делиш на 24 ,то сократить можно до 480 или 504. и потом Остаток (20 или 4) прибавить или отнять к след таймеру из .mid файла. И не будет съезжать. Да и проще, как мне кажется, через сторонний миди редактор в 24 конвертнуть, и внём же огрехи конвертации подредактировать... Вот )
Дата: Воскресенье, 19.07.2015, 00:56 | Сообщение # 77
Сообщений: 632 Статус: Offline
что именно? пока ответа не получил, хочу добавить одну заметку... за это время пока тут никто не писал, дела по GEMS сильно продвинулись в одну сторону. более подробно тут. Мальчик, девочка... какая в жопу разница..
нет ли какой-то схемы соответствия инструментов из игры инструментам в миди?
и еще вопрос - raw файлы (на примере сборщика Dune у Ti_) - это типа инструмент? можно ли его как-то к миди подключить?
изучаю структуру *.code файлов, и хотелось бы проконсультироваться по тонне вопросов в этом файле.
пока, насколько я понял, делеи - delay - не совсем пауза, а больше метка для определенного фрагмента трека, который игра проигрывает по своей какой-то программе. скажем отрывок в начале, потом в конце его-же. то есть музыка записана не единой длинной дорожкой, а мозаикой. поэтому когда мой недопроигрыватель пытается играть эти *.code файлы, то до первой паузы играет нормально, а потом начинается анархия и соддом и гоморра :) очень много вопросов, так что очень хотелось бы проконсультироваться.
Добавлено (01.08.2015, 23:43) --------------------------------------------- r57shell? вернииииииииись! я почти разобрался, но почти не считается...
Сообщение отредактировал SeregaZ - Пятница, 31.07.2015, 22:04
по поводу прикреплений инструментов. Есть instrument_converter который умеет конвертить эти raw-ки в что-нибудь съедобное другими трекерами. Как именно написать музло это сложный вопрос. Можешь заюзать VOPM инструмент плагин для всяких Cubase/FL Studio в общем для всего что поддерживает VST инструменты. Но сразу говорю, будет не совпадать на 100% но более менее близко. Потом можно в DefleMask подгрузить инструменты. Можно наконец прямо из под DOSBox тестить тем методом который обсуждался в той теме. В общем много есть всего, но всё равно делов дофига. Мальчик, девочка... какая в жопу разница..
так... дождался :) на трех форумах гоняюсь! пролистал описание - не программист, мало что понял. тот дистрибутив скачивал, посмотрел как баран на новые ворота - у меня и компилятора такого нет.
1. по поводу 1\24 ничерта я не понял. так чему равна delay 1 или duration 1 в файле *.code? эти файлы я нашел в сборщике Dune у Ti_
просматривая эти code файлы - я там нашел максимальное значение 96. предположил что это длительность целой ноты, а это значит: 1 = 96 1\2 = 48 1\4 = 24 1\8 = 12 1\16 = 6 1\32 = 3
и все у меня вроде играет. казалось бы delay 3 - это минимальное значение, однако в дальнейшем разборе нашлись delay 1 и delay 2 - трындец. они мне всю картину мира поломали :) по поводу увеличения темпа, кстати, думал. подумаю еще разок на досуге. хотя если это 1\24 и есть delay 1... хотя почему 1\24? а не 1\16 или 1\32? - то тогда значит 96 это уже есть увеличенный темп.
(думаю надо считать что delay 1 - 1\128, 2 - 1\64, 4 - 1\32, 8 - 1\16, 16 - 1\8, 32 - 1\4, 64 - 1\2, 128 - 1 - мож тогда долбанные рассинхроны одолею :) хотя не одолею. это при создании своего трека, а не при чтении других. при чтении все равно видимо будет затык.)
2. что такое инструменты? эти raw файлы в сборщике Ti_ и есть инструменты? то есть система берет этот файл, скажем и присваивает ноте до, тогда для ре - добавляет частоту проигрывания сэмпла и он становится чуть выше и так далее? то есть игра носит с собой эти сэмплы. ИЛИ эти инструменты вшиты в этот процессор или кто он там (уж извиняйте французским не владею), и работает как миди - то есть сами инструменты где-то там живут в железе, а игра просто шлет им цифры что играть? в папках треков для дюны куча этих разных файлов с названиями типа: patch_11.raw, patch_0E.raw - я так полагаю игре приходится носить с собой эти звуки?
соответственно если у каждой игры свои файлы со своими названиями, то никакой таблицы соответствий типа patch_11.raw - это миди инструмент номер 123, patch_0E.raw миди инструмент 25 и так далее - не существует? а я так надеялся...
где взять скомпилированный instrument_converter? и он будет понимать Ti_евские raw файлы в папках с треками?
если конвертация из gems to midi - целая история из-за проблемы с инструментами, то может хоть есть таблица где каждому миди инструменту соответствует какой-то raw файл? это в смысле для конвертации midi to gems (точнее не gems а в code файл для сборщика Dune) сейчас порезал дорожки по каналам, запускаю и сижу гоняю 127 миди инструментов туда сюда и слушаю как идиот... походит не походит звучание. получается такая шняга... и работа идет медленно и не эффективно.
3. по поводу треков - сначала я думал что максимально дорожек может быть 6, но потом листал эти code файлы и там попадалось гораздо больше дорожек. так сколько их может быть? по поводу приоритета я вроде-бы понял. так сколько звуков одновременно я смогу проиграть?
сегодня для меня открытием было, что при использовании delay 0 можно играть аккорды на одном канале. хотя видимо если есть ограничения на одновременное звучание нот - радость как-то поубавилась...
что-то еще спросить хотел... и забыл.
Добавлено (04.08.2015, 01:10) --------------------------------------------- а во - mastervolume - это некая общая громкость? просто volume - для дорожки? насколько я понял volume можно менять в течении трека. и чем меньше значение volume тем громче чтоль? что-то я этот момент не уловил когда тестил.
bpm - устанавливается только один раз? поменять, как volume, в течении трека нельзя? многие миди файлы меняют bpm при проигрывании... что прилично путает при конвертации.
для чего файлы modulation_00.mod в папке с треками? это не тоже-самое что pitch $0000 ? не понял я что с этой модуляцией.
а! во! самое главное забыл! :) взял я например песню Haddaway what is love, и поставил вместо гимна атрейдисов. даже с учетом, что еще нет разбора по инструментам - играет всего один, первый попавшийся для эксперимента и еще пока нет разбора барабанов - звучит просто здорово. НО! при проигрывании в опциях, или в самой игре - играет всего один раз. да там в треке есть команда loop $02 скажем, играть определенный участок дорожки 2 раза - однако все "родные" треки играют бесконечно. а мой же 1 раз проиграет и тишина стоит. вроде мы нашли в файле sounds.asm строку: ; номер музыки gems, длительность музыки в кадрах. - и там указали какое-то значение для данного трека, но нифига не помогло. 1 раз проигрывает и все. а ведь должен быть рипит бесконечный, как родные треки играют. я уже и сами эти треки на дороги разрезал, порассовал по разным песням и подумал может я какую-то команду пропустил, но нет - 1 раз играет и все.
что за команда samplerate? (samplerate 4)
Добавлено (04.08.2015, 01:38) --------------------------------------------- кстати! раз этот raw можно переварить в что-то удобоваримое, а нельзя ли миди инструмент превратить в raw? :) это решило бы все мои проблемы с таблицей соответствия звуков при конвертации миди то gems :)
Сообщение отредактировал SeregaZ - Вторник, 04.08.2015, 01:23
Поиграйся для начала с VGM Music Maker, и DefleMask Потом подтяни немного математику, ибо нет тут сложных расчётов. Перечитай доки/топики пару раз, а не "пролистай" как ты сам сказал. Перечитай что тебе ответили, а то коэффициент восприятия содержимого крайне низок. И наконец, пиши более внятно, а то ничего не понятно. А, и ещё вдогонку, стандартная ошибка всех кто в программировании/компах не разбирается: Тут нет никакой магии, если что-то работает как-то, то оно работает так, потому что именно так запилили.
А, и ещё забыл сказать, скомпиленные проги тут выложены. Кто ищет тот найдёт. Тока просьба без вопросов "как ими пользоваться?" Мальчик, девочка... какая в жопу разница..
ррррррррррррр... ничо не ответил блин... я седня пол дня возился, столько времени угрохал и всего два семпла для барабана сделал.
математика пока-что старая ошибочная, с возней с сэмплами просто не выделил время математику переделать. зато барабаны он почти сам теперь рисует :) правда если в миди только было два барабана... потом остальные буду дорисовывать со временем.
инструменты пока вручную подбирал, и громкости пока вручную. допиливание это было долгим, и пока ручным - но ноты мелодии и барабанов уже все само ставит на автомате :) хоть и со старой математикой... доволен, хотя надеялся что есть лекарства для этих raw... эх. печаль.
по поводу файлов - два три разных компилятора качал, там матюгается в каждом по разному. какой именно то нужен был? такой чтоб со ссылкой для скачивания. если с переменной я еще допер, что time в самом компиляторе выставлена другого вида, а тут в коде ей хотят int - и исправил, эту ошибку больше не выдавало... то другие ошибки там черт ногу сломит. я понятия не имею что он от меня хочет. поищу здесь на сайте.
заходим в опции и запускаем тест музыки - прям первой Cyrils counsil :) http://www.emu-land.net/forum/index.php?action=dlattach;topic=16864.0;attach=152956
и все-таки где метка для рипита? помимо loop в самом треке. эта мелочь мне покоя не дает. я конечно могу loop 127 поставить и не парится, однако это же не совсем корректно. прочие треки играют бесконечно, хотя там loop может стоять всего 2 например.
Добавлено (05.08.2015, 02:49) --------------------------------------------- просмотрел раздел http://elektropage.ru/publ/programmy_dlja_romkhakinga/dlja_raboty_s_audio/41 аудио. но там нет такого :( зато из того что есть - понравилась SND(RAW PCM) to WAV - работать не захотела, но хорошо там лежал исходник и тот мой долбанный компилятор его съел без запинок. после программа заработала. правда возник вопрос - а как пользоваться то? :)
я брал snd файлы в папках сборщика дюны, и подсовывал этому конвертеру. ставил 44к частоту, но что-то как-то по моему слишком быстро их проигрывает. а главное - я так понял - можно там где нужно подковырять, и тогда можно делать обратную конвертацию из wav в snd, а значит затем можно будет использовать в игре?
Добавлено (05.08.2015, 03:10) --------------------------------------------- так с частотой допер. если поставить меньше - то нормально проигрывает :) как теперь назад конвертировать? пошарил в новостях - может там эти файлы есть. нету. зато нашелся проигрыватель :) а то я парюсь в дюне испытываю треки. теперь буду через проигрыватель.
Сообщение отредактировал SeregaZ - Среда, 05.08.2015, 03:11
компилить можно любым компиллером. просто каждый из исполняемых состоит из нескольких cpp-шек. частота зависит от настройки DAC инструмента если там X то частота примерно 55555/X, то есть если 1 то частота 55555 герц, только он не просасывает столько если 5 то 11111 герц. но это примерно. Тестить частоту лучше на железе. Мальчик, девочка... какая в жопу разница..
ну это то понятно что функции типа в разных файлах лежат... там текст ошибок фиг пойми что он от меня хочет :) ладно это пока подождет. крайне заинтересовала тема с этой конвертацией snd в wav - почитал описание wav, и даже скачал какой-то хекс редактор... и вроде вдуплил - получается ты просто рисуешь файлу snd шапку из 44 байт и он начинает петь? с размерами правда я еще не совсем разобрался... что куда там вписывать...
и второй момент - следовательно если мне надо из wav в snd - то сначала сохранить как 8000кгц 8бит моно 7кбс, а после взять и отпилить 44 байта в начале? пойду попробую свою бригаду "оголосю" сашей белым :)
Добавлено (05.08.2015, 14:43) --------------------------------------------- хотя стоять! забыл спросить - для сэмплов есть файл типа sample_12.sfx RAW 'sample_12.snd' FLAGS =$45 SKIP =$0000 FIRST =$0624 LOOP =$0000 END =$0000
посмотрел в разных sfx файлах - все вроде бы одинаково - но что за FIRST =$0624? он бывает разный.
Добавлено (05.08.2015, 14:56) --------------------------------------------- так. методом научного тыка выяснилось что это вроде длительность :) однако теперь саша белый говорит детским голосом :))) получается тогда не 8килогерц и 8 бит надо... а видимо 16.
Добавлено (05.08.2015, 16:35) --------------------------------------------- с размерами в шапке wav вроде раздуплил. там просто задом наперед написан размер. значит теперь я смогу научить свой плейер играть сэмплы, когда они есть, а для обратной конвертации может даже получится сделать все сэмплы для барабанов в миди. очень жаль, что для сэмплов всего один канал и их проигрывать можно только по очереди, а не два-три вместе как аккордом.
Добавлено (06.08.2015, 01:55) --------------------------------------------- пришлось отрезать живые барабаны и поставить из тех, что есть в наличии как инструмент, и вместо них засунуть сашу белого. вышло здорово. однако мой же плейер теперь тупит :) про проигрывании барабанов они лезут впереди мелодии... если поставить паузу вначале - то нормально, но тогда в игре запаздывает. бред какой-то... ладно фиг с ним :) все равно доволен.
вернемся к нашим баранам. можешь объяснить на пальцах про эти raw файлы? не ссылками на заумные статьи, а просто на пальцах в кратце. чтоб мне хоть малейшее представление иметь. гуглить толку нет - он мне другой какой-то raw дает... который более популярный видимо.
Добавлено (06.08.2015, 03:28) --------------------------------------------- полистал статью одну интересную про синтезаторы... ну и вроде как понял, что нет такого понятия как сэмпл - есть таблица цифер, где сколько-то там параметров, которые будучи скормлены процессору или кому они там... рожают нужный звук нужного инструмента и нужной ноты. и по идее одинаковый размер этих raw файлов это подтверждает. вся закавыка теперь в его формате. в статье про gems там есть какая-то таблица... она не она?
|????kkkk| - Operator On ("Key") - bit for each operator in 4,3,2,1 order |????????|
как-то я малость не догоняю.... что это за вопросики и буквы? можно чуток разъяснений? например я нашел статью про wav - где был расписан хедер. так там четко: 4 байта то 4 байта сё 2 байта се и в хекс редакторе я это наблюдаю :) и даже что-то там понимаю... а тут чото я малость не догоняю... где чего сколько байт? вот всего 37 байт вроде. что из них что?
Ты меня затрахаешь если начнёшь распрашивать про формат инструментов... лучше юзай VGM Music Maker потом сохраняй инструмент, и конвертируй конвертером. Пошевели задницей и скомпилируй его. Там вроде надо ему только instrument_converter.cpp, common.cpp, instruments.cpp как-то так, я точно не помню. Мальчик, девочка... какая в жопу разница..
так точное название компилятора дай. я три уже скачивал и все мимо. ошибки, глюки, и тд... так что нужен видимо тот, который нужен, а не любой представитель рода с++. например в этом сейчас пишет ошибки и отфутболивает на файлы самого компилятора, а не показывает на страницы проекта gems, где по его мнению должна быть ошибка.
и второй момент: нет ли какой-то закавыки в этом сеговском музыкальном процессоре, связанного с проигрыванием сэмплов? какой-то технической тонкости в использовании? оказывается проблема системная, не у меня одного :) этот вопрос снят.
по поводу raw файлов - так некоторые оказывается 7 байт. хотя основная масса 39. каким образом эти 7 байт разбить на ту таблицу?
Сообщение отредактировал SeregaZ - Четверг, 06.08.2015, 22:38
я компилировал VS2010. 7 байт это другой тип инструментов. RAW - означает "сырое". В данном случае это то как они хранятся в самой игре. Дак вот, в конфиге указывается тип инструмента - к примеру FM. И тогда его сырые данные 39 байт. Если же это PSG, то его сырые данные это 7 байт. Мальчик, девочка... какая в жопу разница..
сырые? то есть тут как с wav хедером отделаться нельзя? типа первые четыре это то, вторые четыре другое, третьи и так далее...
ошибки выдает: "ссылка на не разрешенный внешний символ". это уже начинает напрягать. хоть бы комментариев в код запили елки палки, чтоб хоть примерное представление иметь какой там алгоритм, если нет нужного cpp. пойду у буржуев поинтересуюсь, мож они чо дельное посоветуют.
Добавлено (07.08.2015, 23:05) --------------------------------------------- скачал я этот VGM Music Maker. не ясно как он там инструмент сохраняет - файл выглядит как raw, просто размер больше, НО там есть вариант экспорта в текстовой файл, а уже в текстовом файле есть циферки инструмента. я его пролистал и вроде как получается что VGM использует меньше информации из raw файла. я полагаю соответствие следующее: VGM RAW возможные значения Algorithm=4 Algorithm max 7 Feedback=0 Feedback max 7 AMS=0 AMS max 3 FMS=0 FMS max 7
Op1AR=31 Attack max 31 Op1DR=31 Decay max 31 Op1SR=31 Sustain ???? max 31 Op1RR=15 Release ???? max 15 Op1TL=127 TLevel min 127, max 0 Op1SL=0 Sustain Level max 0, min 15 Op1MULT=0 Multiply max 15 Op1DT=0 Detune min -3 max 3 = 7 Op1RS=0 Rate Scale max 3 Op1EG=0 Op1AM=0 AM max 1
получается VGM не использует такие параметры как: type LFO on, LFO value Channel 3 mode Left/Right 14-bit frequency channel 3 mode operator 4 Operator On ("Key")
то есть получается инструмент не будет совпадать на 100% с сеговским? так-же мне не ясно откуда брать значение Op1EG - это видимо: Envelope repeat mode, и судя по опциям он может иметь 9 значений. вот в связи с чем вопрос: как его вычислять из raw файла?
момент номер два - Detune варьируется от -3 до 3 итого 7. однако в битах от 0 до 7. как производить конвертацию правильно 0=-3, 1=-2, 2=-1, 3=0, и так далее? или там другая последовательность? тоже самое TLevel - прокрутка в настройках от 127 вниз до 0. как тут конвертить? 0 raw = 127 vgm? или 0 к 0 и дальше по нарастающей по порядку?
и где взять такую-же таблицу, как твоя, только с перлам... ээ... только для файла-инструментов vgm?
Сообщение отредактировал SeregaZ - Пятница, 07.08.2015, 23:20
все. методом научного тыка раздуплил формулу. остались значит только два не понятных момента: чего это vgm не использует type LFO on, LFO value Channel 3 mode Left/Right 14-bit frequency channel 3 mode operator 4 Operator On ("Key")
то есть выходит какая-то информация теряется при конвертации.
и где ты их брал, при обратной конвертации из vgi в raw? Left/Right в принципе понятно. левый правый канал. видимо оба 1/1 должны быть. но вот где все остальное? :) хотя я смотрел в нескольких raw - какие-то параметры одинаковые. и тем не менее.
и второй - как получать Op1EG (Envelope repeat mode) из raw? он есть в файле инструмента vgi - последний параметр например для 4.
Добавлено (08.08.2015, 01:50) --------------------------------------------- ааааааа... и совсем забыл! каким образом ты из миди инструмента делаешь конвертацию в raw? как можно получить эти параметры для миди?
Сообщение отредактировал SeregaZ - Суббота, 08.08.2015, 01:57