8 users online: GrenCarret, Mapping_bl, MiracleWater, Nciktendo, playagmes169, Royal Nico TS,  Segment1Zone2, Zavok - Guests: 64 - Bots: 303 Users: 55,705 (2,320 active)
Latest user: nigelreg
Not logged in.
Posts by musicalman
musicalman's Profile - Posts by musicalman
Pages: « 1 213 14 15 16 »
Yes, you would hypothetically make a txt which makes the sample play.

But like I said, your sample is way too big. If it were 5 or 10 seconds, you could probably squeeze it in, but anything beyond that simply will not work unless you reduce the quality to a truly pathetic level.

To illustrate, 140 kb is waaay too big. There is only 64 kb of audio ram to work with, actually in smw hacks you're probably working with closer to 32 kb since some of the ram is taken by smw sound effects and the sound driver.

The only way to play larger samples is with the MSU1 expansion chip. Not sure how commonly it's used here, but if you want to go that route, I hope someone can chime in and help you. I've never used it myself.

Make more of less, that way you won't make less of more!
Something like this should work:

#amk 2


"music.brr"$00 $00 $7f $04 $00

#0 $f4 $01 /c2

That should do it. You'll have to adjust the $04 $00 to taste. Those bytes control the pitch of the sample.

If you're getting errors like "echo buffer exceeded space in aram," it means you've gone over the available memory.

Make more of less, that way you won't make less of more!
Afaik, if you're going to use MSU1 then you don't need to port; it's probably better to let MSU1 take care of the music.

Make more of less, that way you won't make less of more!
Thanks guys, keep the suggestions coming!

Originally posted by Lumy
I often find myself porting music with violins, but almost always the violin samples we have hosted plus the ones I've got are insufficient in quality and/or covered pitch range, so more violin samples and/or violin sample sets would be super appreciated on my end.

Better/new solo strings samples are definitely going to be a thing.

Make more of less, that way you won't make less of more!
Whether you want to play a single sample looped, or a properly-ported song, you need a working txt file. Start with the template I provided. If it has issues, please let us know specifically which errors you get from amk.

Make more of less, that way you won't make less of more!
Originally posted by Ezek.The Square Remixer
I've seen a bit of your samples and I really love them, That beautiful SNES quality that makes me feel nostalgic no matter it was born in 2009

Gllad you like the samples! I'm not old enough to appreciate the snes in its full glory either (the first console I remember is the ps2) but there's something warm yet gritty about that snes sound. In my older samples especially, I tried to channel that, but as I received feedback for my ports and was trying somewhat more ambitious ideas, I found a slightly edgier sound suited me a little better (somewhat brighter samples and shorter, more stable loops). But it's a somewhat subtle change; I have combined old and new samples a number of times and I feel like they work pretty well together.

Originally posted by Ezek.The Square Remixer
I could add many new brass instruments, There are quite a few and I think they are not very common but it would be very good to have more instruments, One of the instruments that I recommend are, Fiscorn, Schalmei, Sousaphone, melophone, Helicon, euphonium, cornet, wagner tuba, etc etc..

You could also update the tuba brr as it doesn't really sound like a tuba.

Will certainly keep these in mind. However my philosophy on sampling has steered a bit closer to the idea that people are likely going to use samples they know, and to shy away from samples they don't.

Out of that list you provided, many of those instruments are completely unfamiliar to me. I've only heard passing mention of a few of them. So if I saw them in a library, I wouldn't really know how to use those sounds, and I suspect a lot of porters here would feel the same. Why use a cornet when a trumpet sounds close enough and is something they know better?

At the same time my mission has been to include every tone that inspires me in some way, so I'm not at all ready to exclude certain instruments. I'm only saying that one must be careful when deciding what to do with edge cases, and there are a few other factors to consider. First, will the uniqueness of a cornet for instance come through when compressed to brr? Will it sound close enough to a trumpet that it might as well be a trumpet? maybe some of my trumpet samples are in reality some other instrument I didn't know about. It's certainly possible, given the wide variation in tone among some of the instruments I have already sampled. So, these are questions I grapple with when trying to work out edge cases, and I don't think there are truly correct answers since the opinions that allow one to come to such answers are rather subjective.

