8 users online: codfish1002, Isikoro,  Kevin, Mapping_bl, MiracleWater, playagmes169, wye, xfix - Guests: 83 - Bots: 324 Users: 55,705 (2,320 active)
Latest user: nigelreg
Not logged in.
Posts by musicalman
musicalman's Profile - Posts by musicalman
Pages: « 1 2 3 4 515 16 »
It really depends on the pitch of the original BRR sample how to calculate a tuning. The tuning multiplier and submultiplier do make some technical sense, but practically what I've found most useful is to use a tool called BRR Player (you can get it from the tools section here). Load a BRR, play a note such as A in octave 4 or something, and tune that to an A in the octave you want using BRR Player. Once you have the bRR Player numbers, you can put those strait into your AMK instrument. You can also get tunings from SPC700 player but I've found the BRR Player to be more effective as a strictly sample tuning tool, especially if you are like me and have a collection of BRR samples and you just want to have a quick way of finding the best tuning for them.

--------------------
Make more of less, that way you won't make less of more!
Well, the port is somewhat? finished. I failed to remember when starting it that the guitar solo was going to be hard. Partially because I'm not that good at pitch bends, a partially because they're a pain to do with AMK. I also didn't optimize very well at all, so it's sort of a mess. I'm not that happy with the result mainly because it has slowdown issues in SPC700 player for some bizarre reason so I'd assume it's not safe to use, but it is at a stage where I think I will just upload it. I didn't change the sample names or path, so if you put it in the same directory as your MML it should just work. I hope. LEt me know how it turns out.
https://drive.google.com/file/d/0B9aHZOGb36oLcFdBQXNFWWppcE0/view?usp=sharing

--------------------
Make more of less, that way you won't make less of more!
Hmm. If I recall you say you use SnesGSS? I could be wrong though. I've not used that tracker, but it would surprise me if it couldn't actually import brrs since it is meant to be a Snes tracker. Am I misunderstanding?

In any case, it's pretty difficult to tune a sample without knowing the original pitch of the BRR. The BRR format doesn't have a way of specifying an original pitch. Tuning is left to the sound driver used, and different drivers have different schemes for this. The tracker you use, and AMK, are two examples of different approaches. I'll try to explain how AMK works. It may not be the most accurate or technical but it's the way I've found best to explain and think about it.

AMK takes a purely mathematical approach to sample tuning, where you specify a multiplier and submultiplier playback speed. For example if the multiplier is $01, it will play at, for sake of easy explanation, a default speed for a given note. A multiplier of @02 will play at twice that default for a given note, $03 is three times the default, etc. The submultiplier gives you finer control, so $01 $7f is 1.5 times the default speed (7f is halfway through the submultiplier range). Semitones and cents are a completely different system. There's surely some technical formula to apply to convert a semitone and cent format to an AMK tuning, but if that is what you want, I am not the one to ask. Lol

--------------------
Make more of less, that way you won't make less of more!
I will admit, I did have some reservations about halfway through the port and wondered why I even took it on. But only because I didn't realize how hard some of it would be for me to convert. I honestly have no clue why I help people like this better than I do my own ideas. Lol

As for the slowdown, when I play the SPC, there is a slight drop of speed during the guitar solo because of how busy things are getting, and I really don't know why. I've tried with all the SPC players I have, and I still have the problem. However, I am a version behind on AMK, or maybe two, I can't remember. I should try it on the latest and see if the slowdown still occurs, or if this is either pushing things too much or I am feeding it a mess of an MML. What stumps me is that using #halvetempo still has the slowdown.

Also, I forgot to mention I changed what instruments were on what channels to work better with AMK and SMW, and to make things easier for me to work with. Mainly though, channels 7 and 8 were changed to less singificant instruments so that even if they cut because of a sound effect, the drop won't be noticeable. The point of me saying this is that I forgot to reassign my echo to the new channel configuration, it's still using the old echo settings. But that's a pretty minor thing I think.

--------------------
Make more of less, that way you won't make less of more!
Wow, I didn't know you had submitted this and it had been seen by a moderator!

