Sure, one comparison video coming up: Static vs Morphing
New version 0.75 available: Realfun 3 0.75
New in this version:
– fixed block copy bug
– added option to toggle sub steps display in pattern editor ([ctrl] + [select])
– added “signals” (input with [s] followed by 0-F in tempo column)
In addition I added a voice bank to the disk with 68 SCC voices so far. (press F5 > load voice bank > go to songs directory > load realfun1 > press F4 2x and use the piano keys to test... or RTFM;)
Have fun!
Added a new song to the Realfun 3 playlist: Techno Crash
(and no, it is not a techno song)
Anyone else made a Realfun 3 song yet? Or created some cool instruments? I love to hear it!
Other than that I enabled the ISR sample playback once again (not available in above version) and experimented a bit: Glojim
Playback works but where some samples convert ok, others are quite bad... not sure whether or not I will continue with the implementation... getting good sample is difficult, converting them not guaranteed... I need some more convincing it is worth the effort :).
Super nice track once again!
In the sample expo, some of those samples sound really good! “Ha ha haa”, “Are you ready!” etc. Could really amp up a track (I’m thinking “Daytona USA” ). Even if they are not perfect it could be masked out by the rest of the music.
The most important for a good sound is that the sample has a single tone. I’m sure improvements can be made to the converter to give better results, too. When the automatic pitch detection messes up it tends to produce a warble in the sound, this can probably be improved.
Alternatively, a more stable conversion could be achieved by specifying the pitch up-front rather than automatically through FFT analysis. This should be a viable alternative if the sound lends itself to it, e.g. a synthesised sound.
As an aside, one thing I want to experiment with is to implement FFT on the MSX, so that 32-byte waves can be processed in the frequency domain. Like filter effects and additive synthesis. Another thing I want to try is to do FM synthesis on the SCC. I’ll be sure to share my results with you when I do! If the results are nice it may be something that you might want to integrate.
FM synthesis you can already try out (to some extent) in realfun 3, using the modulate effect .
The trick to it is to define a waveform which is a basic saw tooth starting with 84h and ending at 7Dh (linear increments of 8). This is your base line. e.g. If you use this wave form to modify the sine wave you get as output the sine wave again, note this will compare to total level of 0 (i.e. no modulation to be clear as total level may be inverted in the register...).
To get the FM effect you define a list (macro) where you mix two basic waves and morph from one wave form to the other, to modulate another basic wave, a simple sine wave in case of FM. Let's say wave 1 is our sine then the list could be like this:
1..| M1- 2..| M1- 3..| M1- 4..| M1- 5..| M1- etc.
(where M=modulate effect and the number is the increasing mix level)
If you now create for example a double sine as basic wave 2 and use basic wave 0 as our base line, you can put in them test field as 002, or in the pattern editor 002 (where you morph the wave from wave form 2 to 0 and modulate the sine wave 1 with list number 0).
I played around a bit and it is possible to get some nice and interesting tones out of it, not required to use a sine also. It is not perfect and with limited control (and list length ). And there are also some other limits to keep in mind as one quickly can get that typical rattling byproduct on the sound. Perhaps this sound quality could be improved with more accuracy in the wave morphing part (slower/smoother transitions with more intermediate steps).
Also using high "multipliers" on the "operators" will not work very well because of the small horizontal resolution of the SCC wave form (only 32 bytes). (That is why I did not implement multiplier above 7 in Realfun 3).
Anyway, I am curious how the FM synthesis will turn out indeed.
The FM synthesis itself is basically just a waveform construction method. Only if you modify the parameters that are input does the resulting waveform change. Because the power of the positive and negative side of the modulator sine is equal it will always result in a full cycle. So there’s no evolving waveform for this part.
The parameters are then controlled by an envelope generator or macro, resulting in a progression of waveforms. The proof in the pudding would be to play back an OPL or OPN song on SCC and see how it sounds.
Interesting to read how to get a similar effect in Realfun 3, although I don’t fully understand how the modulation works. Can you elaborate on that, or link to a description previously written?
I think the appeal for a waveform generator based on FM synthesis could be to offer musicians somewhat more familiar synthesis methods to construct SCC waveforms, which is traditionally limited to drawing in wave shapes manually or ripping waves from Konami games.
Drawing wave shapes manually is problematic from my point of view because in the time domain it is difficult to get musically meaningful results outside the simple square-sine-saw-triangle waveforms. And it’s practically impossible to modulate the waveforms like that.
Even I do not know half what is possible in Realfun 3
The modulate effect translates the 32 amplitude values (ranging -128 to 127) from the 'modulator' wave into an offset 0-31 which is used to pick the new amplitude value (out of the 32) from the 'carrier' wave.
So the base line is the linear saw tooth wave form I mentioned, when you deviate from this line you start modulating the carrier.
One limiting factor is with that is that it can not go +/- over the full range, in the beginning of the modulator wave you can go only plus and near the end only minus, because it is not possible the create overflow and have a wrap around on the amplitude... perhaps I should include a simple add wave effect... hmmm
And now (inspired by Grauw) Realfun 3 goes FM ... well not really. It is still the plain old SCC doing all the hard work, however, the wave forms can now also be generated doing a form of fm syntheses with the a new modulator effect (mode 2) similar to 2-op FM.
I just started testing / trying out this new feature, but got so excited along the way I could not stop and composed a whole song: Lets_modulate_some_sine_waves
The first real new song in a long while... not too shabby right?
Next I dove into my old archive looking for a simple 2-op fm song I could try to cover in Realfun 3. Using this new modulator mode functionality it should be possible in theory to create similar fm instruments on SCC, so I gave it a try: Inca_zone
I created the instruments simply by looking at the original fm instrument properties (e.g. multipliers and ADSR settings) and "program" that in a wave effect list marco. Which is a bit of a tedious job, but you know what, it kind of works :)
Enjoy!
impressive as usual
That’s super cool! Even bell sounds. Do you think it’s easy to use? Requiring less experimenting to find sounds than the original modulation method, as you had mentioned earlier I believe?
The synthesis of the SCC is great, its core function is simple, but the programmable waveform basically allows it to do so many different things from FM to samples, at modest CPU cost.