OptoSound (NES Music Engine)

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
OptoSound (NES Music Engine)
by on (#226100)
I have completed the groundwork for an NES sound engine. I coded it in ASM6 with the WUDSN IDE plugin for Eclipse. The source code isn't amazingly organized yet, but I'd be open to sharing it with others eventually so that it can be used in other homebrew games. I mainly made it so I could have full control and ownership over the programming of my nes sound and music, and so I could use it for my own homebrew games.

I have a .nsf file with some tracks demonstrating the sound engine's capabilities here:
http://www.optovania.com/mus/OptoSound.nsf

You can find out more about it under the homebrew section on my website http://www.optovania.com

Commenting, criticism and questioning is very welcome. I aim to be constructing a full length music track on it pretty soon.
Re: OptoSound (NES Music Engine)
by on (#226137)
It's always nice to have options for sound engine ;)

I checked the nsf and your site but there is no mention on how you can create music/sfx for it. Is it by hand, with a tool, some kind of scripting language? There is no source code on the site for the engine or tools so it is hard to give an option for now.
Re: OptoSound (NES Music Engine)
by on (#226161)
Thank you for responding.

I haven't made the source code available yet. As I said it is not well organized, and I'm not assured that it is totally stable until I produce some full length music tracks and integrate it into a homebrew game. I plan on doing this within the next couple of weeks.

It probably would be nice to have some kind of tool that writes out the notes and sound features within music tracks. For a start though, giving out the source code and having the user write things out by hand in an assembler feels like the more practical option for me at the moment, as it is the way I feel comfortable doing things. But on the other hand, I would like the experience of creating a tool and it seems like it would have a significantly higher user base if were simple for me and other people to use.

It's going to depend on numerous factors, like personal time vs. investment in the homebrew community, what is realistic vs. what is possible, etc.
Re: OptoSound (NES Music Engine)
by on (#226165)
I see.

I had a typo in my message, by option I meant opinion ^^;;

Depending how advanced is your engine, one thing that will bring users to it is to make a tool to convert famitraker like data to your own format. Not everyone write music by hand (I can't and I'm no musician either :lol:) so this one option is useful but not always necessary. It always depends who you target for your engine.
Re: OptoSound (NES Music Engine)
by on (#226188)
It's good input, thank you. Sometimes I forget that most composers don't write by hand when I've been doing it for such a long time.
Re: OptoSound (NES Music Engine)
by on (#226192)
It doesn't have to be famitracker per se. Some people like MML so as long there is a way to write music other then putting bytes manually to create music then it should be fine. The only reason I mentioned famitracker is with a system like that, for people that don't know about music, I can make simple song by hear without knowing the notes ^^;;
Re: OptoSound (NES Music Engine)
by on (#226817)
Banshaku wrote:
It doesn't have to be famitracker per se. Some people like MML so as long there is a way to write music other then putting bytes manually to create music then it should be fine. The only reason I mentioned famitracker is with a system like that, for people that don't know about music, I can make simple song by hear without knowing the notes ^^;;


Even if you take that route, as long as you have a modern assembler there is no need to write bytes manually, you can name and reuse everything and you never have to worry about what it all gets assembled into.
Re: OptoSound (NES Music Engine)
by on (#226825)
Banshaku wrote:
It doesn't have to be famitracker per se. Some people like MML so as long there is a way to write music other then putting bytes manually to create music then it should be fine.

True. But when a user of your music engine is commissioning a soundtrack for his or her game, the capability to convert a FamiTracker module to your bytecode or MML dialect increases the number of composers that a user can consider hiring. That's one thing that led one member here* to reject a previous version of my music engine, led me to design and thoroughly document an MML dialect to use instead of bytecode, and led my cousin to write ft2pently.


* Private communication