Removing small superloops as suggested isn't a hard prospect, but you have to ensure you expand the superloops correctly i.e. [[e]]4 expands to e e e e. I removed all the superloops from the mml in just a couple of minutes, so that is an easy fix.
I've also tried to fix the slowdown, since while it is subtle, it's still there, and pushing the spc to its limits is generally not a good idea. I'd hate to see it struggle to keep up in-game. So I've been trying to optimize to that end as well, in addition to cleaning up some syntactical things. Doing this port for you is helping me learn too, so I'm glad for the opportunity.
To improve slow-down, I've been cranking the tempo way up and seeing how the music drags as the SPC struggles to keep up. Slow-downs will be very evident then, and when I feel safe that the music is always playing faster than I intend, I can bring the tempo back down to where it should be. From what I can gather from briefly playing with it, vibrato can have a considerable impact, and most of my channels are using it. So it helps some to remove vibrato from channels that don't really need it, such as #1 (second organ channel) and #6 (second distorted guitar). Removing some vibratos from #7 (lead guitar echo) would probably help too, but I ultimately think the lead guitar is killing it, and it wouldn't surprise me in the least if that were the case. So what I'd like to maybe do is: A, play with the guitar solo since it really is a syntactical mess, B, consolidate the drums more, and C, do some slight optimizations to the other less important tracks if I can find opportunities to do so. I'd be grateful to hear from other people who are good at optimizing or who have had slow-down issues even when using tempos below 60 and where #halvetempo hasn't helped. Though by this point I wouldn't be surprised if the only people who are now following this thread are you and I. Lol

--------------------
Make more of less, that way you won't make less of more!
(restricted)
Originally posted by Decoy Blimp
If you're at o1 and it still says the pitch is too high, then you're kinda screwed.

This is very likely untrue, unless you have a channel that requires more than a 6-octave range. For that, making separate instruments with different tunings is probably your best bet. But in the majority of cases, these sorts of problems come about either as a result of the octave being too high or low to begin with, or octaves erroneously being lowered and raised with the < and > commands. I've seen it happen. That is the problem with many of these porting tools. Sometimes they make mistakes. And even worse, while trying to optimize/edit them for use in AMK, the user can easily inadvertently break something, or even worse, might not realize a problem-laiden mml is on their hands and will exhaust themselves trying to get it to a somewhat workable state. To the OP, I would suggest firstly putting an octave on all your channels such as o4, or maybe o1 to be safe, and then going through the MML, note by note, on the channels where the problems occur, and trying to find < and > commands which are not needed. You can make a second copy of the file just for temporary work, to work on the problem channel(s) and that might make it easier. It's a lot of work, but I really don't know what to do other than start over at this point.

Originally posted by HertzDevil
It is still impossible to interleave # commands in any AddMusicK MML file. This is in fact one of the major reasons why most users of other MML dialects never take any version of AddMusic seriously.

What other dialects of MML are you saying can be taken more seriously and why? Yes, there are multiple things that AMK seems lacking in or does oddly, but I hardly think these are reasons to dismiss it, since it's the only tool of its kind that is approachable for hobbyists like myself. While I consider myself fairly well at it, I am by no means at a level where I can use highly advanced features or script custom behaviors, which I imagine some hardcore MML users might be doing. But most of the people here are not going to even be thinking about those things. Those who do will likely have their own creative ways of working with these limitations, or will, as you say, dismiss it. I hope though that this isn't always the case and that AMK is improved and expanded upon.

--------------------
Make more of less, that way you won't make less of more!
Originally posted by MaxodeX
AddmusicK (and every older Addmusic for that matter) supports and can do this.

I was just playing with it, and while I swear I got it to work once, it's failing to work again. So I do believe AMK spills commands over into the next channel. If you try something simple:
Code
#amk 2
#0 l4 @21
#1 l16 @22
#0 [c]8
#1 [c]32

What should happen is that the kick on #0 should play on quarter notes and the hat on #1 should play in 16ths, so there should be 4 hats per kick, but you can clearly hear that this isn't the case and both play on the 16ths because l16 was the last length command received. I haven't tested with other MML compilers as suggested but I trust that they do in fact behave as advertised. If someone can contradict this, go for it.

Originally posted by HertzDevil
Reusing the # command makes the MML easier to read and maintain. Songs can be grouped into phrases in the order they appear, by placing data for all channels of a part together, instead of data for all parts of a channel together. The latter creates additional work for aligning note events from multiple spatially disconnected lines of MML data.