Anyway I'll stop here. I'm clearly in an intellectual mood hahaha

Make more of less, that way you won't make less of more!
Let's clarify a few things. This is going to be a fairly long post, but the error you're getting is kinda like an onion, it has multiple layers to it.

First thing's first. The length of your sample must be a multiple of 16. So if your sample has an invalid length, brr converters must do something about it; it is a limitation of the brr format. And for a joke hack most converters will probably do a decent job of fixing it. So, you don't necessarily have to be greatly concerned about the multiple of 16 thing right now.

The error you're running into is unrelated. BRR files for use in AddmusicK require a two-byte header specifying the loop point. For samples which don't loop, the header is useless, but it still must be there. The problem you're having is that this header doesn't exist in your file. some converters will add it, but others will not.

BRRTools, which is what I use, does not add this header, so in that case you have to put it in manually with a hex editor. If you just want the file to work, you can put 0X0000 at the beginning of it. That will give you the header which will at least make it work.

Your sample does not appear to loop either. That is, it plays once and stops. I'm not sure if this is what you intended. If not, then we'll have to figure that out too.

If you need more help, please let me know what converter you're using so I or someone else can give specifics.

Make more of less, that way you won't make less of more!
What the heck I'll provide insight into my entries too. This is waaay too long to have put into the comments lol. I didn't vote, mainly because I'm not confident in my scoring abilities. Also I was so psyched that I did two covers I was proud of, so I didn't feel like I could judge the other entries as well.

First off I'll start by saying I never know what to port for these contests. I always feel like I have to do something which shows off a technique, is a favorite of mine, would provide a nice challenge, and makes a quick and favorable first impression. When I started doing contests, I often chose things which were really only exciting to porters who were as crazy about samples as I am, or who could feel my pain haha. If you weren't one of those people, then you might think some of my past entries were too short, weren't suitable for a contest etc. because they were self-indulgent ports and not bangers. So when superfamicompo started last year, I tried to get better at picking stuff that would say "I demand attention!" from the first note. I'm kinda bad at judging that sometimes, but I feel like I'm getting better.

Cover17 (Ace Combat 2 - Lightning Speed)
I really didn't expect a 2nd place for this, so thanks to all who voted! Tbh I didn't know what placement it would receive.

I've had a nice midi of this for a while now, so ever since I learned how to port, I wanted to hear how this would come out on snes. I put it on my "things which I think are impossible but I want to try" list. I think it was wise to wait; there were certain things about this track which would've overwhelmed me at first, but now that I'm better at porting I could at least handle the tough spots better. That said, it's a huge mess, as our many of my unreleased ports, and some of my released ones haha

When I actually took a good look at the midi, I saw that it could be fit into 8 channels fairly easily, cutting relatively little out. The organ was a random idea. The original midi used a sparkly pad and the real track sounds like it uses an organ loaded with effects, so I thought, hey it'd be cool if I used a nice rock organ which just showed off for a bit, since rock organ on snes is not very common and often sounds programmed. As it turns out, I barely had room for it. I needed to use two-note chords, but I only had one channel free. So I had to make chord samples which take up a fair bit of aram. I barely squeezed them in (I had to cut out all sfx, global songs and smw samples just to get the final version to compile).

I spent hours searching for the perfect guitar, and while I still have my qualms with it and was about to try something else, I'm so used to it in the port now that I don't want to change it. The snare was pretty much the same deal, I like the aggressiveness of the sound but someone did comment it was too loud. But if I turn it down, it loses its bang I think lol. Same with the kick drum, I feel like certain parts of it are nice in the mix but others aren't. Ah well, if I don't listen critically, I really like it, so I guess that's the best way to evaluate one's own work.

The port took me a week to make and I was sort of losing my energy for it by the end, so I have no clue how people make these huge 3 or 4 minute ports. Am I just slow, or impatient or what? Lol

