paladin-t / b8

BASIC8 - The Fantasy Computer/Console!
https://paladin-t.github.io/b8/
221 stars 15 forks source link

"Deformed" music tone on HTML5 export #38

Closed JasonNumberThirteen closed 3 years ago

JasonNumberThirteen commented 3 years ago

Hi, I would like to report that exporting one of the sample games to HTML5, I was hearing "deformed" music like it was created on higher notes. This is probably not desired for neither the creator nor users. In fact, I wrote about this in my Steam review, but you could skip it or not understand cause I'm from Poland. That’s why I decided to write an issue about this.

cosmos_saga_html

Screen shows "Cosmos Saga" sample game exported to HTML5 with background music which IMO has higher notes than normal.

paladin-t commented 3 years ago

Hi,

Thanks for the bug report. HTML5 export uses a different execution model in single thread other than desktop binaries. Maybe it's a time accumulation bug, I'll test and debug it and reply when it's solved.

paladin-t commented 3 years ago

My guess was wrong, it's not caused by different threading model. The reason is that the SoundFont was disabled for HTML5 build, because built-in soundfont assets would increase the exported "b8p.js" and "b8p.wasm" by 6MB. Bigger file size and longer loading time is not good for browsers. And the HTML5 Cosmos Saga was using a default soundfont asset differ from desktop.

I made an update to solve this, please check out the latest HTML Builder. SoundFont is now enabled, but the soundfont assets are still not included in the final build. You need to copy the expected "*.sf2" into the "content" directory of your disk; secondly change use_sound_font("soundfonts/pixels.sf2") to use_sound_font("pixels.sf2", false) to use the copied asset. Exported data is compressed, and the new "pixels.sf2" will only increase the file size for around 1MB more.

1

BTW. you can also post other bug reports to the Steam forums.

JasonNumberThirteen commented 3 years ago

Thanks for explanation, now it works as expected! BTW, do you prefer report bugs on GitHub or shall I report issues on Steam Discussion?

paladin-t commented 3 years ago

Either is ok for me. I suppose maybe the Discussions is more noticeable for other users with same trouble, so Discussions would be nice.

JasonNumberThirteen commented 3 years ago

Got it.