You make fair points, and I see why this puts AMK at a disadvantage. But this personally doesn't bother me as much as it perhaps should, since I've never found myself doing it this way. I'd like to start if AMK supported it, but this revelation won't really affect me all that much.

Quote
Allowing the trailing octave/note duration of one channel to spill over to the beginning of the next one violates integrity. This is a functional requirement.

While I won't disagree with you, I do wonder why this is so. It seems to me that beyond basic commands, there's no real standard for how things are done. Channel designation is of course not standardized, so it would not be a stretch to believe that behavior across channels isn't either. Unless there are some official docs I'm missing, and it's very possible that there are, I see no functional obligation to implement the behavior you describe. It just saves headaches and inconveniences. But, I could be very wrong.

Quote
Saying that any workaround to this qualifies as "highly advanced features or script custom behaviors, which [you] imagine some hardcore MML users might be doing" is demeaning to the increasing number of chiptune musicians who are able to use both trackers and MML compilers.

When I said that other hardcore MML users would script their own behaviors and whatnot, I meant that as a complement to them. If you can do that, then go for it! Because I can't. You yourself made custom scripts for MML modification for AMK to address things you found lackluster. Are you saying that I am demeaning chiptune musicians by acknowledging that some people are able to do this for their own justified reasons? On the flip side, am I demeaning them by acknowledging that I cannot do those things and sticking to a way that leaves me being taken less seriously before my chiptune is even heard? I sure as hell hope not.

To be brutally honest, I'd much rather stick to things I am actually able to wrap my head around. For the moment, AMK is not giving me an overwhelming amount of trouble. But trying to do some higher level programming to enhance it most definitely would. I'd like to fork AMK directly to improve upon it. I'd really like to learn, but it probably won't happen today or tomorrow, or probably not even this year. AMK at present is workable for my needs. I am not the type of person who demands everything to work in a specific way, so long as I can eventually get a result I like. Now don't get me wrong, if it is improved I will be all over it. But it hasn't happened yet.

--------------------
Make more of less, that way you won't make less of more!
(restricted)
Here are my three cents on making custom samples.
First, I agree with what much of Brazilla says about downsampling and finding a loop, and the length of your sample. Most sounds I downsample at least down to 24K. A super bright sound may need 32K, but I wouldn't go any higher than that because the SPC700 plays back at 32K, and increasing the sampling rate in emulation is IMHO cheating. When played back at a lower sampling rate like 32K, things playing at higher sampling rates will do more harm than good. So most of my samples are made well below that. Some basses and pads I've downsampled to 3 or 4 K! But keep in mind that the BRR compression introduces artifacts, and these tend to get worse as you push things to its limits. Also the SPC700 has less pitch accuracy with lower sample rates IIRC.

I try to keep my sample wavs less than 16 K in size so I get a BRR of about 4 K when compressed. Most instruments don't even need that much. Instruments like solo brass, flute, bass, single-osc synth leads, etc. can be made much smaller than this because the attack of the waveform is pretty short, and in some cases can be cut out completely and restored with ADSR. With strings and choirs this works particularly well.

In general I try to loop everything, especially if it has a noticeable tail. This may even include drums like cymbals, open hats, toms, and even snares or kicks sometimes. For all but the simplest of sounds, crossfading is your friend. IT works particularly well on ensembles and noisy sounds like cymbals, and I've also found some success using it with pianos too. But you have to be careful that the oscillation of the loop repeating is as minimal as possible, or else it will become annoying.

I prefer BRRTools to make my BRR samples because it allows you to choose wich filters are used. If my laymen brain is understanding right, the filters are different schemes that can be used to predict and compress the data more efficiently and reduce artifacts. There are four filters and I use them for different purposes. Filter 0 just drops bits off the bottom of the waveform and leaves 4 bits remain, so it tends to be noisy. It's useful for noisy sounds, and works well for pulse, saw, and other simple waveforms. It also causes the least trouble when looping. Filters 1 through 3 are less noisy but also start to become fussy. They can make looping difficult since they modify the wave shape too much, so sometimes I need to adjust a loop to keep it from clicking or thumping. Filters 2 and 3 are especially susceptible to this, and they also have a tendency to produce very unpleasant squealing or squalking sounds if the amplitude gets too great. If you normalize to just under 0 dB and leave a bit of headroom, this might go away, but often I've found just using a lower level filter works better. Despite their shortcomings, I still prefer filters 2 and 3 as they have the cleanest sound to my ears. And you don't even have to bother with filters if you don't want, as BRRTools can automatically use whichever filters it deems most suitable, and this often works well. I just find that using a custom filter selection can squeeze more quality from the BRR format, especially in specific cases where I know a sound will lend well to a particular set of filter(s).

