They do have a MOD to custom format converter, it does the resample and applying of all volumes, creating all sample data automatically. The trick is to compose the song within the MOD container, as it is really, really limited. Remember, 15-31 instruments, all patterns are 64 rows long. There is no priority system in use, i.e. the MOD had to be actually composed as 1-channel.
126 2022-08-08 23:39:05
Re: Area 5150 MS-DOS 8088 demo and a single channel PCM engine (4 replies, posted in Other Platforms)
127 2022-08-08 12:12:56
Topic: Area 5150 MS-DOS 8088 demo and a single channel PCM engine (4 replies, posted in Other Platforms)
My PC Speaker music has been featured in the amazing Area 5150 demo. It is the usual 120 Hz stuff made with PCSPE that plays during the main part.
The credits scene, however, features a single channel PCM-based engine by Andrew, with music by cTrix. I think this is the fascinating one. I don't know all details, but: runs at 15 kHz, 60 Hz update rate, no mixing at all, no resampling either - all notes has to be sampled on all required pitches, and all of the sample data should fit a 64K segment. The guys asked me to try to do a song for it as a backup plan, just in case, so I messed around with it a bit, but it turned out to be quite difficult to do using the MOD to custom format converter.
I think this is an interesting concept to be explored in our Z80 realm, too. Not necessarily 'no resampling' scheme, though, but I think the PeskyTone/PeskySound engine's priority system that I already have implemented in 1tracker could be used to this purpose to make composing for such engine move convenient.
128 2022-06-07 18:20:18
Re: Seeking free resources for use in simple open-source game (5 replies, posted in General Discussion)
The whole thing about XM format is that it is just a convenient enough container that is easy to parse and convert into any custom format with strict channel management, and it allows to approximate the resulting sound while composing to some extent. So it is a easy way to set up a rudimentary but working tool chain to compose music for a custom sound system before taking a long mile of making custom trackers and stuff like that. Other than that, original purpose of the XM format is irrelevant here, i.e. it is not about playing actual XM files made to be played with regular XM players.
The same could be done with MIDI, but it is just way less convenient. The MIDI format is more difficult to parse, it does not feature a pattern format (which is the go to memory saving technique), the channel management is not strict, as each MIDI channel is polyphonic, and it takes more effort to make the composing tool to produce some sound that would be similar to the end result, to hear the approximation of the end result before finishing the song.
The sound approximation is important for chiptune musicians, as they rely on the tiniest details of their music arrangements to make it sound as impressive as possible within given limitations. Something as basic as a single channel rendition of Ragtime does not really need this.
You task in general looks much like something that creators of a simplistic Arduino sound routine would do - they're usually making a converter from a single voice MIDI into their custom sound format. So maybe google for articles on this, and you may find some converter code that would be relatively easy to adapt for your purpose.
129 2022-05-18 07:55:24
Re: MuzCell aka Yacheika Muzikalnogo Sinteza - an obscure sound card (9 replies, posted in Other Platforms)
Another update, v1.02 now, lots of minor improvements on the usability and stuff. Major improvement is the VGA 80x50 text mode support (DOS and SDL), makes a lot more to be seen on the screen.
130 2022-05-17 03:01:35
Re: 1tracker v0.47 (166 replies, posted in Sinclair)
So the tempo issue in the ESEX seems to boil down to just line 1340, replace it with
wait_acc-=drum_frames*4;
Tempo seems to be stable now.
I also changed the front end logic to use default engine speed on engine change by F7. Preparing a minor update, just need to figure out that keyboard thing.
131 2022-05-17 01:06:41
Re: 1tracker v0.47 (166 replies, posted in Sinclair)
Thanks for the report! Not sure how to figure it out all, though. Something went wrong at many places it seems.
- Sample import does work for me.
- The problem is that when you start with some engine and switch to Ear Shaver EX with F7 without doing Zap afterwards, the global speed remains as it has been set for the previous engine, and it is usually too low to give the imported sample any chance to play. The default speed for Ear Shaver EX is 40 indeed, that's how it is intended - to provide a fine control over the tempo.
- The tempo compensation does seem a bit off to me too. It sounded fine in my test patterns, but I made a specific test that was now easier to check with the WAV export, and yes, it varies depending on the sample length. Thought it was all sorted out, but yeah, needs a fix up.
- Global speed works for me.
- No, I don't know how to handle the qwertz keyboard properly in SDL, the issue with the file paths is a different one. I have a vague idea I need to handle these keys via SDL_SCANCODE rather than the ASCII code. For now the input control just accepts all ASCII codes, but it seems it omits these symbols in the qwertz mode.
132 2022-05-15 02:49:17
Re: MuzCell aka Yacheika Muzikalnogo Sinteza - an obscure sound card (9 replies, posted in Other Platforms)
Fixed some minor and not so minor things there, the download link is the same.
One of issues was a bug in the percussion emulation that made the 'cut' settings to not work properly. Another one was the usual thing with non-latin characters in the file paths. Finally got this figured out how to deal with it within SDL and a multiplatform app, so it'll be fixed in 1tracker too.
133 2022-05-12 21:10:04
Re: MuzCell aka Yacheika Muzikalnogo Sinteza - an obscure sound card (9 replies, posted in Other Platforms)
The tracker is here, along with software emulation of the device, so now we can have some fun with it.
134 2022-05-05 14:25:01
Re: MuzCell aka Yacheika Muzikalnogo Sinteza - an obscure sound card (9 replies, posted in Other Platforms)
Prepared a more informed overview of the cards capabilities.
135 2022-05-05 02:26:56
Re: MuzCell aka Yacheika Muzikalnogo Sinteza - an obscure sound card (9 replies, posted in Other Platforms)
The tracker that is called YACH*PMS (was a joke working title, kept it because I'm lazy yet want to be fancy) for the actual card is now finished. At least it got all features I wanted to put into it. The next things to do is to write some docs, release the DOS version, then work on improving the emulation to make it similar to the real deal, then release the SDL version. Emulation is kinda tricky, as the thing is really got some analog weirdness in it, even though the sound sources all digital.
I also need to sort out some issues with the hardware, the card is missing channel #3 altogether (maybe something with the analog part), the hat section is overly loud (easy to fix with a resistor change), and it bleeds noise from the hat section all the time (curiously, the resistor change does not affect this bleed).
136 2022-04-25 00:58:09
Re: 1tracker v0.47 (166 replies, posted in Sinclair)
Very good points. Yeah, indeed, an external third party cross assembler does not solve the problem in a long run, and I really don't like to go to licenses other than WTFPL/CC0/CC-BY for my open projects (the MuzCell tracker uses a GPL 8253 core, thinking to replace it with my own basic implementation before release to avoid GPL'ing the whole thing). Custom multi-target assembler implemented on the front-end side and an ability to still use the script-implemented assemblers at will (how it works now) is probably the best way to go.
I agree, a new approach to the tracking is one of key features of the 1tracker, not adopted anywhere else at the moment, but ultimately proven to be viable, so better to stick to it. The CALL idea I think is another key element that may make the concept even more solid.
Either way, it is possible both to implement patterns in the front-end without reworking the engines (just dumping the song as one single pattern), and to implement order-less front-end that will cut the song into patterns for a pattern-based player. Some engines in 1tracker actually cutting the song into small patterns (Huby), and I kept the order list support intact in most of your engines too, just dumping the song into a single long pattern.
137 2022-04-24 22:21:43
Re: 1tracker v0.47 (166 replies, posted in Sinclair)
A small write up on the projects ten year anniversary. Yes, it was that long.
138 2022-04-21 20:37:36
Re: MuzCell aka Yacheika Muzikalnogo Sinteza - an obscure sound card (9 replies, posted in Other Platforms)
Thanks! The tracker is getting along, the main editing features are all there (no instrument editor yet), player architecture is coming together, it just started to make some sounds via crude emulation. Once I'll get the basics to work via SDL build and DosBox emulation, I'll move to the real thing on a MS-DOS rig to explore the actual sound possibilities.
At the moment I'm thinking to just drive all the control bits with software envelopes to begin with, to get most flexibility, then experiment with instruments, and maybe remove envelopes that aren't much useful.
139 2022-04-16 12:50:37
Re: 1-bit on the Vtech Laser210/310 and VZ200/VZ300 Z80 computers. (42 replies, posted in Other Platforms)
Nice! More platforms to the 1-bit love. Having a simple tracker of sorts there would be nice, perhaps?
I can hear that Phaser1 tunes are missing the drums, is this part of the code wasn't ported?
140 2022-04-16 12:25:44
Topic: MuzCell aka Yacheika Muzikalnogo Sinteza - an obscure sound card (9 replies, posted in Other Platforms)
My current strong obsession is this piece of obscurity - a late USSR (1990-91) designed sound card for a Soviet Apple II+ clone called Agat-9.
It was virtually unknown to the public until five years back, when it resurfaced. Enthusiasts restored the schematics and made a modern replica of it using the authentic parts, but as Agat-9 in itself is a major obscurity, it didn't catch much attention. A very recently a guy called Tronix286 made another replica that keeps the sound synthesis part intact, but adds a regular ISA-8 bus, so now it can be plugged into any ISA-enabled old IBM PC compatible, which is way easier to get access to.
What is so interesting there? It is kind of a blend between basic 1-bit synthesis and analog sound processing. It uses a couple of the good old i8253 as square wave generators (5 channels originally, 6 for ISA version). Then the signal goes into a very basic, but analog nevertheless, amplitude shaper (can do very crude decay), and a set of passive register-controlled LP/HP filters, then it also gets into a phase inverter to get pseudo stereo output. It also equipped with crude but kinda analog bass/tom synth and a hat synth. Bizarre combo to say the least.
The resulting sound is pretty unique. It is kinda between SID and OPLL to my ear.
So I got very interested in this, got one from Tronix286 himself (huge thanks!), and is currently working on a MS-DOS (and Windows/Linux SDL fork) tracker for the beast. There is no emulation at the moment, but of course I will work on it, too. I'm posting about the progress at my Patreon and Twitter accounts, and when a runnable demo will be available, will post about it here, too.
An old sound demo from ~1991
The ISA replica related stuff in English
141 2022-04-13 06:01:52
Re: Video about 1-bit sound in Apple Lisa (12 replies, posted in Other Platforms)
I guess with M68K and 6522 we can actually set the shift register to the highest shift frequency possible, hook up an IRQ fired when it gets empty, and generate bit stream for a few channels at once not in a timed loop, like we usually do, but for a few iterations ahead. So we'd have the traditional sounding beeper music that will still leave some time for other code to run.
Another idea is to have the same single voice music as I did on the PET, but modulate the volume with a timer driven rapid changes, like, triangle/saw/pulse, much among the lines of the AY-3-8910 envelope abuse. This approach won't bring the polyphony, but very complex timbres instead.
Either way, a good quality sound emulation is needed to be able to tackle the thing. I'm afraid I haven't seen an actual Lisa at any computer museum here, let alone someone's personal possession. It is even biggest challenge than the PET in this regard.
142 2022-04-13 03:59:44
Re: 1tracker v0.47 (166 replies, posted in Sinclair)
Yeah, can't see anything special there.
AngelScript's error messages can be kinda irritating at times, especially the 'out of bounds' ones for arrays. Like, no mention which array access caused it, so go make a guess if it happens (quite often).
143 2022-04-12 17:36:44
Re: 1tracker v0.47 (166 replies, posted in Sinclair)
PeskySoundZX script is probably one of the most complex ones. Have no idea what could be wrong with it, works for me under Windows, at least. Maybe try to disable JIT via the cfg file?
144 2022-04-12 09:40:15
Re: 1tracker v0.47 (166 replies, posted in Sinclair)
Yeah, and there is not enough personal time to those who are still up to make music. I myself have a mile long list of plans for music releases, albums and such (beeper, chiptune, synth, and so on), and some are waiting there for a decade by now. Making software is kinda less time consuming than making music to me, because at least I know the exact goals to achieve. With music it takes lots of experiments and sketches, and involves getting into a specific mood.
Actually that's one of reasons why I'm always returning to improve the software and to inventing more engines - I'm seeking the ways to balance out the amount of routine and creative effort needed to make music. 1-bit stuff is very appealing in this regard, because you have only so many sound possibilities within a particular engine, and it gets more about music than about fine tuning every single knob on a synth of 1000 knobs.
145 2022-04-12 07:37:22
Re: Video about 1-bit sound in Apple Lisa (12 replies, posted in Other Platforms)
Greetings, kewatsdop!
Wow, just started to watch the video before seeing this post. Very interesting, hopefully will find time to give it a go. My list of obscure computer hardware to pay some love and get some sound of it grown a lot lately, though. Wish the days were 128 hours long.
146 2022-04-12 05:39:27
Re: 1tracker v0.47 (166 replies, posted in Sinclair)
v0.4 is here!
In general it was expanded a bit to adopt the numerous sample-driven engines. Script API updated, but it is a bit incompatible with the previous one. A capability to save files from script has been included, as well as capability to have a few different file dialogs within a script.
Envelope and text input editors has been improved. Now they're allow to edit envelopes and strings that are wider than the screen, and there are extra controls and visuals for more convenient navigation.
A built-in engine docs viewer in the Info tab (F6). Audio file export (Ctrl+F8).
WAV file import script updated to support files with extra info chunks (like ProTools exported, lots of garbage in these).
Ear Shaver and wtbeep engines has been updated. Ear Shaver EX, qaop, yawp, PhaserX, rawp, fluidcore, PeskySoundZX, Archie engines has been added.
147 2022-04-12 05:34:07
Re: Faulty Robots - Commodore PET music album (13 replies, posted in Other Platforms)
Took a while, but I implemented the above as PeskySoundZX engine for 1tracker. The downside is that music data pretty large compared to the 6502 original engine, but it is not too bad, and the sound is all clean.
148 2022-04-12 05:32:34
Re: new engine: Archie (4 replies, posted in Sinclair)
Got it supported in 1tracker. Sounds very clean and nice, indeed, which is pretty impressive for a 5 channel engine.
149 2022-04-12 05:31:27
Re: new engine: fluidcore (4 replies, posted in Sinclair)
This pokemon has been caught into 1trackerball.
150 2022-04-12 05:30:02
Re: new engine: PhaserX (5 replies, posted in Sinclair)
Got it supported in 1tracker, too. Paired channels in this one and some other newer engines does not seem to be a major trouble for the interface, and turned to be convenient enough to use.