Cover41 (Final Fantasy VII - Flowers Blooming in the Church)
This one has an interesting story. This was one of the first ports I started when I first got into porting. I even had the fake reverb/echo stuff planned out too, and had started making samples. Unfortunately, due to a dumb accident which was my fault, I reformatted the drive which had my ports on it. What little I had done with this was lost, and I just didn't feel like coming back to it. But the more I thought about what to port for superfamicompo, the more I developed a "Why not?" attitude with this port. I already knew how I wanted to do it, I just had to make it happen. This was one of those fully for myself ports to try some tricks I hadn't tried before, and it only took me a few hours to make lol

Heck the original song doesn't really hit me. My biggest problem with the original is its samples, so that's why mine sounds different. The only reason I even ported it was because I heard renditions I liked better, and I also realized that because of how few channels the song technically needs, I could toy with ambience.

The bell samples are all two-note chords which allowed me to condense more notes into less channels. Not exactly sure what I think of the bell though, it sounds sparkly and I'm a sucker for sparkly samples, but it sounds extremely glassy/icy too, which I think is fine. But a lukewarm bell/pad would change the flavor of this significantly, and I think it would still have worked. If I get bored I may try replacing the bells to see what happens.

The hardest part of this port was getting the fake echo right. I know a few people didn't like it or at least thought it was exaggerated. I think that's fair. If there's one thing I've learned from doing these contests, it's that people have vastly different opinions, which is great, but easy for me to forget sometimes. At least one person saw the lush empty cathedral vibe I was going for, so I'm glad it came through.

My main goal with this port was to avoid the tap-tap-tap effect that comes from the SPC700 delay. So what I ended up doing was condensing the song down to 4 channels, then making two copies of each. The first channel received the SPC echo, while the second copy did not iirc. The second copy was also reduced in volume, panned radically different, very slightly detuned, and delayed a few ticks to make a sort of stereo chorus/early reflection effect. I also used smooth releases to further masc the tap-tap of the delay and make it sound more like a reverb tail.

I'm going to mess with this a bit more to implement some suggestions (#0, #1 and #2 being too loud, and some ADSR a bit too punchy). If I like what comes out, I'll submit to the music section, since I can get it down to a reasonable size for smw insertion. The echo parameters had to be modified since a delay of $0A is a bit too big haha. I reduced it to $05 and tweaked some other settings and the difference is minimal.

Few, that's it I think. Sorry for the long ramblings, I just thought I'd share them in case someone happens to find this interesting lol

Make more of less, that way you won't make less of more!
Yep, I really like using surround on the echo. However, at its core, the echo effect is just a delay. There is no way to turn it into reverb.

A few things you can try to make it sound more like reverb:
Use remote commands to add a small release fade to instruments. The release fade can hide the echo a bit.
Use two copies of a channel, with the second copy being quieter and slightly behind the first. This is often called fake echo, and can help fill out a melody and hide the artificial qualities of the snes echo.
The fake echo can either be just a few ticks behind to create an early reflection kind of sound, or a larger distance such as an 8th note, quarter note etc. to give an actual echo effect. Both have their uses, depending on what you want to do. Using slightly different tuning, vibrato and adsr on the fake echo helps too.

But these are only tricks which sometimes work. They can work very well in stuff likethis, but I made that port specifically to experiment with turning the echo into reverb, and as a result I was able to approach it differently. Most normal music wont' be able to make such extensive use of these tricks, so you'll have to do what you can. Often, tweaking the delay time of the echo is at least a good start, since different flavors can be achieved with different delay times.

Make more of less, that way you won't make less of more!
Hi all,
Not sure if this qualifies as a tutorial/doc or not, so I'm posting it here so that porters can see it.

In this post I will outline a cool way to listen to your spc while working on a port. I don't know how much more efficient it is than amkgui; I used to have trouble with it in porter mode for some reason. It works now, but I still prefer the methods I am about to share, especially the second one, as it allows you to listen to your spc from the comfort of your text file with a single keystroke! If you're curious, keep reading!

Note: This guide assumes you are already comfortable with AddmusicK and its file structure.

To start, you will need a small batch file called mkspc.bat. This is responsible for deleting the old spc of your port and running AddmusicK to generate a new spc file. An optional secondary batch file, 00startcmd.bat, is also here. All it does is start a command prompt from wherever the batch file is run from, and for a while is what I used in place of amkgui.

