Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add additional soundfont formats for mobile devices. #310

Open
Ivan-Spoda opened this issue Jul 22, 2024 · 17 comments
Open

Add additional soundfont formats for mobile devices. #310

Ivan-Spoda opened this issue Jul 22, 2024 · 17 comments

Comments

@Ivan-Spoda
Copy link

[RU]
Занялся я созданием своего Soundfont, и обнаружил, что на Android вообще нет программ, которые бы поддерживали новые версии Soundfont, такие как sfArk, sf3. Можете реализовать такое в Хелио?

[EN]
I started creating my own Soundfont, and found out that there are no programs on Android at all that would support new versions of Soundfont, such as sfArk, sf3. Can you implement this in Helio?

@peterrudenko
Copy link
Member

Да, вроде это не должно быть сложно (как я понимаю, там единственное отличие в том, что сэмплы сжаты), добавлю, когда будет время.

@Ivan-Spoda
Copy link
Author

Да, вроде это не должно быть сложно (как я понимаю, там единственное отличие в том, что сэмплы сжаты), добавлю, когда будет время.

Да, правильно понимаете, семплы там сжаты, спасибо за ответ...

@peterrudenko
Copy link
Member

В общем, набросал поддержку sf3, начал тестировать и офигел от того, насколько медленно они грузятся. В интернете пишут, что у MuseScore та же проблема с ними, много времени уходит на декомпрессию.

Например, Yamaha CFX Grand - 176 сэмплов в sf3 грузятся секунд 40 вместо 1 секунды в sf2. FluidR3Mono_GM.sf3 зависает на 3-4 минуты. FLAC и sfArk не тестировал, но мрачно подозреваю, что будет что-то в том же духе, декомпрессия в любом случае не бесплатная.

Я поэтому не уверен, насколько это нужная фича: как будто бы компрессия добавляет больше проблем, чем решает. Дисковое место сейчас доступное, в том числе и на мобилках, а тормоза на десятки секунд или минуты - это просто дичь. Еще и приложение пожирнеет из-за добавленного ogg-кодировщика.

@Ivan-Spoda
Copy link
Author

В общем, набросал поддержку sf3, начал тестировать и офигел от того, насколько медленно они грузятся. В интернете пишут, что у MuseScore та же проблема с ними, много времени уходит на декомпрессию.

Например, Yamaha CFX Grand - 176 сэмплов в sf3 грузятся секунд 40 вместо 1 секунды в sf2. FluidR3Mono_GM.sf3 зависает на 3-4 минуты. FLAC и sfArk не тестировал, но мрачно подозреваю, что будет что-то в том же духе, декомпрессия в любом случае не бесплатная.

Я поэтому не уверен, насколько это нужная фича: как будто бы компрессия добавляет больше проблем, чем решает. Дисковое место сейчас доступное, в том числе и на мобилках, а тормоза на десятки секунд или минуты - это просто дичь. Еще и приложение пожирнеет из-за добавленного ogg-кодировщика.

А может... Выпелить к херам OGG правда мы тогда потеряем sf3, ему правда будет альтернатива в виде sfz v2, которая может питаться флаками? Да и мне кажется стоит попробовать, авось от формата все зависит, я читал документацию по какому-то из форматов, то ли sf3, то-ли sfArk, и мне показалось, что там вся компрессия заключается в том, что тупа семпл конвертирован в flac, и типа када это все дело загружается, то семпл воспроизводится в таком формате, в котором он есть (у меня все проги, которые едят sf3/sf4/sfArk - конвертируют на кой то хрен flac семплы в wav), если идея не опрадает ожиданий, тогда будем ждать что-то на подобии nki и ncw...
Кстати, где есть готовый билд, чтобы это все опробовать?
Кстати у меня есть предположение, что размер инструмента влияет на скорость загрузки, ибо у меня в контакте инструменты тоже с разным временем загружаются в зависимости от размера... Мне кажется это норма, если у этой задумки есть потенциал, то почему бы ее не развивать? У меня тут есть инструмент на 2800+ семплов, мною сделанный могу дать вам для тестов... Щас еще будет билд sf3/sfArk...

@peterrudenko
Copy link
Member

Погонял под профайлером на свежую голову - оказывается, что можно сделать все быстрее ¯_(ツ)_/¯

Yamaha CFX Studio Grand теперь грузится у меня секунд 10 вместо 40 (тоже ужас, но не ужас-ужас). FLAC, кстати, читает в разы быстрее, чем OGG: то же самое пианино грузит уже всего за 3 секунды. Залил все это в develop сборку, должна поддерживать и OGG и FLAC, посмотрите плиз.

@Ivan-Spoda
Copy link
Author

Погонял под профайлером на свежую голову - оказывается, что можно сделать все быстрее ¯_(ツ)_/¯

Yamaha CFX Studio Grand теперь грузится у меня секунд 10 вместо 40 (тоже ужас, но не ужас-ужас). FLAC, кстати, читает в разы быстрее, чем OGG: то же самое пианино грузит уже всего за 3 секунды. Залил все это в develop сборку, должна поддерживать и OGG и FLAC, посмотрите плиз.

Спасибо, щас билд сделаю своего инструмента в flac, посмотрим как оно там...

@Ivan-Spoda
Copy link
Author

Погонял под профайлером на свежую голову - оказывается, что можно сделать все быстрее ¯_(ツ)_/¯

