Переделать алгоритм работы музыкальных инструментов

Суть в том, что текущая система воспроизведения слишком зависима от сервера и когда его фризит - подвисает и музыка. Было бы рациональнее отдавать сразу все ноты в момент начала игры на инструменте, а проигрываются они пусть на каждом клиенте отдельно. Так музыка не будет прерываться, даже если сервер на время подвиснет. Полагаю, приблизительно так и работает jukebox, ведь у него всё стабильно.

2 лайка

Идея хорошая но #кодить-будешь-ты

Склеивать треки на сервере хороший вариант, возможно через стороннюю библиотеку. Первая проблема это найти того кто сможет и захочет это написать.
Вторая проблема - текущая реализация решает проблемы с затуханием звука от расстояния и прочее. Для мелодии целиком потребуется новый фреймворк, который будет самостоятельно обсчитывать и обновлять для клиента звук.

Ну и еще у некоторых клиент фризит при подгрузке больших звуков.

Вот, держи специяльный прогреватор для нот.

BPM: 800
Cb1,Cn,C#,D#1,Dn,Db,E#1,En,Eb,F#1,Fn,Fb,G#1,Gn,Gb
A#1,An,Ab,B#1,Bn,Bb
Cb2,Cn,C#,D#2,Dn,Db,E#2,En,Eb,F#2,Fn,Fb,G#2,Gn,Gb
A#2,An,Ab,B#2,Bn,Bb
Cb3,Cn,C#,D#3,Dn,Db,E#3,En,Eb,F#3,Fn,Fb,G#3,Gn,Gb
A#3,An,Ab,B#3,Bn,Bb
Cb4,Cn,C#,D#4,Dn,Db,E#4,En,Eb,F#4,Fn,Fb,G#4,Gn,Gb
A#4,An,Ab,B#4,Bn,Bb
Cb5,Cn,C#,D#5,Dn,Db,E#5,En,Eb,F#5,Fn,Fb,G#5,Gn,Gb
A#5,An,Ab,B#5,Bn,Bb
Cb6,Cn,C#,D#6,Dn,Db,E#6,En,Eb,F#6,Fn,Fb,G#6,Gn,Gb
A#6,An,Ab,B#6,Bn,Bb
Cb7,Cn,C#,D#7,Dn,Db,E#7,En,Eb,F#7,Fn,Fb,G#7,Gn,Gb
A#7,An,Ab,Bn7,Bb
Cb8,Cn,C#,D#8,Dn,Db,E#8,En,Eb,F#8,Fn,Fb,G#8,Gn,Gb
A#8,An,Ab,B#8,Bn,Bb
Cb9,Cn,C#,D#9,Dn,Db,E#9,En,Eb,F#9,Fn,Fb,G#9,Gn,Gb
A#9,An,Ab,B#9,Bn,Bb

Но от скачков при большом онлайне не поможет ничто.
Когда музычка именно “захлёбывается”, помогает отключение амбиента.

1 лайк

Полет шмеля?

1 лайк