This definitely deserves a medal for kickass-ness. Would love to hear some more insight into the making of, David.
Also, not sure if intentional, but this made my day:
approximately three octaves of approximately notes
You are not logged in. Please login or register.
The 1-Bit Forum → Posts by utz
This definitely deserves a medal for kickass-ness. Would love to hear some more insight into the making of, David.
Also, not sure if intentional, but this made my day:
approximately three octaves of approximately notes
Thanks for sharing that tool!
Softsynths on the Apple 2 actually predate softsynths on both Spectrum and IBM PC! Lo and behold, the mighty Electric Duet:
https://arachnoid.com/electric_duet/
I thought I was the first to do it on a 1MHz 6502 on the PET!
Unfortunately not: https://www.pouet.net/prod.php?which=87465 https://github.com/AYCEdemo/pettan
You're definitely the first to make a proper native tracker for the thing though!
For curiosity, I've dumped my old engines here: http://irrlichtproject.de/downloads/a2snd.zip No guarantees whatsoever, I haven't looked at this code for years and I have no memories of how functional/complete it actually is.
Halleluja! That's a fantastic upgrade. Joffa Smith would be proud if he could hear this.
Interesting, sounds like the engine uses a combination of PCM samples and synth.
That reminds me, I actually have a couple of unreleased Apple II engines laying around! Never released them because I could never work out a way of building disk images that don't involve adding some proprietary blobs, but I think things have been moving in that domain in recent years. So I should get those out some day... Nothing fancy, just boring standard stuff, though.
Wow, considering all the caveats, this is actually a very convincing rendition. I suspect this is about as close as you can get without cheating by streaming the original pulse sequence or something. Thanks for sharing, and thanks for sharing the source!
I suspect Follin simply did everything by ear.
That is correct, and confirmed by the man himself, iirc.
Ahh, then I'd have to reverse-engineer that... I'll see if I can whip up some example tune, at least. Though it shouldn't be too difficult.
A few pointers:
- The first pair of channels can be combined into a Phaser channel. For this, set mix mode (M) to 2, and use for example the same note on both channels, applying a few cents of detune (d) on one of them. If M is set to 1, then these channels work like in Squat&friends.
- The last 3 channels are pin pulse with volume control, with accumulative pin pulse synthesis like in OctodeXL. Use the volume command (Vo) liberally on these. Generally you want to keep volumes in the low single digits, to prevent overloading.
- On channels 1+2, the duty setting (Du) is actually semi-independent of phasing, so if you set the duty to a low single digit you can fake some volume control on the phaser, for example.
Made 1tracker support for pindsvin. I cannot for the love of **** get the PWM import to work properly though. It imports... something, but the data is incorrect.
Another question that one could ask here is: What happens if you make the vibrato run at a rate that is faster or (especially) a multiple of the base tone frequency? In theory that should give us some sort of 1-bit FM sound, though in practise I never got it to work very well.
Perhaps one could get away without calculating the full vibrato in this case, since it only matters around the points where the output flips. Say your wave is
--------________--------________
then I'd expect the effective result of applying a hyper-fast vibrato would be something like
------_-_-____-_-_----_-_-______
Excellent idea. I've been playing around with something similar that will update fx every row, or every n rows. The whole thing can be made more flexible by pointing sp to a jump table and then RETurning at the end of each sound loop iteration. So, the possibilites are basically endless. One could basically implement the whole set of Protracker fx, aside from stereo stuff. However, the problem is of course that it requires ever more sophisticated converters, not least once one starts to think about how to keep the data size down.
Btw, one little trick I discovered - if you "unroll" the synth part often enough, you can get away with using 8-bit row length, thus saving one register.
Excellent release. Amazing to hear the Tuftmeister™ style applied to such a wide range of genres.
Better than the original chrchrchr
Cheers MovieMovies1, it was fun working with you on this
I think the .exe you posted dynamically links msvcrt.dll, which may not be present on systems without Visual Studio installed. I've attached a stand-alone version below that shouldn't require any additional .dlls.
Thanks for figuring stuff out! I should get some sleep, but here's one last quick attempt before I do that.
D'oh! Screwed it up again if I'm not mistaken. Ctrl+F "0.25", change to "0.125", if you wanna compile yourself, otherwise I'll upload a new binary tomorrow.
Whoops, actually paying attention while compiling may help lol
Edit: Added the upgraded E5x support, as discussed. Pls let me know if it works as intended.
Ah yes, of course. I was completely fixated on non-standard tunings somehow. I suppose overall pitch could be made configurable through a command line switch.
Edit: Variable pitch implemented. xm2tritone now takes a value for the CPU speed as an optional second argument after the filename.
Multimatograf will have a beeper compo again this year.
https://events.retroscene.org/mf2025
Deadline is May 2nd, 12:00 local time.
Hmm, having a range of -1 - +⅞ semitune would make sense from a "least surprise" pov, I guess. Otoh we could have twice the resolution if we do half of that range, since with the former setup, ranges actually overlap. Then again I'm not entirely sure it's even possible to represent that with 16-bit frequency resolution. Hmm... I'll work something out and then you can test to see what works best for you.
As far as custom tuning goes, that'd be a bit more involved, so I'd rather pass on that for now, even though I would very much like to have that available myself. Bintracker will eventually support that kind of thing, hopefully.
I think I could hack something like it into the converter. What exactly should those 15 steps in E5x represent, though? E58 is no detune of course and then I guess E50 should represent -¼ tone and E5F should represent +¼ tone. I don't like the idea of having a lookup for this, so I'd prefer to have a formula in the form of
freq = freq_base + (E5x_param - 8) * something_something
Wooo MovieMovies1, long time no see! Fantastisk track, still rocking the beeper like a boss, I see
Hi, after playing around with Archie in 1tracker a bit, I decided to modify the engine plugin a little to better suit my needs. Sharing the modded engine here in case someone else will find it useful.
The changes are:
- Applies half as much detune. x*2 detunes too much on an engine with 12-bit dividers, imo.
- Phase offsets are now log(x)-based. This is useful because it mirrors the relation between phase offset and volume, ie. we're mostly interested in values close to phase inversion.
Hi, FrankT pops in here once in a while, but not very often. I sent him a message, but I'm not sure I have his recent contacts. Otherwise, he also hangs out on https://spectrumcomputing.co.uk/forums/ every now and then.
My apologies Shiru, I'm super pressed on time rn so haven't had the chance to test these. Just judging from Tufty's test track (also heard it without EQ) though, QC24 at least sounds amazing. I think absolutely nailed the volume balance between tones and drums this time.
So Lee gave you only 900 bytes, but then had room for a speech sample scratches head. Well done though, mate
Team Qchan represent! Also still one of my favourite engines. Those envelopes are magic.
Also classic Tufty style at it's finest.
Oh yeah! This one goes deep.
The 1-Bit Forum → Posts by utz
Powered by PunBB, supported by Informer Technologies, Inc.