Language…
16 users online:  Atari2.0, bradcomp, DanMario24YT,  Deeke, Domokun007,  Donut, drkrdnk, hhuxy, JezJitzu, mathie, Maw, nonamelol1,  Segment1Zone2, SirMystic, synthie_cat,  Telinc1 - Guests: 286 - Bots: 356
Users: 64,795 (2,375 active)
Latest user: mathew

Posts by musicalman

musicalman's Profile → Posts

Replacement commands like you are trying to use are literally find/replace operations. You could put anything in them really, and this includes hex commands. n fact, if there is an error with a replacement, AddmusicK will not flag the error at the replacement itself, but instead will complain about all of the places where that replacement has occurred.

Several reason I think your MML isn't working:
You need to have #default or #optimized before your samples.
On this line
Code
"E=$F4 $03

You need to close the quote. If you don't, AMK will obviously throw an error because the end of the replacement hasn't been defined.

Try these two things and see if it works.
Make more of less, that way you won't make less of more!
No, remote and replace commands are two different things. Remote commands are used to make things happen while a note is playing, and have their own syntax. Replace commands as you were doing in the example you posted above, they don't take up any additional space in the spc. Obviously they change the size of the mml but that's largely unimportant.
Make more of less, that way you won't make less of more!
Hi everybody,
This has been something that's been bugging me for a while so I'll probably ramble some. Sorry about that!

Basically, for the past few years I have been hanging out with a friend of mine who is, for lack of a better way to put it, an amateur programmer. He doesn't tackle big general purpose programming languages like c++ or try to learn any sort of assembly, but he's picked up some AutoIt skills and I believe used to do Visual Basic when it was popular. He also does stuff in something called BGT, which is a scripting language to create audio games for visually impaired gamers. It's really simple because it's tailored for easy game creation, but even so it is pretty powerful, and thus was something I aspired to learn early on. I know BGT is foreign to all of you here but that isn't necessarily my point... just bare with me.

I've tried for years to learn even simple scripting things. I always hit a brick wall at about paragraph 3 of almost any tutorial. After maybe a week of painful head pounding, I might, just, make it to paragraph 4. I know how a hello world script is meant to work, I know how to make variables and do arithmetic on them, setting up simple if statements, and how to use the function reference to do some built-in things, but that's about it. Making my own functions, setting up classes, heck even a simple for loop is often enough to kill me. The friend I mentioned earlier was like, you should do some simple programming exercises like building a basic contacts database manager using functions and classes, and doing this, and doing that... and that'll get you knowing the language. Sounds like a good idea, until he elaborates just a few seconds more and my head explodes. Well not literally, but if it could, it would. Lol.

I know my problem is that I don't understand the roots of the language. In this aspect some languages are easier than others but I think there's got to be some low point that can't be made any simpler, and if you're not there than nothing will really come. Besides, a tutorial dumbs things down to the point where I can copy/paste, but an overview of syntax is too broad for this strange brain of mine. I've been trying on and off for almost a decade now. I'll admit last year I've put a little more effort in and it's making a bit more sense, but only just enough for me to realize how much I still have to learn and how slowly I've been going. I know a lot more dedication is needed to really get good... It doesn't take days or weeks for most people. But when can I safely say this just isn't for me? Perhaps months of paid classes or something would help if I was really passionate about it and wanted to do it no matter what, but it was never something I expected to be best at. It's frustrating though when I surround myself with a circle of geeky people, and this is pretty much the only thing that separates me from them.

Now that I got whining out of the way, here's the flip side of the circle. As some of you may know, I am pretty much exclusive to the custom music section here, and I use addmusicK which takes MML script for music creation. I've been doing MML for years on and off, but even when I was first starting, it all made perfect sense to me. True I had prior computer music experience, but the concepts themselves never overwhelmed me even when I was learning the basics. I think that's because it's so linear. Just write c d e f g and it plays c d e f g. Write @30 = [something] and then later in your notes, you write @30 and what you assigned above takes effect on everything proceeding the call. Nothing hard but I just took off with it. There are other music scripting things I do which work in a somewhat similar vane and I have taken off with them too.

