Langue…
20 utilisateurs en ligne:  AmperSam, CarlMitchell60, cherrybombr, elusive, Evernn, FedoraFriday, Gurggz, Kezcade, LiamBLOL,  LMNtals, monkey03297, Morph Moth, OhMuramatsu, PhantasyReal, RollingRigatonis, Scags, sinseiga, smwln,  ThirdWall,  TickTockClock - Invités: 67 - Robots: 144
Utilisateurs: 55 641 (2 428 actifs)
Dernier utilisateur: Cornkid1x

AddmusicK Beta Release Thread

Lien Fil fermé
Originally posted by Moose
Originally posted by Kipernal
That's a really good idea, but there's one problem: The reason those games can modify the ADSR/GAIN mid-note and still have it sound correct is because all their instruments have an ADSR of F 7 7 (basically no ADSR). I could add this feature, but I cannot remove this limitation, since it's a limitation of the DSP and not the SPC program. Is that okay?

I think it's fine. But we should probably see what other people have to say about it.
Also, although the 'ADS' in ADSR has to be F77 like you said, you can still define a different R value (I think?), so it's not a total problem.

I believe just the 'AD' value has to be zeroed out (for instance $FF $E0 turns into $00 $E0, and turns back to $FF $E0 for the next note.)
Please excuse my lack of an avatar or banner. I'm just too damn lazy to create one.
So... We can say that AddmusicK is finished in next release? I guess all bugs was been fixed and almost all features that all porters want is there.
GitHub - Twitter - YouTube - SnesLab Discord
I'd like to note that comment labels (semicolons) are ignored in sound effects.
Now that I think about it, what commands are safe to use in misc. music? Custom instruments? Certain hex commands but not others? One would think that at least certain ones shouldn't be used; for example, the echo command could be problematic if the echo buffer for the misc. music ended up being larger than that of the level music. And obviously, any samples not already in use in the level couldn't be used.

Also, now that Vitor's SA-1 patch is finished, will AddmusicK support SA-1 mapping for 4, 6, and 8 MB ROMs?

And is there any feasible way to stream sound effect samples (and make them play properly) in AddmusicK?

----------------

I'm working on a hack! Check it out here.
Almost forgot to report this: When you have a 1 note (c1 for example) you can't pitch slide it instantly without doing something like c16 $dd $00 $40 $a9 ^16^8^4^2 which can be annoying sometimes. This is also a problem with the other addmusics. Can this be fixed or it's something impossible like the issue with percussion?

SPC of how it sounds.
Well that's because whole notes don't actually exist in NSPC, believe it or not. Reason being that values in the negative range are commands, which means that all the possible note lenghts are in the $01-$7F range (except $00 which is used as a return command). What gets into your ROM is an half note tied to another half note instead (2^2), which explains why the slide only starts halfway through.

(this entire thing is also why you can often see me using [r2]8 rather than [r1]4)
I Just now saw this, And I was like
"Wow. . . I Might actually start doing music ports now!!".
I See there's A LOT Of features in it, But my question,