Yamaha CFX Studio Grand теперь грузится у меня секунд 10 вместо 40 (тоже ужас, но не ужас-ужас). FLAC, кстати, читает в разы быстрее, чем OGG: то же самое пианино грузит уже всего за 3 секунды. Залил все это в develop сборку, должна поддерживать и OGG и FLAC, посмотрите плиз.

Ваще гуд, пробовал тока флак, так как сжатие без потерь меня больше всего интересует, и пробовал тока на пк, на дройде тоже скоро попробую, короче загружает 5к семплов за 5-10 секунд, вообще спокойно, короче мне кажется что все таки этой фиче быть в Хелио, жаль что софта нет нихрена, чтобы создавать sf4, а так все гуд. Sfz v2 (Level 2) кстати тоже поддерживает флак). В общем и целом вы красава, офигенно получилось

@Ivan-Spoda
Copy link
Author

Погонял под профайлером на свежую голову - оказывается, что можно сделать все быстрее ¯_(ツ)_/¯

Yamaha CFX Studio Grand теперь грузится у меня секунд 10 вместо 40 (тоже ужас, но не ужас-ужас). FLAC, кстати, читает в разы быстрее, чем OGG: то же самое пианино грузит уже всего за 3 секунды. Залил все это в develop сборку, должна поддерживать и OGG и FLAC, посмотрите плиз.

В общем, попытался я проверить это дело на дройде, сжал я значится саундфонт, который весил 2 гб в формате sf2, и даже запускался на мобиле, спокойно. Теперь он весит 300Мб, но на дройде не запускается, сначала, когда я выбрал саундфонт в файлпикере, у меня сначала файлпикер завис, потом через секунд 5-10 он раздуплился, и переключил все таки меня на лайаут в хелио, потом хелио завис на секунд 20 и вылетел с критической ошибкой...
Я один хрен рад, что вы это реализовали, я прекрасно понимаю что на дройде все криво...
И еще... Мне показалось что он многда при воспроизведении саундфонта игнорит лупы.

@peterrudenko
Copy link
Member

peterrudenko commented Aug 5, 2024

А можете залить куда-нибудь этот саундфонт и скинуть ссылку?

@Ivan-Spoda
Copy link
Author

А можете залить куда-нибудь этот саундфонт и скинуть ссылку?

Да, без проблем

@Ivan-Spoda
Copy link
Author

А можете залить куда-нибудь этот саундфонт и скинуть ссылку?

Держите. Тут и sf2, и sf4 лежит.
Сделал sf4 этой фигней, ибо по другому просто никак... Пока что никто не сделал компрессор в sf4, ну и так же ни одна известная прога, по типу Polyphone/Awave Studio/Viena - пока что не поддерживает его...

@Ivan-Spoda
Copy link
Author

Ivan-Spoda commented Aug 6, 2024

Не помогло это дройду, все так же вылетает, на пк лупы теперь вроде бы нормально работают

@peterrudenko
Copy link
Member

Там сборка закончилась позже, чем вы написали, наверное у вас все еще старая, попробуйте скачать сейчас. Я поправил работу с памятью, она должна лучше работать с большими файлами. Может быть, даже грузиться будет еще побыстрее.

Насчет лупов, я тестировал вот на этом: https://musical-artifacts.com/artifacts/3851, он весь сделан на лупах, и вроде звучит так же, как и во фруктах (что sf2, что сконвертированный sf3/sf4). Может я что-то упускаю.

@Ivan-Spoda
Copy link
Author

Там сборка закончилась позже, чем вы написали, наверное у вас все еще старая, попробуйте скачать сейчас. Я поправил работу с памятью, она должна лучше работать с большими файлами. Может быть, даже грузиться будет еще побыстрее.

Насчет лупов, я тестировал вот на этом: https://musical-artifacts.com/artifacts/3851, он весь сделан на лупах, и вроде звучит так же, как и во фруктах (что sf2, что сконвертированный sf3/sf4). Может я что-то упускаю.

А да, я тупой, я теперь понял чо этот круглешек возле коммита обозначает

@Ivan-Spoda
Copy link
Author

Ivan-Spoda commented Aug 6, 2024

Там сборка закончилась позже, чем вы написали, наверное у вас все еще старая, попробуйте скачать сейчас. Я поправил работу с памятью, она должна лучше работать с большими файлами. Может быть, даже грузиться будет еще побыстрее.

Насчет лупов, я тестировал вот на этом: https://musical-artifacts.com/artifacts/3851, он весь сделан на лупах, и вроде звучит так же, как и во фруктах (что sf2, что сконвертированный sf3/sf4). Может я что-то упускаю.

Протестировал, саундфонт загрузился, все работает как надо, вы молодчина... Кстати, а может вы еще sfz и sfArk накинуть, чтобы было пока что проще создавать инструменты?

@peterrudenko
Copy link
Member

С ними будет больше возни, в ближайшее время вряд ли дойдут руки (для sf3/sf4 было итак почти все готово)

@Ivan-Spoda
Copy link
Author

С ними будет больше возни, в ближайшее время вряд ли дойдут руки (для sf3/sf4 было итак почти все готово)

Да я понимаю, в целом мне очень нравится то, что есть сейчас, просто я ленивая жопа, которая не хочет сильно заморачиваться))

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants