ПроектыФорумОцените

Компактный синтезатор MIDI (5 стр)

Страницы: 14 5 6 714 Следующая »
#60
8:50, 6 окт 2014

gammaker
> Всё равно на 48 кГц не заметно.
Очень даже заметно!

#61
11:12, 6 окт 2014

d.m.k
> Самый простой (и наименее ударяющий по производительности) WT синтез, но у него
> свои проблемы и ограничения.
Так он же записанные семплы использует. Это то, от чего я изначально хотел уйти, делая свой синтезатор. Какое отношение это вообще имеет к пилообразному сигналу?

d.m.k
> Ну а дальше BLIT
Бегло просмотрел. Вообще не понял, при чём здесь все эти синусы и косинусы. Надо посчитать дофига этих синусов и косинусов, чтобы сгенерировать семпл? Это же будет в сотни раз медленнее точной реализации пилы в лоб. Или идея в чём-то другом? В любом случае, считать сумму накладно выйдет, даже без синусов.
Да и вообще там только частные случаи моей пилы. У меня отношение нарастание:спад можно регулировать.

d.m.k
> Очень даже заметно!
Не знаю, мне незаметно. Ну будет в худшем случае каждый десятый семпл высших гармоник смещён немного не туда, но кто ж это заметит?

#62
23:22, 11 ноя 2014

Готова версия под Android!  Ссылки в нулевом посте. Это только apk, MIDI файлы качать отдельно. Например взять из архива Windows версии.

#63
22:26, 31 мар 2015

Новая версия!
[file=105701]

По сравнению с предыдущими версиями значительный прогресс. Появилась куча новых инструментов, старые стали звучать лучше. Улучшен баланс громкости инструментов, но пока не идеал.
В архиве лежат версии для Windows и для Android. Некоторые MIDI файлы прилагаются.

Что не реализовано:
1) Чтение MIDI файлов формата 0 - они обычно играются только одним ударным инструментом. Корректно читаются только файлы формата 1.
2) Ударные инструменты. Вместо них стоит заглушка из одного и того же звука.
3) Всякие инструменты, использующие шум - Seashore, Gunshot и подобные.
4) Некоторых музыкальных инструментов не хватает, но все основные присутствуют. Ещё не совсем достигнут баланс громкости. Одни инструменты могут заглушать другие.

#64
13:03, 9 апр 2015

Что-то ни одна версия не запускается под XP. Последняя говорит
Can't create process, ErrCode=0x000000C1, Description:
%1 не является приложением Win32.

а предыдущие просто ничего не делают.

#65
13:44, 9 апр 2015

Dexus
> Что-то ни одна версия не запускается под XP. Последняя говорит
> Can't create process, ErrCode=0x000000C1, Description:
> %1 не является приложением Win32.
Есть подозрения, что это из-за CRT. Чтобы уменьшить exe'шник и не тащить зависимостей от рантайма, я линкуюсь с msvcrt, которая встроена в любую винду. Но она видимо разных версий в разных виндах. На XP были подобные ошибки, когда я использовал функции, которых нет в старой CRT, но есть в новых, но я их исправлял. Но я уже давно ничего не проверял на XP, так что может опять не ту функцию использую.
Сейчас поставлю XP на виртуалку и проверю.

#66
15:02, 9 апр 2015

Исправил: http://www.gamedev.ru/files/?id=106009.
CRT оказалась ни при чём, просто надо было в настройках проекта поставить минимальную версию винды. А по умолчанию Visual Studio 2013 видимо создаёт бинарники, не поддерживающие XP.

#67
15:24, 9 апр 2015

gammaker
На XP запускается, но глючит. Проверил на трёх разных миди файлах, тормозит примерно через каждую секунду, хотя нагрузка на CP минимальна - 1-2%.
При закрытии программы нажатием соответствующей кнопки выдаёт ошибку обращения к памяти, которая "не может быть Read".

#68
15:42, 9 апр 2015

Mikle
> На XP запускается, но глючит. Проверил на трёх разных миди файлах, тормозит
> примерно через каждую секунду, хотя нагрузка на CP минимальна - 1-2%.
У меня тоже. Я думал это из-за виртуалки. Ты в реальной винде XP тестируешь?

Mikle
> При закрытии программы нажатием соответствующей кнопки выдаёт ошибку обращения
> к памяти, которая "не может быть Read".
Видимо винда криво прибивает процесс. В семёрке тоже падает. Отладчик говорил по-моему, что ошибка происходит в деструкторе глобальной переменной, которая освобождает интерфейс DirectSound. Видимо винда сначала прибивает DirectSound, пока программа ещё не успела завершиться. А в восьмёрке уже не падает.
Так что закрывать лучше на Enter, чтобы main завершался корректно сам.

#69
16:01, 9 апр 2015

у меня на Win 7 тоже при закрытии падает.

#70
16:05, 9 апр 2015

foxes
> у меня на Win 7 тоже при закрытии падает.
У всех на 7 падает. Так и должно быть, это баг винды, судя по всему. На восьмёрке уже исправили.

#71
16:08, 9 апр 2015

gammaker
> Ты в реальной винде XP тестируешь?
Да, раельная XP SP3, проц мощный, памяти много.

#72
16:11, 9 апр 2015

gammaker
Запускается. Щёлкает.
Windows XP.
start /HIGH MusicSynthesizer.exe частично помогает.
SetPriorityClass() и SetThreadPriority() пробовал?
Загрузка процессора ~5%.

С громкостью что-то странное, да.
И окончание ноты как-то быстро наступает, если не ошибаюсь.

#73
17:07, 9 апр 2015

Судя по всему у XP глюки со стримингом. У меня буфер делится пополам. Пока одна половина воспроизводится, вторая блокируется и в неё идёт запись. Видимо на XP одна из половин куда-то пропадает или вообще не воспроизводится.

Mikle
> Да, раельная XP SP3, проц мощный, памяти много.
Ну памяти много не надо. Синтезатор потребляет меньше 4 МБ.

Собрал версию без стриминга. Она синтезирует всю музыку целиком. Некоторые синтезируются за пару секунд, а некоторые могут синтезироваться минуту. Зато гарантировано воспроизводятся даже на слабом процессоре. У меня на XP в виртуалке работает без задержек.
MidiSynth (только exe без стриминга)

#74
17:41, 9 апр 2015

gammaker
Да, работает ровно.

Загрузка midi файла Beethoven_Fur_Elise1.mid...
Длительность музыки: 170.25 с.
Синтез...
Время синтеза: 73312.36 мс.
Воспроизведение...

Своеобразное звучание Für Elise...
Инструменты:
0 Acoustic Grand Piano
46 Orchestral Harp
Походу Orchestral Harp генерируется... странно.
Сама MIDI'шка в http://solmire.com/ звучит вполне внятно. На мой слух, я же не спец.

Страницы: 14 5 6 714 Следующая »
ПроектыФорумОцените

Тема в архиве.