A cool new PET development that is not mine!
https://www.youtube.com/watch?v=iqWJeM2MKt4
http://cowlark.com/ptracker/
You are not logged in. Please login or register.
The 1-Bit Forum → Posts by Shiru
A cool new PET development that is not mine!
https://www.youtube.com/watch?v=iqWJeM2MKt4
http://cowlark.com/ptracker/
It is not too late to downgrade the sample rate back, or I can add an option. I also thought to hook up the Ear Shaver EX sample drums code, but decided it makes the engines much similar. So I attempted to tweak up the existing code, thinking that a higher sample rate would allow for better hi-hat sounds.
About time to update the old boring BuzzKick with new exciting features!
- Envelope attack/decay modes
- Direct volume control
- Vibrato/modulation
- Portamento to note
- Doubled sample rate for drums
- Lots of detuning
- 1tracker support
Was searching for Apple II beeper music examples, and found this one. Sounds very fun!
It is not a music engine yet, just the sound part, so it can't do tunes at the moment. Maybe I'll get it further, then it may become a music engine indeed. Guess I should do it anyways, because it is an interesting experiment, even though it likely won't be used.
Decided to mess up with the Plip Plop alike single voice classic engines, examine the code, and maybe think up some new ideas. This is a fork of this activity. I decided to try to make a single voice Phaser1, but with a couple new features:
- Pitch represented linearly in cents
- Synthesis code interleaved with logic
What this basically gives is a possibility to seamless linear slides and vibrato that runs inside the rows rather than per frame or per row. Also easy arpeggios that can slide between notes.
It is not a complete engine, just demo code. It basically capable to what the Plip Plop synth is capable of, plus clean vibrato that can be applied to one or both oscillators.
It is easy to change pitch, the converter calculates frequency table in runtime, deriving it from 3500000 Hz clock frequency. This value is valid for russian clones, but obviously a bit off for original 48K or 128K models. The problem is that Tritone was made so long back, so its XM converter was in C, and it takes a recompile to change that. Later engines had a Python converter that is easier to modify.
Good, will include it into a next release.
An interesting approach to the same problem with whole different tools and mindset:
https://habr.com/ru/companies/timeweb/articles/835798/
The article is in Russian only, and I can't get Google Translate to pick it up by some reason, but many example sounds are there.
Actually second version is already here, along with minor fixes for the first one.
So, here is two flavors of the engine: QChan24 and QChan25. The difference is that it has 4 or 5 channels. The sound generation algorithm is the same, but the implementation is quite different. QChan25 obviously has a bit lower sound quality and takes even more memory to store song data.
Will include it into the 1tracker package after some testing.
Fresh and hot, just finished the first fully working version. Not tested properly, tho!
- Per note envelopes, attack/decay/sustain types
- Per note volume, detune, legato mode
- Slide up/down for ch1
- Digital drums from Ear Shaver EX
The downside is much larger data format.
Not done with it yet, another flavor of the engine is cooking.
QChan is a tough engine to master with its weak low end, and AtariTufty certainly is the black belt master.
I really like how this single-pin approach in QChan managed to maintain many of the Follin's multi-pin qualities without the vacuum cleaner background drone, it was a happy accident rather than a conscious design back then.
Maybe it is time to give it some small update, tho? Sampled drums perhaps?
Normally intro speech samples located in the temp game buffers (like, off-screen buffer), so it is an one-off deal, while the music plays every time in the main menu.
Another compo is nearing: Quantum Oscillation Party
This is a weird one, but may be a nice fit for the beeper: noise art. Includes an oldschool computer noise music, which is music made of noises. Seems to be a good case for the noise channels in our beeper engines, if you're in the experimental mood.
Three sample channels is a good thing, but I think we need to intermix simple timbres such as the regular square wave or pin-tone with samples of a long duration that lasts for a few rows - drum pieces, some instruments. The problem is that to get a clean square wave it either needs to be encoded for a long length (maybe a pattern even), or some kind of sample looping considered, which is cycle-expensive.
I was thinking about a Sqeeker-type engine with two pitchable non-interrupting sample channels. At least a couple tone channels wouldn't hurt, and the pitchable samples that can tune in to proper notes should open up a whole new lot of possibilities.
Great work everyone! Congrats to utz! The sampled sounds are so clean and punchy in this one.
No voting results yet, but it is sure a win in the engine diversity category this time. Like, each of the six entries used a different engine, including some of the lesser used. Neat!
I'm in. Got some older stuff finished for ya.
Actually, a bigger update. All plugins were cleaned up and updated. The output levels normalized between all plugins (were all over the place), all synths got the modulation setting (depth, speed), some got extra velocity or modulation targets.
Legacy code is dropped out, so a bit of incompatibility with the older versions got introduced, so use old builds for older projects.
A small update:
- sweepsynth got wrap around options and expanded sweep speed range
- pulsesynth got a few extra oscillator mixing options, much similar to Phaser4
Heh, the more fun is that Sol-20 Music System has been 'borrowed' for the RK86 back in 1988, and published as a hex dump in a paper magazine. It is even still called Music System (MS 3.2).
I expected the challenge to be the flexible channel layouts and PWM drums, but in fact yeah, I forgot I already handled such configurations. However, there is a less expected issue, both ulasyn and phaserF use a macro to calculate their filter tables. My assembler is certainly not up to parse that, so I guess, I'll have to offload table generation into the engine script. Anyways, seems to be doable.
Oh my, I actually never thought it could be done this way, via in/out. Never looked up ZX81 either, as I expected it to be just a regular output register.
So I guess they're connected tape output just to the IOWR, because it is the only writable I/O port, and thus saved a trigger/register. And when extra devices with writable ports added, you'll get a buzz on the tape output when they're accessed.
Another weird method of controlling a speaker is found in the 8080-based Soviet DIY computer RK86. It lacks any interrupts whatsoever, so EI/DI control the speaker.
Still, it is very impressive. I wouldn't say the sound quality is any bad, we've had worse, and it is certainly on a new level.
This one feels to be tough to make into 1tracker, but anyways, I'll try.
The 1-Bit Forum → Posts by Shiru
Powered by PunBB, supported by Informer Technologies, Inc.