|
Post by turboxray on Dec 3, 2021 20:32:16 GMT
My most critical issue with Squirrel in this role is the issue of it relying on copyrighted code without appropriate permissions. In a CD title that's fine, because the actual sound engine code is included in the system card. But for HuCards, the engine itself has to be included in the game code and it is not code that is legally permissible for that purpose. For homebrew developers who want to be completely above-board, Squirrel is unsuitable. So far, that hasn't been an issue for developers in this scene, but if the scene is to grow it could become an issue. I want someone, anyone, to finally release a perfectly legal, publicly available, community accessible sound engine which is thoroughly unencumbered by potential legal snafus. Not just one or two of those three conditions, but all three. Squirrel is a great 2 of 3, and I respect Arkhan's work on it and his points that the copyright holder (Konami) probably doesn't give a shit. But I could see someone being a stickler on that legal issue, and rightfully so. And for that reason alone, Squirrel is inappropriate in the role of default sound engine (outside of CD titles, at least). There is the ancillary issue that Squirrel seems mostly dependent upon a particular HuC release. HuC is still being developed and the self-designated lead on that and the lead on Squirrel are unable to be in the same online space peacefully. That could really be an issue in any dev community, however, and is likely unavoidable, so I don't consider that a show-stopper the same way I do the legal issue. I'm assuming they used direct disassembly of the CD BIOS player? That issue could be fixed by writing a compatible player from scratch, rather than the disassembly. That could be done on the HuC side, and be independent of Squirrel. Definitely not a time-sink I'm willing to put in though since the bios player has some of its own limitations (no sample support, not ADPCM support, etc). I think even some (Falcom?) CD chiptune games simply bypassed using it. But yeah, that issue could be handled that way. As far as using Squirrel for new HuC builds, that issue was addressed. I had squirrel working and I believe someone else got it working in the newer HuC builds. I think it was more of the author didn't want to support the new HuC, even with the fixes? I'm not really sure. That thread never really went anywhere after that. Default as in "built into" HuC, or default as in "go to" community option?
|
|
|
Post by spenoza on Dec 3, 2021 20:45:30 GMT
Well, Squirrel isn't the sound engine itself as I understand it, it's just the surrounding tools designed to build to it, so re-creating the BIOS sound engine would technically solve the IP encumbrance issue.
|
|
|
Post by elmer on Dec 3, 2021 21:00:23 GMT
There is the ancillary issue that Squirrel seems mostly dependent upon a particular HuC release. Oh jeez, are we really doing this ... again? The version of Squirrel on Arkhan's site, that hasn't been updated since 2012, is just plain broken ... and not only with the latest versions of HuC. As pointed out in this old thread, there were a couple of typos and bugs in it that caused problems for developers. pcengine.proboards.com/post/10902/threadAs pointed out here, there is a version that works fine with the latest HuC ... pcengine.proboards.com/post/11027/threadI can see you are using the 'latest' version of mml2pce, so that's good. You can use -p_ to get rid of -most- of the register errors, iirc. But the real problem is you need to install elmer's patched version of squirrel. You're using the NewHuc, and the old squirrel has problems with it. If you are doing a fresh install just to play with sound, you don't really need Arkhans squirrel. elmers squirrel-2019-11-01 is the known working version for HuC 3.99. It should include mml2pce, and everything should work. Anyway, here's another version with a fix for the final typo that theoldman found, a typo that was also in the public release of Squirrel ... squirrel-2021-12-03.zipNote: IIRC the Squirrel MML compiler was deliberately limited by Arkhan for public release so that you have to go and ask him for the full version if you want to create sound-effects.
|
|
|
Post by DarkKobold on Dec 3, 2021 23:54:46 GMT
This is missing the biggest issue Gredler and I ran into with Squirrel: No one wanted to write turbografx music in MML. Yes, you CAN convert MIDI to Squirrel, but it isn't easy, and if your musician doesn't/won't handle that, it's dependent on the programmer (who in my case, doesn't have musical talent) then it ends up screwing up.
Whereas, with HuTrack and Deflemask, it's very much WYSIWYG, there's not effort on behalf of the programmer to make the music sound right.
There's still bugs in HuTrack that need to be fixed, but it's the most promising software for homebrewers to not run into the brickwall of "mute homebrews" that has been the turbo dev scene for the past 10 years.
|
|
|
Post by spenoza on Dec 4, 2021 0:41:51 GMT
There is the ancillary issue that Squirrel seems mostly dependent upon a particular HuC release. Oh jeez, are we really doing this ... again?
I apologize. I misremembered and was going off the cuff based on my faulty memories. I'll edit my post so I don't contribute to an ongoing myth. It is frustrating that the hosted Squirrel code on the creator's site is effectively gimped and you have to know where to look to get a version that works.
|
|
|
Post by siudym on Dec 4, 2021 12:34:48 GMT
I will try to understand the PSG sounds myself - I won't be able to do music, but I should be able to generate some SFX for the game. First PSG tests: www.youtube.com/watch?v=EmYMYwbUT8oTested on real hardware too.
|
|
|
Post by elmer on Dec 4, 2021 15:49:36 GMT
I will try to understand the PSG sounds myself - I won't be able to do music, but I should be able to generate some SFX for the game. Congratulations ... very "Spectrum" sounding! I am surprised that we haven't mentioned the easiest way for you to get good music and good (1-channel) sound effects ... Just write your game for PCE Super CD-ROM, and use a CD track for the music, and ADPCM for sound effects (although only 1 at a time). Finding someone to write an audio track is easy, and there are plenty of free, and license-free tracks available on the interwebs. Doing that whould save you a lot of time and programming energy ... but on-the-other-hand you won't get to learn about PSG audio.
|
|
|
Post by elmer on Dec 4, 2021 18:23:45 GMT
This is missing the biggest issue Gredler and I ran into with Squirrel: No one wanted to write turbografx music in MML. Despite Arkhan's personal devotion to it, that has always been the biggest problem for MML in Western countries. Trackers are far from perfect and, as turboxray said, Deflemask isn't some pinnacle-of-perfection in the tracker world, nor for music production in general. Heck it isn't even particularly bug-free ... but it does seem to be the most-accessible tool that chiptune creators have at the moment, and folks are actually using it to make some really nice sounding music. Practicality trumps perfection, just like the HuC developers have been telling us ASM developers for quite some time!
|
|
|
Post by dshadoff on Dec 4, 2021 19:02:49 GMT
Yeah, this isn't clear at all to me. I'm not a musician, but... isn't MML just another musical notation ?
It *sounds* to me like... "I don't want to learn how to read/write, I just want to talk" when learning a foreign language. So I wonder how many of these people can read/write traditional sheet music ? Or - more importantly - how are their works archived/communicated/published/copyrighted ?
And in the end, I also ask myself, does Deflemask have any way to output MML ?
|
|
|
Post by gredler on Dec 4, 2021 20:12:26 GMT
In my limited experience with both MML and deflemask it's much easier to experiment and noodle my way into something with deflemask because it is a well documented and community supported visual tool that is fairly straightforward.
MML is a way to transcribe sheet music, from my understanding, so I haven't really found as quick and easy ways to trial and error experiment.
My workflow with mml was create instruments and notes in text document and build a rom to hear it, where in deflemask you create instruments and notes then hit play, much faster.
The squirrel documentation suggestes you do the experimental phase in another tracker-like program which can export a midi which you then convert to mml, but I didn't want to spend money on a program and as far as free options I couldn't find a good solution - and even then converting the midi to mml is error prone and time consuming in and of itself and you are still left with the slow iteration time to hear your changes.
To me deflemask, or any modern music creation tool, opens the door to modern musicians who would otherwise not be interested in working on the system. Like photoshop promotion and pixel studio opens the door for artists familiar with those tools, it would be great to do the same for musicians.
And yeah, they made deflemask a paid application, but still far more affordable than fruity loops and other sound authoring tools
|
|
|
Post by spenoza on Dec 4, 2021 20:45:40 GMT
Even though MML is supposedly more common in Japan, even many notable Japanese composers, like Yuzo Koshiro, used trackers as their music creation tool. I think that there are lots of non-musicians developing sound drivers and engines means trackers are a more accessible way to share that music. A non-musician can more quickly make sense of a tracker or tracker output than midi or sheet music. And because games are such an interdisciplinary project, compromises often make better solutions.
|
|
|
Post by turboxray on Dec 4, 2021 21:21:25 GMT
And in the end, I also ask myself, does Deflemask have any way to output MML ? Trackers and MML are just so fundamentally different, that you would lose a lot in the translation from tracker to mml. But the reverse actually isn't as much of an issue. Trackers are different because you 'shape' the sound with parameters.. in real-time (sort of). Where as MML is more synth-y like in that you just setup some assigned envelopes to control how the sound/note is shaped (volume, vibrato, etc). And if you wanted to do stuff like "key off" in MML, you'd have to do it via.. another envelope to track when that key-off happens. Trackers can have envelopes too, but each line in the pattern (after a note has been played), is an opportunity to "shape" that sound by changing parameters related to that channel.. on that pattern line entry. And this is 99% how it is used. In that respect trackers can be more powerful, but also be more complex and less intuitive. Until you get familiar with tracker style. But it is a more technical approach to music.. kinda like the production part of making a song. The underlying structure to both is also different. Trackers have a line entry for every line in a sheet pattern. MML style is more of a "command string" in setup. You give the sound engine a string of commands followed by some terminator - usually a note or a "rest" in which the length is known ahead of time and won't fetch the next command string until that has expired. Trackers don't inherently have note lengths, so notes lengths are tied to the lines in the pattern sheet (i.e. "stop note" appears as a command after X number of lines after it started, etc).
|
|
|
Post by DarkKobold on Dec 4, 2021 21:22:04 GMT
Yeah, this isn't clear at all to me. I'm not a musician, but... isn't MML just another musical notation ? It *sounds* to me like... "I don't want to learn how to read/write, I just want to talk" when learning a foreign language. So I wonder how many of these people can read/write traditional sheet music ? Or - more importantly - how are their works archived/communicated/published/copyrighted ? And in the end, I also ask myself, does Deflemask have any way to output MML ?
No, it's way different than that. Sheet music gives you very clear relationships between notes and timing. All bars of music start together. In MML, it's just a list of notes played. If you miss a quarter note in one track, it will be desynchronized with the rest of the tracks. Deflemask is more like digital sheet music.
It's more akin to having to design your maps in Run-Length encoding. Imagine, for a moment, if instead of visually laying tiles out in Promotion or Mappy, you had to type 0 0 6 to get a row of 8 blank tiles. You'd never get anything done. It'd be impossible to change your maps, because you haven't the slightest clue where you are in the map.
Even the biggest proponent of MML, Arkhan, tells you NOT to write your music in MML. Write it in MIDI, and convert to MML using 3MLE. I've done this with Catastrophy. It's a circle of hell, and I'd rather never do it again. Thank god for HuTrack.
|
|
|
Post by turboxray on Dec 4, 2021 21:29:30 GMT
A non-musician can more quickly make sense of a tracker or tracker output than midi or sheet music. By "non-musician" I'm assuming you mean "not trained to read classical notation". I don't think that excludes them from being a musician, necessarily. I played piano and guitar, but never learn to read classical music notation. But I think for chiptunes, your role of composer is much more than that of a musician.
|
|
|
Post by spenoza on Dec 4, 2021 21:34:57 GMT
Who is and isn’t a musician is largely a semantic argument as the word isn’t a controlled term, so yes, I was referring specifically to people who can read and understand what is colloquially called sheet music.
|
|