I am nowhere near the best; there are people doing things I can't comprehend because they're mostly programmers and make things that I think are really scary. I am not extremely envious of those people because I am happy at the level I'm at and hope to improve at my own pace. Being a musician helps too, because that sort of linear instruction is how I think about music, and pretty much everything really. I like to think practically about how I'll get from A to B, in as strait a line as I can manage. I like to focus on getting the sound I want as opposed to making nice-looking script, though the latter is certainly a valid goal to have and is something I'd like to work on. Still, with AddmusicK there's only so much non-linearity to be had. As an aside, I see people who struggle to do even the basics in MML and it makes me feel bad. Like they are feeling my pain and I can feel theirs, but it's so out of context for me. Lol

So, my real question, and the reason I made this thread in the first place: Why do you think some people like me find linear things so intuitive and an actual language with a syntax so difficult? Upon first thought the answer seems obvious. Linear things are easy, languages are harder. Some people have different aptitudes too. but I still wonder if there's something that helps certain people learn it so easily which I just don't have. If you're 12 and can make a simple game and I'm 24 and can barely do a simple number conversion, clearly you have an advantage... in what? On the converse, there's got to be something in me that makes me good at what I do. I attribute it to my musical aptitude and my preference for a bare, but not-too-bare, foundation. Still I wonder if there's something else to it which can't really be defined at present, I really don't know. I realize I'm posing questions which are impossible to answer, but I'm interested in discussion on it because this has been something I've been thinking about for years, and I want to know more perspective.

Thanks for reading and have a good weekend!
Make more of less, that way you won't make less of more!
Originally posted by Mathos
Visual impairment greatly widens the gap, if I dare say.

It's funny actually because I'm in a million minds about this. Well almost. On one hand I know many visually impaired programmers, and as you acknowledge that isn't the only limiting factor, but I am curious about how they can get it and I struggle so much. on the other you make a very valid point, and I won't pretend to have a stance on whether it makes a significant difference or not. I don't think you can definitely say one way or the other.

This wouldn't be so unnerving to me if such people were not musicians, but many of them are and could give me pretty good competition on my turf. I think where I might have them is, envisioning a sound and knowing roughly how to make it before I start.

Quote
Precisely, the thing that I believe make a syntax-based language harder for anyone struck with a condition similar to yours is that these languages usually profit of visual elements to make their comprehension easier.


Even for MML editing, I've seen people do this with Notepad++. They can visibly show similar repeated sections for looping purposes.

My problem is, if I don't see a loop on first or second pass, I am likely to miss it. If you ever got bored enough to look at my Super Mario Nes Overworld port (which I did just for amusement and curiosity's sake), I still had to spend hours planning ahead for that to account for the fact that I'd miss stuff if I didn't. As it turns out, everything I wrote ended up in a label loop, of which there are 30 altogether IIRC. If I hadn't planned ahead, it's likely that I would've missed many opportunities to use loops. Sometimes I get tempted to have someone look at code, as though working eyesight is some magic spotter. Lol. Not quite sure the point of this story but I guess it shows my strait path approach or something.

Quote
As a side note, since we're sort of) talking about gaming for blind people too, have you ever played or considered tabletop RPGs (aka stuff like Dungeons & Dragons) ?

It's funny, a lot of blind people like that sort of stuff, and some are big fans of text adventure games. They were never really my thing. There are actually audio games which use sound to communicate an environment. I tend to like fast arcade-type games, and a few adventures if they're not puzzle-heavy (I mostly enjoy atmosphere).

Quote
This post of yours proved extremely interesting, and I am eager to have other discussions of this quality (or continue this one, even) some other time.

I am very eager to do the same! I always enjoy discussion like this and as you can tell I've gone out of my way to start one :P

Originally posted by Kaijyuu
Assembly might be more your thing if you want to keep trying programming. There are no classes, structs, if statements, or loops built-in. Instruction 0000 is followed by instruction 0001. There are branch statements, which break the linearity, but it's always choosing one of two options; no more. You don't have to mess with the fancy compiler stuff in ASAR nor with complicated stuff like indirect addressing if you don't want to.