First, download the batch files here, and place them in the same folder as AddmusicK.exe.

From this point, you can pick one of two methods.
First method:
This method is a bit easier to set up, but isn't as efficient. You'll need both batch files.
1. Ensure the music txt you want to compile is in the music folder of AddmusicK.
2. Run 00startcmd.bat. A command prompt window should appear.
3. Simply type mkspc "textfile.txt" into the command prompt.
For example if my song was called test.txt, I would write:
mkspc "test.txt"
You can leave the quotes out if the name of your text file doesn't have spaces, but if there are spaces, the quotes will be necessary.
You can use folders here too, for instance:
mkspc originals\14 Boss.txt"
4. Press enter. If all went well, you'll see the compilation flash by, and if no errors occurred, the spc will open in your default player and play!
5. To repeat the compilation, go back into the command prompt window and press up arrow. From here, you can either edit the command or just press enter again to repeat.

Second method:
This method only requires mkspc.bat.
Using this method, you can connect AddmusicK to the popular text editor Notepad++, allowing you to listen to spcs with a single keystroke! This will likely work in other editors too, but Notepad++ is the one I'll be covering here, as it's the only one I've used thus far which can do this.
1. Ensure the music txt you want to compile is in the music folder of AddmusicK.
2. In Notepad++, go to the run menu and hit the run... option or press F5.
3. In the dialog which comes up, click the browse button and browse to the mkspc.bat file in your AddmusicK directory.
4. The program path field should now contain the path to the batch file. Put quotes around it. Not sure if this is truly necessary, but it doesn't hurt.
5. Next to the path, type "$(FILE_NAME)"
For example, my path looks like this:
"D:\downloads\AddmusicK_1.0.8\mkspc.bat" "$(FILE_NAME)"
6. Hit the save... button. You will be taken to the shortcut dialog where you can name your shortcut and assign a hotkey. I've simply named mine AddmusicK and assigned mine to ctrl+f5, but you can make yours whatever you like.
7. Press OK and close the run... dialog, and you've finished setup. Now, AddmusicK will always run when you press your assigned keystroke.
8. To test it, open a txt/mml file in Notepad++.
9. When you're ready to hear it, press control S to save changes, then press the hotkey you set up. It should work like magic!
FYI, you could go to the run menu and select your AddmusicK shortcut there, but where's the fun in that?

Some notes about the Notepad++ method:
This method only works as advertised if your txt/mml is in the music folder. It won't work if it's in a subdirectory i.e. you can't compile something like "originals\14 boss.txt" this way. If you try, the originals folder won't be seen; it will be looking for boss.txt in the music folder instead. A workaround, all be it an annoying one, is to modify the shortcut path in Notepad++. Specifically, you have to type the folder before the file name, like so: "originals\$(FILE_NAME)"

This caveat exists because Notepad++ cannot specify a path relative to the music folder, which is what AddmusicK expects. Using absolute paths would get around this, but to my knowledge, AddmusicK can't do absolute paths, which is probably for the better since it relies on a set structure of relative paths anyway.

Well, that's it. I hope you've found this useful! If you have any questions about how to tweak this, feel free to ask. I can't promise to have all the answers, but I'll do my best! And suggestions and criticisms are always welcome too.
Edit: used to have weird troubles with amkgui, but now it works fine. Updated post to reflect this.

Make more of less, that way you won't make less of more!
Just a random guess since I don't use C700, but maybe it doesn't like unlooped samples? Sounds weird but, hey. Stranger things happen.

Make more of less, that way you won't make less of more!
You can't just open those programs, you have to run them from a command prompt. If you've never used command prompt before, it may be a little intimidating to start with, but it's not bad.

If you don't want to deal with that, you can use the vst C700, but if you're not used to vsts, then that will also involve a learning curve.

Once you decide which tool you use, you'll have to get proficient with editing samples. Particularly if you want your samples to loop, it takes a considerable amount of skill since brr loop points must be a multiple of 16. For non looping samples this restriction isn't a big deal, but for looped samples I tend to be very strict on the multiple of 16 thing, because I don't trust conversion tools to gracefully handle oddball loops.

