By SlithyMattThis is simply a single-octave piano that lets you select up to 4 waveforms to play simultaneously at the same frequency, at any chromatic note in the octave starting at Middle C.
All controls are illustrated on the screen, with the number keys acting as toggles. Waveforms highlighted red will be played at full volume for any note.
Code is available in the Lesson13 subdirectory of this GitHub repo: https://github.com/SlithyMatt/x16-assembly-tutorial
You can see a demo of this program (along with a lesson on how use the VERA PSG with assembly language) on YouTube:
If you are a member of my Patreon community (https://www.patreon.com/slithymatt) , you'll also have exclusive access to a video in which I give a complete code walkthrough for this Piano program.
By m00dawgI've since removed the external file dependencies for building the UI which means folks can finally try Command Tracker out more directly in the emulator. A very basic song exists to start. There is no loading and saving yet and, as noted in the dev log on the forums, it's buggy and, as of yet, no real sound engine (rather a very very basic one) but it does work and demonstrates what I'm trying to work towards in a full featured tracker. It is modeled loosely after Impulse Tracker on PC.
By kliepatschIf you have problems with the audio quality in the "Try it now", download and run in the offline emulator with the command line option "-abufs 12" or more.
The CONCERTO synthesizer is what I intend to be the sound generating side of a music making software for the Commander X16. It uses the 16 voices of the PSG and aims to get the very maximum out of them. It is not quite there yet but has a lot of strengths already. The main features:
32 synth patches 16 monophonic channels, each playing a dynamically assigned synth patch up to 6 oscillators per voice up to 3 envelopes and 1 LFO per voice pitch, volume and pulse width modulation volume control per voice ("velocity") save and load presets (currently 1 slot - yee!) Features that are planned (for the sound engine):
wavetables (à la MSSIAH) pitch bend dynamically assignable modulation (e.g. for influencing vibrato depth while playback) snappier envelope option somehow include the YM2151 multi step envelope generator (MSEG) I wanted to put this out here so that people can work with it, even though it is still far from finished. The reason is simple: I don't know if I will finish it and even if yes, I don't know when.
What can you do with it right now?
You can use the sound engine independently from the GUI, e.g. for playing music and/or sound effects in your game. You need to provide your own player at the moment, but the sounds are ready to be used by it.
You could also use the GUI and reprogram it to do something completely different, i.e. use it as a template for your own application.
For more information, look into the README and the source files and/or send me a PM.
If you find bugs, please let me know, or post an issue on GitHub.
By DusanStraklI wrote a library to enable BASIC programs play music in the background.
It is compatible with Simplest Effects Sound library I released a while ago.
To demo the library I included two BASIC programs:
PLAY.BAS - Playing Twinkle Twinkle Little Star - it demonstrates the BASIC program doing other stuff including calling simple Effects
HOUSE.BAS - Playing House of the Rising Sun - it demonstrates a bit more complex music
Full Tutorial and source code is available from my blog:
By kliepatschI wanted to explore the possibilities with the PCM output. This tiny synth generates a sweet tone from three sine waves, coated in a thin shiny silver layer of aliasing. To spice it up, I also added a delay effect. You can play it with your keyboard. Use Z and X to switch octaves.
I do not plan to follow this route any further, because the possibilities are quite limited with the X16. I am sure one could do better than I did, but the X16 doesn't have enough power to provide a whole lot of flexibility in the sound generation (at least with PCM).
Find the source here: https://github.com/biermanncarl/cx16-tiny-pcmsynth
Feel free to reuse the code for your own projects!
By SlithyMattA waveform-generation instrument for the X16. Uses 4 channels of the Programmable Sound Generator (PSG).
Follow development on GitHub: https://github.com/SlithyMatt/x16-makewave
As seen on YouTube:
By Miklós Pathysynthuiym2151.prgA simple user interface for the YM2151 synth.
Use the keys as any tracker to play.
Use the sliders an buttons with the mouse to adjust synth params.
By Joshua BairCommander X16 Midi Player v1.5
Usage: LOAD "x16player.prg"
ENTER MIDI FILENAME:
Midi file must be located in the same folder as the x16emu.exe emulator.
Channel Volumes Midi Notes Bass Guitar Fretboard +) Next Channel (Bass Only)
-) Previous Channel (Bass Only)
ESC RUN/STOP) Exit Player
Not all MIDI events are supported. (Pitch bend, etc.)