Few, hopefully I didn't make brains explode. I've actually been thinking of posting a BRR collection or something. Since 2014 I have a ton of custom samples I've made which haven't gotten used, and am slowly getting around to playing with now.

--------------------
Make more of less, that way you won't make less of more!
(restricted)
(restricted)
Hi all,
after becoming a little more comfy here at SMWC, I decided I should actually show off some stuff I've done. Some of it is submitted to the music section, but some of it isn't really compatible with SMW so I probably won't submit it.
All of these SPCs were made with AddmusicK, though at present I'm not making text files available for unsubmitted stuff, because the optimization is not so good and with my laziness probably never will be. I also like the challenge of making my own samples, so I use those most of the time. A collection of my homemade brrs is in the works! Feel free to use the BRRs for your own SPCs, but please give a shoutout if you do. I spend much time on them and really want to know when/how they circulate.

So with that out of the way, let's go!

Non-SMW stuff:
Who Wants to be a Millionaire? Questions 1-5 Theme
SPC
Go ahead and snicker. This was my first satisfying AMK port. I learned a fair bit about how the workflow might go, though I wasn't as fluent with it as I am now, so it still gave me a headache. I probably should submit this... I mean, why not?

Oceans of Perspective:
This was for a school project (not the SPC port, just the music). MP3 (original composition), SPC, download the rest of the school project and read what it was about

Orchestral Thing
Originally a composition which my friend made. I excitedly ported it. I had a little fun at the end of the loop (the Mozart reference was my idea). He sent me a finished composition recently, so maybe I will finish my port. I certainly would like to. To this day I still don't know whether he likes my version or not. :D

SMW Music Submissions:
For these submissions, I tried to make the music with insertion in mind. With some things though, there is a non SMW version which is meant to sound a little better and I will briefly explain why in each case.

Super Mario Bros (Nes) - Overworld
While listening to Super Mario RPG's immitation of the old Nes classic, I decided to challenge myself to create a chiptune on the SPC700, and do it so precisely that I might be fooled into thinking it wasn't using samples. A late night later, this happened. This is the non SMW version which I finished first. A little later I submitted it. In fact it was my first ever submission. What a start! The submission has less commands which almost halves the insert size but also diminishes the accuracy a bit. Both sound good, but the non-SMW version is more accurate.

Shin Megami Tensei 2 - Battle
This port was requested so I felt more incentive to get it done. I decided to have a little fun with it. When I looked it up on Youtube to get an idea of what the track sounded like, I found this epic arrangement of it. Looking for something closer, I then found this, which is basically the original Snes version on the Playstation with higher quality instruments. After allowing both to inspire me, I bring you an SPC, and submission.

To avoid making this post unnecessarily long, and because I don't have much to say about my other ports, I'll leave you to peruse my other SMWC submissions without my irritating commentary. On average, I submit something once every month or two. Also I've been asked to do some pretty cool music for hacks, some of which I consider to be some of my most difficult and rewarding Snes work. I won't release the music until the hacks are done, but when that happens I'll let you guys know.

I hope you enjoyed the music as much as I enjoyed making it! I'm always looking for feedback, so don't hesitate to provide some if you feel like it.

--------------------
Make more of less, that way you won't make less of more!
Thank you for your kind words. I do wish I had been making these sorts of things back when compositions of this nature were needed, like during the Snes's heyday, but I was barely alive then and the tools I use now of course were not around. I'm no programmer so couldn't make adequate tools and work in assembly like some composers did, though in all fairness I don't think all composers were that scary. some may have had user friendly tools similar to those we have, though I am just theorizing. I'd be interested to know more about it.