I don't mean to complicate things, but I'm not sure what you know about any of this, or what you intend to do, so I can't give good recommendations right now. I can only suggest every possibility which comes to mind and hope one of them will be what you want, which isn't very beginner-friendly lol

If you need help I'm happy to discuss this farther, but I'm only comfortable with brrtools.

Make more of less, that way you won't make less of more!
Ah, making chord samples.
@MercuryPenny I'm willing to help out with those if you want. I've battled with these more than I should probably admit, and while I can't give any real solid tips because it's still a bit touch-and-go, I do know the essence of what makes a chord sample work. Probably my best chord samples are in this. I made these when I was really starting to work out how to do these, and I think it shows.

The basic idea of making a smooth chord sample is to find how often the notes of the chord beat (how often the waves intersect if you put them on top of each other) and loop one repetition of that. Of course, the loop still has to be a multiple of 16.

You can do this visually or mathematically. Visually works well enough. What I normally do is leave one note as the original sample, and then add notes above or below that (I normally go below). If you use the original sample pitch as a bassline to work from, then at least the original note is looped well, and all you have to do is find good loop points for the rest of the chord. It's not easy by any means, but I always start out this way, I never record straight from a vst or spc or whatever because at that point, none of the notes are nicely lined up with a multiple of 16 and I'm fighting a losing battle. If I do need to record notes from a synth, I'll line my bass note up first.

Even so, it can go a bit off in some cases when the beating doesn't line up quite right with a multiple of 16. I think this becomes more likely the more notes in the chord you have, since beating becomes infinitely more complex as you add notes. In the end, some clicking may be inevitable. A crossfade might help with that but might introduce annoying phasing/wobbling artifacts. I avoid those like the plague in chords when I can, but I can't be too harsh on it either since these kind of samples require a very specific kind of touch to nail down.

A mathematical approach can sidestep all that but it's a dozen times more complicated. What I think you're meant to do is find the gcf of the note frequencies. Essentially, finding a low fundamental frequency which is compatible with the notes of a chord. Eg. if you have 300 hz and 350 hz, the gcf/imaginary fundamental would be 50 hz, so if you treat the chord like it's a 50 hz wave, you'll be able to loop it just fine. Unfortunately this isn't going to work so well, not unless every note in your chord is A. This is because all notes other than A are never nice clean numbers, and the ratios between them are even messier due in part to equal temperament, so finding a gcf is very much a theoretical means to do this, and not a practical one. Rounding the frequencies is an option, but the trouble is that you can't just round to the nearest 1, or the nearest 5 or whatever, not unless you want horridly out of tune notes. determining how to round correctly seems more complicated than the rest of it.

Because of that, I figured that using periods would be a better approach. I.e. in our 300 hz and 350 hz example, the 300 hz loop completes 6 periods in the time it takes the 350 hz wave to have 7 periods. I think I figured out a way to work that out mathemmatically, but I honestly can't remember what I did or how far I would've gotten.

Thinking about it now, I'm not much closer to being able to explain this than I was when I started this reply. I never really quite cracked it tbh. I know what essentially needs to happen, but I don't know how to explain it, or how to get there without doing dumb trial-and-error things lol

Make more of less, that way you won't make less of more!
Hi everyone, I've decided to make an appearance!
I've sort of popped in and out of here and Discord a lot over the past couple years. Can't seem to find the energy to dive full on into projects, since motivation kinda goes all over the place and distracts my focus. But my knack for geeking out with sound chips will likely never die! And it's been far too long since I've actually finished and released a new port. So baring all of that in mind, I present one measly little port for summer C3.

This is a banger called Dissolution, composed by Cencho Shoji, a Japanese musician I recently became aware of, who wrote game midis for the Sound Canvas series in the mid 2000s. According to the notes supplied with the midi, this track was intended to be somewhat less melodious than other battle themes.

This isn't really the most impressive or complex port I've ever done, but it's still special to me because it's full of little challenges. These made the port fun, and in a way it was actually more straightforward than I expected. However it still felt like the hardest port I've worked on to date, though it really wasn't. There just weren't many easy parts, so it made the whole thing feel difficult.