The thought of assembly scared the crap out of me but only because I never knew about what you said. I don't know enough about it to figure out what can be done with it and what I'd be interested in trying to learn. Maybe I will look more into it at some point. Your words are encouraging!

Quote
I've always had trouble with music since there are too many options. Not only can any note be followed by any note, only some notes actually sound harmonious (most but not all the time!), and there are 8 channels! (more than 8 outside of SMW hacking, too!) If I can't keep every option in my head, I can't reasonably decide between them, and my heuristics for deciding with incomplete information don't often work well with music.

This comment has sparked a thought. I was contemplating making an AddmusicK tutorial, but realized that if you are as unsettled by complex musical things as I am by a programming language, for example, then a tutorial written by someone like me may only provide limited benefit. Besides, it wouldn't even address your main problem of not being able to process music concepts effectively. I obviously can't teach you music in a tutorial, all I could do is show you how to represent it. I'd still be interested to see how such a thing would work with an audience. Main reason it hasn't taken off really is because I'm not having much success getting input on the custom music forums, and it's not yet at a state worth posting. Only the basic section is done. I do plan to work on it as time permits and to get discussion on it at some point.

But back to your comment: I can totally relate to what you're saying, and that is how I feel about programming, or well let's face it,a ton of other things. Actually you mentioned that 8 channels seems easier than the more hypothetical channels that exist in music outside of SMW. For me 8 channels is still a bit restrictive... sometimes painfully so... but don't even get me started on 8 bit consoles where you only get half that, and the 4th is noise so you can't do anything melodic with it. I was never one to arrange discrete parts for each voice; I later learned part writing and what have you, but it was never really my thing. With that said, less channels, while frustrating for me, is interesting and stimulating at the same time, and I assume that more primitive programming architectures produce similar feelings in programmers, all be it in different contexts.

Quote
I also don't have a sense of absolute pitch (play me a note and I won't be able to tell you which note it is). I played an instrument in school so I can read music and understand it when it's set before me, but I can't transcribe it or compose it.

I started taking piano lessons when I was 4. My teacher taught me mostly jazz and rock stuff, he wasn't a professional or anything but he knew what he was talking about. I still learned a lot from him.

I do have absolute pitch but like many musicians who have it, I thought everyone did at first. It has helped me from transcribing to editing BRR samples for Snes (though for the latter I often do use external stuff to aid in that). While my absolute pitch allows me to just know the notes I hear, there's another part to it. Notes and sounds have an audible, as well as a discrete tactile shape for me, because I am a tactile person if I can put it that way. Some combinations are more vibrant than others too which makes it easier for them to stick. That tactile shape is also nothing more than a representation which changes depending on what I'm doing. If I'm playing piano, it's piano keys. If I'm writing MML or midi sequencing, it's numbers which at present feel like an added layer... like i have to actively decode the thing into numbers so it's not as immediate. I can't even describe how this inner sense works, it just guides me and it's so automatic. All I really know is if I can hear a musical thing clearly in my head, I can reproduce it by whatever method is needed. But the thing in my head has to have a super clear focus which I can slow down by insane amounts. If it isn't that clear, I can't work with it. The best I can do at that point is improvise, which I'm good at because I was brought up learning how to do as such. I'm no Mozart or anything, but with enough perseverance I can extract a lot of information from something... enough to make a product that's decent anyway.

