Size: a a a

2018 March 26

S

Snusmumriken in Lua in Moscow
Тут надо чтобы за пол часа/сорок минут можно было накодить, кстати, поэтому я буду использовать свои либы для той же сети, и в двух словах объясню как они работают (элементарно).
Но задача в том, чтобы всё было ПРОСТО и без сильно сторонних вещей.
источник

S

Snusmumriken in Lua in Moscow
Хотя карпус-стронг - ещё ничего, но будет проще: генератор простой волны на гитарный "трунь".
источник

S

Snusmumriken in Lua in Moscow
Карпус-стронг ведь всякие струнные взз-чжу-чжу генерирует?
Желательно написать всё это в пределах сорока минут, не факт что без копипаста справлюсь.
источник

T

The Dormouse in Lua in Moscow
Snusmumriken
Карпус-стронг ведь всякие струнные взз-чжу-чжу генерирует?
Желательно написать всё это в пределах сорока минут, не факт что без копипаста справлюсь.
Да, но не только. Можно поиграться с параметрами, и огибающей.
источник

S

Snusmumriken in Lua in Moscow
Карочи, слишком сложна.
Трунь - будет достаточно, если кто захочет - влепит произвольный генератор произвольной волны.
источник

S

Snusmumriken in Lua in Moscow
В противном случае, это будет не митап а "Лекции Снуса". Я могу нарисовать новое лого встречи, с мумриком. И чат надо будет переименовать: "Поведение снуса обыкновенного в обществе".
источник

T

The Dormouse in Lua in Moscow
Ну, это была не просьба пилить доклад на эту тему, а мысль, о чём сам мог бы рассказать, если будет митап про геймдев и (в т.ч. звук).
источник

S

Snusmumriken in Lua in Moscow
Если геймдев - наверное, было бы интереснее рассказать про треугольные/квадратные/пиловидные волны (и их генераторы), а так же нормальный синтезатор всего этого барахла.
Чиптюн/лоуфай.
Бзз-бзз зыу-зыу как звучки для стрельбы.
источник

T

The Dormouse in Lua in Moscow
И трекер на love2d.
В 40 строк.
источник

S

Snusmumriken in Lua in Moscow
Конечно.
Синтезатор изначально на love2d, с полифонией и потенциальной нотной дорожкой.
Тема, кстати, достаточно забавная, потому что придётся держать soundData во временнОм буфере, и выдирать оттуда кусочки, укладывая в буфер на звуковыход.
источник

S

Snusmumriken in Lua in Moscow
Примерно так. В нижней дорожке - суммы того что. Но прост пока играет одно - должно играть и другое, поэтому надо с частотой самой короткой нотки забирать кусочки того что сейчас должно сыграть, сложить их между собой и впихнуть в queuableSource, или строить таймлайн, выгребая данные из "активных синтезаторов" и укладывая их в источник звука. Пожалуй, что-то такое будет самым простым, но не выйдет кешировать звучки => будет чуть медленнее.
источник

S

Snusmumriken in Lua in Moscow
источник

T

The Dormouse in Lua in Moscow
Нельзя ли иметь буфер фиксированного размера, из которого периодически выкладывать всё на выход?
источник

T

The Dormouse in Lua in Moscow
Пока не имел дело с queueableSource, но знаю, как это делается в VST и (делалось, по крайней мере) в Unity.
источник

S

Snusmumriken in Lua in Moscow
Можно иметь буфер фиксированного размера, но, кстати, не знаю как будет работать изменение буфера в процессе воспроизведения источника, который в данный момент крутит этот буфер.
Если данные копируются при добавлении - всё круто.
Если нет - придётся или делать ротацию буферов, или тупо удалять использованные.
При выгребании данных из микрофона - каждый раз создаётся новая SoundData, поэтому мы выкидываем использованные, как туалетную бумажку.
источник

T

The Dormouse in Lua in Moscow
Зачем? Буфер маленького размера.
источник

T

The Dormouse in Lua in Moscow
При размере в 512 семплов, например, время отклика будет около 10 мс.
Хотя, ввод с клавиатуры ты тоже не сразу обработаешь, так что больше. Но не смертельно.
источник

S

Snusmumriken in Lua in Moscow
512 сэмплов - время отклика на ((44100 / 512)/1000 = 0.081c) + время кодирования.
источник

T

The Dormouse in Lua in Moscow
Не надо делить 44100 на 512, всё наоборот.
источник

S

Snusmumriken in Lua in Moscow
Но это всё равно не важно, потому что мы, при синтезировании, набиваем буфер "будущими" данными, которые "надо будет" проиграть, тут пофигу. Буфер может быть любым, хоть на миллиард часов.
источник