--------------------
Make more of less, that way you won't make less of more!
(restricted)
I think the reason there aren't good current tutorials are severalfold.
A, there are those, like me, who know enough about how this stuff works to piece it together as they go. They can do it but may have odd ways of going about it which aren't easy or intuitive. They might be able to explain how they do what they do but may have trouble explaining some of the more rudimentary stuff which a newcomer will need to thoroughly go over. With programming this is often the case, as examples are used that really only make sense if you naturally think along its lines. However they are still confusing to those who think differently or are totally new to all the concepts. This also hits home with the AddmusicK documentation nicely. If you know what you're looking at, then you've got everything you need to know. But if you know nothing about what you're looking at, then... Yeah. Not so good.

B, there are those who sort of have a quick and easy way of doing it that only covers some bases, or that only works some of the time. These people likely wouldn't be confident in their ability to make a tutorial. I realize that tutorials are not always meant to be thorough, but the more valuable information a tutorial contains, the better the outcome generally is.

C, there might not be enough interest/awareness in the music area to attract someone who could explain the basics, but has some knowledge in advanced tasks too so that they can stay ahead of the learners.

I'd like to make tutorials but I honestly don't know where to even begin, because I know I'm not the most efficient. I wouldn't mind reading a few tutorials from people who have gotten a better workflow down if nothing else. I agree with the fact that tutorials are in great shortage.

--------------------
Make more of less, that way you won't make less of more!
This is an easy fix. After #samples and after the open brace, you must put #default or #optimized. #optimized saves space so it's what I always use. So your samples should look like this:
Code
#samples

{
#optimized
	"PWflute.brr"
	"PWhorn.brr"
	"PWdrum.brr"
	"PWflute2.brr"
	"PWsnare.brr"
	"PWsnare2.brr"
	"PWbass.brr"
}

I hope this helps!

--------------------
Make more of less, that way you won't make less of more!
I think this is an old limitation of Addmusic where the SFX channels would break. To fix this, samples needed to be redefined on those channels for each note in the text file. Either that, or porters would just avoid using those channels to avoid the hassle. There is a reference somewhere of which numbers correlate to which sounds, though the default selection in SMW is a little limiting. Just bass, snare, and hat if I remember right.

I'm almost completely certain that this limitation no longer applies to the current AddmusicK. That tutorial you are referencing is very old and a lot has changed since then. Now, #4 is completely open so far as I've been told, and is not needed for sounds, so even if this limitation still existed, it would no longer affect that channel. Secondly, I think the problem with having to redefine instruments on SFX channels was fixed for all channels, but feel free to correct me if I'm wrong.

--------------------
Make more of less, that way you won't make less of more!
This is a good point also. I just never quite knew how it worked. So if I understand you right, not defining a group such as #default or #optimized will make a temporary group of sorts, and would be the equivalent of making a new group in groups.txt?

--------------------
Make more of less, that way you won't make less of more!
First, ensure your loop points and length of wav file were a multiple of 16, because this is a limitation of the BRR format which must be met for compression to be successful.
You do need to add a loop header to your BRR files once they are created. To do this, follow these steps:
1. Go into a calculator, take the loop start point of your wav file. In my case, the loop start was 800. Multiply that number by 0.5625. When I do that, I get 450. If you don't get a whole number, it means your loop is not valid and you'll have to try again.
2. Convert this number, in my case 450, to hexidecimal. To do this, you can press alt 3 to get to programmer view, then choose decimal, then type 450 and switch the display to hex. For this example, the hex conversion is 1c2.
3. Now, mentally add zeroes to the beginning so that the hex number is 4 digits long. Since I got 1c2, it will now become 01c2.
4. Reverse the pairs. So instead of 01c2, it's c201.
5. You'll need to use a hex editor like HXD, but anything will do. In your editor, open the brr, go to the very beginning of the file, and use the insert function. Make sure the editor is accepting hex digits and not strait text, and type in the hex from the previous step, so c201. Don't overwrite anything, just insert! Once this is done, save and it should work in AMK.
6. If the loop sounds wrong, you may have to redo the calculation but add 16 to the initial number. So instead of starting with 800, start with 816. Alternatively, you can add 9 to the first byte. So instead of inserting c201, you could just add 9 and get cb01 and try that.
I cannot be credited for figuring this out, someone wrote a thing, I believe on here, way back. I don't know who it was or where to find it though.

--------------------
Make more of less, that way you won't make less of more!
Pages: « 1 2 3 4 515 16 »
musicalman's Profile - Posts by musicalman