Few, hopefully that wall of text won't get me killed or something! Lol
Make more of less, that way you won't make less of more!
I know I am a very sensitive person, and I think I've become even more sensitive over the years. I am oversensitive both when it comes to being offended by others (I'll often take offense way too quickly), or when trying to give advice to other people (I'll get worked up and overload them with concern). My friends problems very quickly become my own problems and I will often loose sleep over a stupid simple thing even if it's a close friend dealing with it and not me.
One of my huge sensitivity issues is when people don't treat something with the sensitivity I would, or they assume some other sinnical attitude, especially when discussing another person. Like if someone has done something wrong, I would rather give them the benefit of the doubt even if it means I am being stupidly naive about it. It infuriates me to almost no end when a lot of other people want to jump on the offensive and make claims that this person is so bad, or that this person is causing this real huge problem or whatever, and they just come off to me like they know everything wrong with everybody. I even feel bad for criminals or addicts because the consensus is that they're wrong, not that they are troubled people who may have and could still be good citizens if something sparked in their minds...

Just a few hours ago I had a family argument about such things and I'm still reeling from that because I was getting tired of the sinnical attitude everyone was having so I snapped and said that not everything is just this one way, that people have their own stories to explain what they do. I was accused of having a complex and acting like I knew all the answers... I still haven't figured that one out... and it just went downhill from there. Ugh.

Not sure exactly why I am this way. Maybe it's my Aspergers. Maybe it's because I always got yelled at as a kid and didn't understand what I was getting yelled at for, or why I never had a chance to explain my side of it. I was a child walking on eggshells practically all the time. Maybe that's what Aspergers can do to you or something. Whatever the case, my oversensitivity is something that's going to be the death of me, possibly quite literally if I end up being naive enough, and at this rate that's not far off. I could go on a huge rant about other things I am sensitive to but I won't. Today has been declared as lousy 50 times over, and I am already exhausted. Hopefully I'll not feel so touchy over the next few days. But I couldn't resist popping in this thread now while dealing with the day's ordeals. Lol
Make more of less, that way you won't make less of more!
Haven't got a lot of time to actually test or recommend anything too specific, but for vibrato I normally use the p command which I think is a lot easier to do than typing hex, though I do believe the p command is nothing more than an alias for the actual hex command but I'm not sure. Anyway, syntax is px, y, z. X is delay, y is speed and z is depth IIRC. An example might be:
p10,14,100
I have no clue what this sounds like but last I remember I got reasonable starter results with something like this.

You can exclude x entirely and just do py, z. In this way you will be only adjusting speed and depth.

Also I've had some use for the vibrato fade command. Not sure if it fades the vibrato on every note or if it has to be called manually, but I think it may have a more natural sound than a standard vibrato in a lot of cases.

Also the vibrato tends to be a little touchy, especially with depth. Changes generally aren't obvious until you get around halfway up the range. After that, the effects very quickly become obvious and at the highest depths it is commically strong. It seems the higher you go the more marked the changes become. Often I just have to find a sweet spot that works.
Make more of less, that way you won't make less of more!
Hi all,
I was wondering what the best utility was to convert brr files to wav. The program needs to be able to put loop points in the wav file so I don't have to go manually putting them in. I don't necessarily need to convert directly from spc to wav; I prefer having brrs around. The brrs I would be converting are for the most part exported by spc2mml and split700, which add an amk loop header. I know manually deducing a loop point from a loop header is just a matter of number crunching but I'd really like it to be automated.

The reason I am asking about the best program for the task is so that I can find the brr samples I intend to use in a port, and load the wav versions in a sampler and sketch with them before working with the mml in AMK. This way when I eventually do get to making the mml, I can focus more on adapting things I've already sketched out and polishing it, rather than take gambles with sample choice and arrangement and whatnot. I know most people would probably just use the C700 vst, but that is not usable for me because of my visual impairment, so I am unfortunately not able to use that option.

There are probably a handful of programs that can convert brr to wav and preserve loops. The only two I am aware of at present are, the old spc2it utility which seems to grab samples from spcs pretty well, and also split700 has a brr2wav utility but iirc it doesn't put loop points in the wav, unless I'm missing something. Rather than take a lot of time trying different tools, I thought I'd ask here to see what other people recommend for the job. Thanks for reading, and I look forward to your suggestions!
Make more of less, that way you won't make less of more!
Hey, that works. Not sure why I had problems before, maybe I got it mixed up with another converter.
One thing I do remember is that when I tried Snesbrr, it had an option to filter the highs to simulate Gaussian interpolation, and I sort of miss that now. But, give and take I guess, and besides back when I used that converter, I had problems with loops sounding a bit off, when I manually inserted them sometimes. Like they had clicks and buzzing problems even when I knew my loop was correct. I've yet to have a single problem with brr2wav.
Make more of less, that way you won't make less of more!
(restricted)
I'm pretty sure that the loop isn't working because the volume fade command lowers the volume, and it isn't raised when the loop is hit. I'd recommend putting a volume command after the loop definition command so that it resets when the loop hits. It's a pain, but I think that's how it's done.
I don't really have time to look at the port in detail now, but I would suggest using AMK. I think with Notepad++ you can set up AMK to compile and play your spc with a hotkey, so that could speed things up. Admittedly I've never used AM4 Player, though I did try it once. I don't know how it works, but I think you are limiting yourself by using it. Someone with more experience with older Addmusics might be able to offer better advice than I can on this. Lol
Make more of less, that way you won't make less of more!
If you don't put any v commands in a channel, it will default to v255 afaik. So yeah, you'd want to put v255 after the loop command, not before. In AddmusicK, the loop command is /, not sure what it is an am4 but I'd imagine it's the same. But you must put the v255 after the / or the volume command won't take effect when the loop hits.
Also, with notepad++. I've never used it extensively, but i've heard people like it for porting for various reasons. What I was getting at was that you can assign things to happen with hotkeys, so you could, say, assign a key to run your text file through aDdmusicK and perhaps then open the resulting SPC. I'm not sure how you'd read about errors though using this method. As I say I've never tried this so someone else will have to step in and elaborate more. For now, I save my text file, and from within command line, I run a batch file I made to generate the spc and play it. This way I can see the output of AddmusicK and where the errors are if any. It's a tedious process but because I've done it a few hundred times, I can do it pretty quickly. Lol
Make more of less, that way you won't make less of more!
If you're looking for something automated, I don't know if you'll find anything. Chord splitting can involve a lot of subjective decision-making. How many notes do you want to split from this or that chord without using a ridiculous amount of channels? How to distribute those split notes? I wouldn't want to rely on an automated solution to make those decisions. While it might get you results, it might not always make the most appropriate or intelligent decision, so I think it's better to find a tool that allows you to get in there and do the manual work. Lol
With that said the tools you use do make a difference, if nothing else than from a purely comfort standpoint. So I'd try different tools to see which works best for you.
Make more of less, that way you won't make less of more!
IN the gui, are there errors that come up? I've never had this happen myself, but I'm just curious. Maybe something is wrong with your rom?
Make more of less, that way you won't make less of more!
Try this:
Code
[r1]63r2..

The [r1]63 part determines how many times to loop the r1. All ^ does is extend duration of something, so by using r1^1^1^1^1^1^1... you are just putting in r1 over and over. The 63 at the end signifies how many times the r1 happens. There is one instance of r1 and 62 instances of ^1, so that makes for 63 times.

Finally, instead of using ^2^4^8, you can simply use 2.. since a dot extends the note's duration by half. A second dot will add half again.

So you start with r2, then add a dot and that will be r2+4, add another dot and that will be r2+4+8. If you would add yet another you would have r2+4+8+16, but in this case it isn't needed, I'm just showing an example.

Hopefully that was clear!
Make more of less, that way you won't make less of more!
If you use AddmusicK from the command line in --norom mode so you're only creating an SPC, the insert size will show there as well, along with the duration.
Make more of less, that way you won't make less of more!
Last I tried, using a number higher than 99 for the loop count didn't work, but that was for actual notes and passages. If it works for rests that would be very strange.
Make more of less, that way you won't make less of more!
Okay this is really weird. I can get normal loops and superloops to work up to 255 counts like you describe. But, I swear it didn't work at one time and said something like invalid loop count for normal loops. I never tried it with superloops. But I just tried it with both now and am not having problems. The only reason I can think is that I went from AddmusicK 1.0.4 to 1.0.5, but that's weird.
BTW how are you getting the information like tick count or binary code? Sounds like something you might get from asar, and that's probably going to be over my head a little, but it sounds interesting and might help me understand more about how commands actually work internally.
Make more of less, that way you won't make less of more!
(restricted)
Hi all,
Just had a quick question about sound effect channels. I read somewhere that if you must use #6 and #7 in your music, that #6 should be used first because it is less likely to play a sound effect than #7 is. Is this the case or am I missing something?
Also, if I do use #6 or #7, are there certain commands I should avoid using on those channels or anywhere for that matter because they'll mess up sound effects? Or will the worst that'll happen is just notes being cut?
Thanks.
Make more of less, that way you won't make less of more!