zerobyteorg / zsound Goto Github PK
View Code? Open in Web Editor NEWStreaming Sound Library for Commander X16
Streaming Sound Library for Commander X16
https://github.com/tildearrow/furnace
This tracker has Commander X16 support. Making the tracker able to export ZSM means that a direct tool for composing X16 chiptunes would be a real thing.
The clock divider register is not supported in YM2203.
This causes several VGMs to convert improperly, having the wrong pitch. The current workaround with -b flag is just a kludge and only affects the FM voices. PSG voices are also affected by this issue.
If you call zsm_stopmusic() before any music is playing, it nearly crashes your program. It seems to run over some memory probably because some things are not initialized (like zsm_chanmask). Perhaps is can detect no music is playing and just return.
IRQ disable / restore behavior in C wrapper functions needs to be fixed. Current implementation always enables IRQ when finished, regardless of the IRQ status when called. Need to fix to use PHP / SEI / / PLP
When trying to use 'load_bank_host' from libX16.lib the call to 'zsm_startmusic' returns 0.
Changing the cmusic example in the example directory to comment out the call to 'bload' causes the same error if I do a manual load of bgm.zsm in basic before running the program.
I have been lately working on magic signatures for the unix file utility. The utility and the related libmagic library are used to determine file types of arbitrary data files. According to contribution rules of the project, matches of less or equal to 16 bits are forbidden. Thus, adding support for ZSM files in their current form might not be possible. According to the rules a magic id with length of 32 bits should be ok as long as it does not clash with existing signatures.
The specification has some mentions about PCM support. It is unclear to me what kind of priority recorded sound samples are for the project. In case you decide to go with adding sample support, you may also wish to add support for DSD. I have been doing some work on Wikipedia regarding DSD file formats. Unlike PCM audio, DSD audio uses bitdepth of 1 bit and represents the signal as density of bits. DSD sample rates are usually a lot higher due to the small size of individual samples. I completely understand if you wish to stick to PCM to keep things simple. I just wanted to point out that it is not the only encoding of analog sound signals, and you may wish to leave some room for extendability in the specification in case you one day wish to add support for other representations.
The LFO translation seems off - reference tune = Castle of Illusion Starring Mickey Mouse, stage 1 tune 2. (spooky area's music)
This tune uses LFO for the vibrato effect and it's too extreme in the ZSM output.
Current PCM engine seems to feed the FIFO at too low a sample rate to maintain equilibrium with the playback.
Jitter in the load_fifo routine performance also leads to underflow, depending on sample rate.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.