DevSound discussion
DevSound discussion
DevSound is a Game Boy sound driver created by me and pigdevil2010 (a.k.a. Pigu). It can be found here: https://github.com/DevEd2/DevSound. DevSound is a fairly advanced sound driver which was originally designed for use in games, but I feel it's shaping up to be a viable competitor to LSDJ. However, unlike LSDJ there is currently no editor; the only way to compose for DevSound is to write the music data manually. Eventually, I plan on creating a proper tracker for DevSound (which will run on a computer rather than on hardware).
Since there's been a bit of discussion about DevSound here lately (specifically in this thread), I thought I'd go about creating a proper thread for it. Feel free to ask questions and/or suggest features and/or bugfixes in this thread.
Since there's been a bit of discussion about DevSound here lately (specifically in this thread), I thought I'd go about creating a proper thread for it. Feel free to ask questions and/or suggest features and/or bugfixes in this thread.
You know, the DevSound guy.
There are two kinds of people in this world: those who are convinced there are two kinds of people in this world, and those who aren't. - Unknown
There are two kinds of people in this world: those who are convinced there are two kinds of people in this world, and those who aren't. - Unknown
Re: DevSound discussion
One shortcut for this is to create a converter from FamiTracker's text export. This way, people who have problems getting DefleMask Tracker to run properly (as I've gathered from the FamiTracker community Discord server) can at least have a composing tool to work with.DevEd wrote:Eventually, I plan on creating a proper tracker for DevSound (which will run on a computer rather than on hardware).
Re: DevSound discussion
I've considered making a converter for FamiTracker text export format, but I decided against it as it would be impossible to get the drums to be 1:1 with FamiTracker (and I'm kind of a stickler for accuracy).
Also I'm a noob at any programming language other than GB ASM
Also I'm a noob at any programming language other than GB ASM
You know, the DevSound guy.
There are two kinds of people in this world: those who are convinced there are two kinds of people in this world, and those who aren't. - Unknown
There are two kinds of people in this world: those who are convinced there are two kinds of people in this world, and those who aren't. - Unknown
- FrankenGraphics
- Formerly WheelInventor
- Posts: 2064
- Joined: Thu Apr 14, 2016 2:55 am
- Location: Gothenburg, Sweden
- Contact:
Re: DevSound discussion
Might be easier to make a fork on famitracker with the behaviour and sound you want, than writing a tracker from the ground up? Keep the interface but gut the driver?
Re: DevSound discussion
You could, however, get at least the sequences converted and provide a way for the composer to map each particular (pitch, instrument) combination in noise or each particular DPCM channel pitch to a corresponding drum hit. This is what ft2pently does to work around the vast difference in drum representation between FamiTracker and Pently.DevEd wrote:I've considered making a converter for FamiTracker text export format, but I decided against it as it would be impossible to get the drums to be 1:1 with FamiTracker (and I'm kind of a stickler for accuracy).
Re: DevSound discussion
Another alternative is to write a MML compiler, or to take an existing one and modify it for use with DevSound.
(Free Hero Mesh - FOSS puzzle game engine)
Re: DevSound discussion
Do you plan to add a sfx system?
Re: DevSound discussion
Not at the moment, but I do plan to add SFX eventually. Right now I'm unsure of how to actually go about doing it. For now, DevSound supports integration with FX Hammer for SFX.
You know, the DevSound guy.
There are two kinds of people in this world: those who are convinced there are two kinds of people in this world, and those who aren't. - Unknown
There are two kinds of people in this world: those who are convinced there are two kinds of people in this world, and those who aren't. - Unknown
Re: DevSound discussion
Very interesting. I think it's a good option to use it in our GB projects.
- FrankenGraphics
- Formerly WheelInventor
- Posts: 2064
- Joined: Thu Apr 14, 2016 2:55 am
- Location: Gothenburg, Sweden
- Contact:
Re: DevSound discussion
MML is better than hardtyping hex, and writing a py script converting MML strings to hex data would be easier than writing or repurposing a tracker.Another alternative is to write a MML compiler
But unless writing MML music for its own sake (pc speaker music for example), i can't recommend it. I think MML sequencing would be a bit of a jail sentence for the driver, dramatically put. I can only speak for myself, but i could come nowhere close to what sort of music i'd like to make if i had to write, compile, listen, write, compile, listen; all while constrained by the interface for inputting MML code in np++. Haven't done that since qBasic and i'm glad i haven't returned. :S I think a lot of other hobbyist composers like me without years of dedicated studies and training in music theory need direct aural feedback and be able to edit during playback in order to do their best. Still others may be fine, but then you've narrowed an already slim user base significantly (while expanding it vs. byte typing).
Re: DevSound discussion
As it is, I have a series of macros that are designed to make composing with DevSound more than just writing hex. For example, you can actually type notes (e.g. C_3 or F#5) rather than their raw hex value. Pretty much every feature of DevSound can be used in this way; all commands have a "mnemonic" assigned to them such as SetInstrument or EnablePWM.
I decided against an MML compiler early on because A) it would be no better than just writing it in the standard text format, and B) I personally dislike MML because it's not a "direct" means of composing. I prefer trackers because you can actually hear the music as you're writing it. The way I see it, in terms of DevSound MML would be just another text format to learn. I would prefer a more WYSIWYG solution for DevSound composing.
I decided against an MML compiler early on because A) it would be no better than just writing it in the standard text format, and B) I personally dislike MML because it's not a "direct" means of composing. I prefer trackers because you can actually hear the music as you're writing it. The way I see it, in terms of DevSound MML would be just another text format to learn. I would prefer a more WYSIWYG solution for DevSound composing.
You know, the DevSound guy.
There are two kinds of people in this world: those who are convinced there are two kinds of people in this world, and those who aren't. - Unknown
There are two kinds of people in this world: those who are convinced there are two kinds of people in this world, and those who aren't. - Unknown
Re: DevSound discussion
So in other words, the macros look like the macros that Pently used before I added a fuller MML syntax to draw in composers with MML or LilyPond experience. But because this issue cross-cuts all drivers that use MML as input, I'll make a new topic about making the MML editing process more practical.
EDIT: Here's the new topic
EDIT: Here's the new topic
Which sound driver?
Does this mean now is the time to write a converter from FamiTracker text export to DevSound bytecode?In [url=https://forums.nesdev.com/viewtopic.php?p=235133#p235133]this post[/url], dougeff wrote:My advice for making a sound engine from scratch...
Don't.
Use an existing one.
Re: DevSound discussion
Possibly, that is a good idea. Also possibly, the data size would be larger than the famitone code I'm working on.
The main fault with devSound is the lack of tracker. Making a famitracker export work would be helpful.
(edited)
The main fault with devSound is the lack of tracker. Making a famitracker export work would be helpful.
(edited)
nesdoug.com -- blog/tutorial on programming for the NES
Re: Which sound driver?
If you do make a FamiTracker to DevSound converter, I would appreciate support for 0CC-FamiTracker features supported by DevSound, i.e. echo buffers.tepples wrote:Does this mean now is the time to write a converter from FamiTracker text export to DevSound bytecode?In [url=https://forums.nesdev.com/viewtopic.php?p=235133#p235133]this post[/url], dougeff wrote:My advice for making a sound engine from scratch...
Don't.
Use an existing one.
I'd also appreciate command aliases for features that exist in DevSound but not in FamiTracker, vanilla or otherwise, i.e. PWM.
You know, the DevSound guy.
There are two kinds of people in this world: those who are convinced there are two kinds of people in this world, and those who aren't. - Unknown
There are two kinds of people in this world: those who are convinced there are two kinds of people in this world, and those who aren't. - Unknown