Anyway, I've been rambling long enough about nothing important. So with no further ado, check the port out here!

One of these years I'll actually do a c3 port thread. It's something I'm interested in doing. But I have to work on the growing pile of unfinished ports first...
Anyway I hope you enjoy this!

Make more of less, that way you won't make less of more!
Glad yall like it!

Originally posted by KevinM
As usual your sample work is incredible, I especially like the FM-like sweep effect you did (I see you went the David Wise route of having a million small samples :P). It reminded me a lot of that super accurate Time Trax Stage 2 port from idol 9.

Indeed. It's a square wave with a resonant filter sweep split up into 64 wavetables.

Tbh I hadn't tried that trick in a port before, mostly because it's quite difficult to do, doubly so if you're trying to do what I did and have the samples smoothly connect to one another. It was a fun challenge though, and I definitely have a better frame of mind about doing it now, so it's no longer just a random idea I've only heard about but never tried :D

Make more of less, that way you won't make less of more!
I hate to be that guy, but this is, at least to my interpretation at 3 AM anyway, completely inaccurate. If I'm misreading it though, feel free to tell me.

e2 $DD$00$18 b ^8

Originally posted by qantuum
e2 just plays a note e of length 1/2;
when this length 1/2 is finished, the code initiates pitch bend;

With all other hex commands to my knowledge, this is true, but not for pitch bends. Pitch bends always act on the preceeding note i.e. the bend happens when e2 starts, not after it ends.

Originally posted by qantuum
an important point is, if you ask the pitch bend to operate longer than the target length, it breaks your song. In my same example, replace the ^8 by a ^16 or a ^32 and you will hear it stops right there.

This is accurate but the given example is wrong; the ^8 has nothing to do with the bend itself (remember bends act on preceeding notes). Now if you change the e2 to e16 or something else shorter than $18, the engine will crash.

Make more of less, that way you won't make less of more!
Awesome you've decided to share this here!

As an aside, the bouncing back and forth between Gold Wave/Open MPT could maybe? be avoided, particularly since Gold WAve is shareware and while it certainly has a fanbass, it isn't really known for doing sample editing tasks like this. I myself use it exclusively because I grew up with it and it's the only program I personally feel comfortable in, but I'm pretty sure, or at least hoping, that Open MPT, Audacity, or any other editor really should be able to do all of that too.

Make more of less, that way you won't make less of more!
Changing the in-game samples isn't a good idea since the sound effects make use of the lower quality/smaller samples to do some special effects. These might sound different and or totally break if you change the game samples. With a careful touch though, I suppose you could preserve the sfx while using higher quality samples for music.

Some higher quality samples already exist here. Not all of them though.

Make more of less, that way you won't make less of more!
Wow, now this is the love the snes music scene needs! For real, I've wanted to try disabling staccato gap, using guitar vibrato, selectively including commands, and sample/gain sequences. And all of that is here? I used to think I was crazy for wishing for such things, but now I'm starting to wonder if I'm the crazy one here. :D

Seriously though, I'm way too excited for my own good. Some of the reason why I haven't ported as much lately is because hacking various musical effects out of amk is becoming pretty commonplace for me. I admit there's a joy in it, but it's also kind of demotivating too. Almost every port feels like I'm bending over backwards at some stage, sometimes to really painful amounts. And then if it's something I want to submit, I feel bad for the music mod who claims the port. The possibilities presented by amfr though are getting me motivated to port again!

I'm normally really skeptical when projects like this are announced and are seeming too good to be true. But the demo spcs speak volumes for me, and show the potential and functionality that is already here. This is what happens when a tool is made by porters for porters. I do hope, though, that amfr can evolve and be equally useful for romhackers as planned. That way the flashy music made by us nerdy porters can actually be used!

Speaking of romhacking, I do wonder what will happen as amfr and amkff compete. In a perfect world, both would coexist and play nicely together, and I suspect that is the goal? But the pessimist in me is worried it won't work out.

Needless to say though, I'll be keeping a close eye on this. Wishing you guys the best for development and a happy, productive 2022!

Make more of less, that way you won't make less of more!
Pages: « 1 213 14 15 16 »
musicalman's Profile - Posts by musicalman