Just like Imamelia asked if there will be SA-1 mapping support for 4MB or larger ROMs, What I wanna know is,
Will AddmusicK support ROMs with the SuperFX chip installed (VIA DiscoMan's SuperFX patch) at all?

With version 1.1 of the SuperFX patch being made,
I'm soon expecting plenty of SuperFX compatible tools and ASM patches and sprites and stuff to be made,
Even expecting Lunar Magic to fully work with SuperFX-patched ROMs without any bugs in the future,

So simply put, Will AddmusicK support ROMs with the SuperFX chip installed?
(As well as ROMs with the SA-1 chip installed?)
Sometimes, I like to hack SMW. This is rare though, but I always try something new.


-------------------------
Image and video hosting by TinyPic

~Developer for "Mario Enters the Void", an abandoned hack. The thread for the hack can be found Here ~
Originally posted by Lui37
Well that's because whole notes don't actually exist in NSPC, believe it or not. Reason being that values in the negative range are commands, which means that all the possible note lenghts are in the $01-$7F range (except $00 which is used as a return command). What gets into your ROM is an half note tied to another half note instead (2^2), which explains why the slide only starts halfway through.

(this entire thing is also why you can often see me using [r2]8 rather than [r1]4)


Oh wow, that's interesting and good to know.

Also, just another thing. I was going to use a japanese port (made by gocha) and the addmusic threw a lots of errors because it's not compatible with names in labels, for example:

Originally posted by txt
(LBL_KICK_SNARE_1)[*notes that also labeled (with macro labels, not label loop of course)*]1

*Other stuff*

(LBL_KICK_SNARE_1)1


That works with addmusicM and carol's addmusic just perfect.

... though, it's not that useful to add since only his (?) ports have lots of labels with names but just wanted to note that.
I think I may have found a bug, or at least never thought of bringing it up until now. When you set the echo delay to 00, the buffer starts at $6000 instead of $FF00 like it should.

----------------

I'm working on a hack! Check it out here.
Minor oddities regarding the readme.

Apparently, the ADSR modifiable graph seems to think that f,7,0,10 means the same thing as f,7,1,00 ($ed $7f $10).

Also:
Originally posted by the readme
$FA $01: Gnables GAIN on the current channel


Do something about that and stuff.
Check out my music!
Originally posted by Moose
I'm not sure if someone's really given a reason why this wouldn't work here, but how about making a command that allows you to replace 'silence' with a definable Gain command, like in Asterix and Obelix (another nintSPC game, might I add) and the Mega Man X games for Super Nintendo.
If we're going back to $ED $80 $XX for Gain definitions, how about having $FA $01 $XX be used for this 'Capcom' effect?


I would love this. :D
Though I would like to keep $FA $01 $XX for GAIN aswell.. so mabey $F4 $04 for this?
Like a command that sets a GAIN value for the current channel that is used when the r command is used and in between notes. Cause I hate the r command... and it would be nice to be able to change it to GAIN.

And theres no limitation about needing ADSR to be $7F $E0, or at least no problem I have run into. You can use any ADSR, Increase GAIN, or Direct GAIN and still have Decrease GAIN for rests and what not.
See?
________________________________________________________
Mario the Gaul
Originally posted by ggamer77
I would love this. :D
Though I would like to keep $FA $01 $XX for GAIN aswell.. so mabey $F4 $04 for this?

Why would we need two commands that do the same thing?

Originally posted by ggamer77
Like a command that sets a GAIN value for the current channel that is used when the r command is used and in between notes. Cause I hate the r command... and it would be nice to be able to change it to GAIN.

I believe that's what I was referring to...

Originally posted by ggamer77
And theres no limitation about needing ADSR to be $7F $E0, or at least no problem I have run into. You can use any ADSR, Increase GAIN, or Direct GAIN and still have Decrease GAIN for rests and what not.
See?

Yes, but there's a difference between defining the gain at the end of each and every note and having it defined automatically at the beginning of the channel. That's why it needs to have ADSR start with $7F. You can, however, still define the second byte however you like, I think.
Check out my music!
What I'm saying is that $F4 $04 $XX would set a GAIN that will be used in between notes and in rests in the channel. So you could have like:

#[email protected]$F4 $04 $B6
c4d4r8c2$FA $01 $A5^[email protected]

All the r's would be decrease $B6. But you can still put more GAIN commands with $FA $01 $XX. And after each rest it brings back the ADSR set before.
I don't see why would only be able to have $7F as the AD in ADSR..
________________________________________________________
Mario the Gaul
Originally posted by ggamer77
I don't see why would only be able to have $7F as the AD in ADSR..

Originally posted by Kipernal
The reason those games can modify the ADSR/GAIN mid-note and still have it sound correct is because all their instruments have an ADSR of F 7 7 (basically no ADSR). I could add this feature, but I cannot remove this limitation, since it's a limitation of the DSP and not the SPC program.

I apologize if I'm missing your point, but I thought I'd bring this up.
Check out my music!
So just because you activate GAIN automatically with a different command, ADSR can only have $7F as AD?

That makes no sense..
Maybe we are thinking of different things.
________________________________________________________
Mario the Gaul
Originally posted by ggamer77
So just because you activate GAIN automatically with a different command, ADSR can only have $7F as AD?

That makes no sense..
Maybe we are thinking of different things.

It seems we are, actually.

I'm thinking of a command that you put at the beginning of the channel that enables GAIN for all notes so you don't have to do this:

Code
@1$ed$7f$e9o4c8$ed$80$b5^8$ed$7f$e9e8$ed$80$b5^8$ed$7f$e9g8$ed$80$b5^8$ed$7f$e9e8$ed$80$b5^8


But rather this:

Code
[email protected]$ed$7f$e9o4c8r8e8r8g8r8e8r8


And it would sound the same as above.
Check out my music!
Originally posted by Moose
Originally posted by ggamer77
So just because you activate GAIN automatically with a different command, ADSR can only have $7F as AD?

That makes no sense..
Maybe we are thinking of different things.

It seems we are, actually.

I'm thinking of a command that you put at the beginning of the channel that enables GAIN for all notes so you don't have to do this:

Code
@1$ed$7f$e9o4c8$ed$80$b5^8$ed$7f$e9e8$ed$80$b5^8$ed$7f$e9g8$ed$80$b5^8$ed$7f$e9e8$ed$80$b5^8


But rather this:

Code
[email protected]$ed$7f$e9o4c8r8e8r8g8r8e8r8


And it would sound the same as above.

I just wanted to point out that the way Capcom games did this was by having a "duration rate" command (basically the same thing as the 'qxy' command, except with more values") along with a "release rate" command (which declares the GAIN parameter). The duration rate command declares how long the note plays before GAIN is activated (zeroing out the 'AD' values.)
Please excuse my lack of an avatar or banner. I'm just too damn lazy to create one.
I just switched up to the latest version here and all the SFX I have set to use @20+ don't even work anymore. Instead they play a random instrument.

Did you change the way you're supposed to call them or something?

Edit: Is it also possible to have a sound effect's length exceed 1 second? It always cuts off at that length. Is it just another limitation?
How exactly does one call a sample from a custom sample group? It doesn't seem to be mentioned in the readme (or anywhere, for that matter).
soundcloud / bandcamp / twitter / buy/stream my EP / buy my touhou music
First off, sorry for being MIA for about a week; I've been busy with school-related stuff (by which I mean final exams). I don't want to show up empty-handed, however, so there's a minor update: I've fixed a bug that could crash the SPC engine if you put @20 on a SFX channel, a few bugs related to sound effect parsing (specifically, #ifdefs and such will now work properly with sound effects as they do in music, and comments are now possible), and (hopefully) the minor jump sound effect bug. Also, after wasting a few hours trying to decipher a programming language I don't understand, I figured out how to "fix" AddmusicM hacks. Hopefully that'll be in the next update.

Originally posted by imamelia
Some things about the new readme:
- It says that valid values of the @ command are 0-18, 20, 29, and 30+...shouldn't that be 0-18, 21-29, and 30+? (I still say @19 and @20 should do something...)


Thank you; that's been fixed.

Originally posted by imamelia
- What happened to the $F7 command?


I'm planning on removing it. Basically, if you're creating a song and need to write to some arbitrary location in ARAM, chances are you're doing something wrong (we can create custom commands for that). But if people disagree, I'll keep it.

Originally posted by imamelia
- The ADSR generator is cool, but you forgot to multiply S by 2. (Is that the minor fix you mentioned?)


Yeah, that's the fix.

Originally posted by imamelia
- It doesn't seem to mention anywhere that just storing to $1DFB will automatically upload a new track, nor does it delve into the technical stuff (how to modify the engine, upload your own music, rearrange things in ARAM, etc.). The latter might be more work than it's worth, but it seems that the former should at least be mentioned in a short note.


I've added brief notes related to those; thank you.

Originally posted by imamelia
- It also doesn't mention the "noise instrument" anywhere. Or haven't you added that yet?


Still haven't implemented the syntax for it. Probably next update.

Originally posted by imamelia
Also, perhaps $F4 $04 should be repurposed or something?


Most likely not. We don't gain anything from replacing its spot in the table (since we can just append to it), but we lose potential compatibility if a song is ever discovered that uses it.

Originally posted by Vitor Vilela
So... We can say that AddmusicK is finished in next release? I guess all bugs was been fixed and almost all features that all porters want is there.


There are still a few features that need added and bugs that need fixed, but my current plans are to get this finally finished before Jan 1. We'll see how well that goes.

Originally posted by BBS750
I'd like to note that comment labels (semicolons) are ignored in sound effects.


As mentioned, that's been fixed; thank you for pointing that out.

Originally posted by imamelia
Now that I think about it, what commands are safe to use in misc. music? Custom instruments? Certain hex commands but not others?


Everything that can be used is mentioned in the sound effect portion of the readme, though I've added information about $DD and $EB. Those two commands, along with $FF and $FE, are the only safe commands to use.

Originally posted by imamelia
One would think that at least certain ones shouldn't be used; for example, the echo command could be problematic if the echo buffer for the misc. music ended up being larger than that of the level music.


That's the almost the exact reason why there are only four hex commands available for sound effects; sound effects shouldn't interfere with the currently playing music, so if a sound effect used, say, the tuning command, while it would (in theory, if it were implemented for sound effects) change the tuning of the current sound effect, it would also change the tuning for the current song after the sound effect stopped. The reason sound effects can get away with having their own instruments and such is that they just write directly to the DSP (pitch slides are a special case). Changing things like tuning would require writes to RAM, which would modify the music.

Incidentally, pitch modulation and even echo (echo enable, not delay or anything) can be used for sound effects with no adverse affect on the music, though there's no standardized way to access them.


Originally posted by imamelia
Also, now that Vitor's SA-1 patch is finished, will AddmusicK support SA-1 mapping for 4, 6, and 8 MB ROMs?


Possibly. 6 and 8 MB ROMs might be a bit tricky, but does anything besides what's currently implemented need to be done for 4 MB ROMs?

Originally posted by imamelia
And is there any feasible way to stream sound effect samples (and make them play properly) in AddmusicK?


In theory, but you'd need to do it yourself. Just reserve some space in ARAM somewhere for the largest sample * the number of consecutive sound effects that can play, and then upload to those spots whenever a sound effect plays. I can't promise it'd be seamless, though.

Originally posted by zack30
I Just now saw this, And I was like
"Wow. . . I Might actually start doing music ports now!!".
I See there's A LOT Of features in it, But my question,

Just like Imamelia asked if there will be SA-1 mapping support for 4MB or larger ROMs, What I wanna know is,
Will AddmusicK support ROMs with the SuperFX chip installed (VIA DiscoMan's SuperFX patch) at all?

With version 1.1 of the SuperFX patch being made,
I'm soon expecting plenty of SuperFX compatible tools and ASM patches and sprites and stuff to be made,
Even expecting Lunar Magic to fully work with SuperFX-patched ROMs without any bugs in the future,

So simply put, Will AddmusicK support ROMs with the SuperFX chip installed?
(As well as ROMs with the SA-1 chip installed?)


That basically depends on what needs to be done to implement. If I have to recode my entire patch to do it, then probably not (unless someone else is willing to do it or the SuperFX patch becomes extremely popular). But if it's simple to do, like with the SA-1 patch, then probably.

Originally posted by Masterlink
Also, just another thing. I was going to use a japanese port (made by gocha) and the addmusic threw a lots of errors because it's not compatible with names in labels, for example:

Originally posted by txt
(LBL_KICK_SNARE_1)[*notes that also labeled (with macro labels, not label loop of course)*]1

*Other stuff*

(LBL_KICK_SNARE_1)1


That works with addmusicM and carol's addmusic just perfect.

... though, it's not that useful to add since only his (?) ports have lots of labels with names but just wanted to note that.


I'm not getting any errors just based off of the example you gave me. Could you give me the full song?

Originally posted by imamelia
I think I may have found a bug, or at least never thought of bringing it up until now. When you set the echo delay to 00, the buffer starts at $6000 instead of $FF00 like it should.


Just to be sure, does that also happen if echo is actually enabled (i.e. you're not just using $EF but also $F1)? Because if not then it's not an issue; echo is disabled until $F1 is used.

Originally posted by Moose
Minor oddities regarding the readme.

Apparently, the ADSR modifiable graph seems to think that f,7,0,10 means the same thing as f,7,1,00 ($ed $7f $10).


That's been fixed; it's the same issue imamelia mentioned.

Originally posted by Moose
Also:
Originally posted by the readme
$FA $01: Gnables GAIN on the current channel


Do something about that and stuff.


What, isn't that how gvgrybody spglls that?

By which I mgan fixed.

Quote
*many many things about rests and GAIN*


I'm still planning to implement what Moose mentioned, but it's probably going to have to be next update.

Originally posted by mario90
I just switched up to the latest version here and all the SFX I have set to use @20+ don't even work anymore. Instead they play a random instrument.


Only instruments from @0 to @18 are defined. If you want more, you need to define them yourself. Unless I'm misunderstanding you, of course.

Originally posted by mario90
Edit: Is it also possible to have a sound effect's length exceed 1 second? It always cuts off at that length. Is it just another limitation?


Could you give me an example? I've never noticed this.

Originally posted by X-cniS
How exactly does one call a sample from a custom sample group? It doesn't seem to be mentioned in the readme (or anywhere, for that matter).


It is mentioned in the readme, actually, but not under hex commands. See "Sample load".

Also, thank you; you unintentionally notified me that I accidentally referred to custom instruments as custom sound effects in that command's description.
I should get a new layout.

Probably won't, though.
Lien Fil fermé