sammichFM drums problem
Posted 13 December 2011 - 12:43
I love the massive amount of sounds and effects you can get out of this little box, the random function alone will keep me busy for a life time. Top marks to the crew again (you know who you are ;-), of course, for such a fantastic achievement.
The MBFM user manual state that the only way to change the snare drum frequency is to change the multiplier. Actually, changing the multiplier has no effect on the pitch of the snare at all. (for reference, changing the multiplier for BD and TOM both have the desired effect).
Strangely, changing the multiplier for Open HH does change the pitch of the snare (change the snare waveform to a full or half sine to get a note+noise instead of just noise) as long as only the snare is being played (no other drums). However, as soon as you play Closed HH, the snare drum pitch reverts to its original pitch :S. Even more strangely, changing the Closed HH multiplier also changes the pitch of the snare.
This means that if you set the multipliers for Open HH and Closed HH differently (for different pitches), whichever HH you play preceding a snare, that will set the pitch of the subsequent snare... does that make any sense at all?
Maybe this is easier to understand:
Try setting Closed HH multiplier to 4 and Open HH multiplier to 8 for example. Then play SD, then CHH, then SD, then OHH, then SD and you will see what I mean.
Also, changing either the CHH or OHH multiplier also affects the Cymbal pitch. Changing the CYM multiplier also changes the Cymbal pitch as expected.
Similarly, go to the FREQ menu and change the HH frequency - it affects both the SD and HH pitch - I think it should only affect the HH according to the instructions!?
Changing the Tom frequency affects the pitch of the cymbal, tom, open HH *and* closed HH. The user manual does state that it is impossible to have independent frequency settings for HiHat/Tom/Cymbal due to a design quirk of the OPL3 chip. This I understand - but why then are there separate frequency settings, one for HH and one for Tom? Changing the Tom's Freq and Decr setting affects all CYM, TOM, OHH and CHH whereas changing the HH Freq and Decr settings only affect OHH, CHH and CYM.
Lastly, changing the HH Decr setting above 0 makes the snare pitch descend until it is silent and the only way to get snare sound back is to change HH Decr back to 0.
Is this actually by design or is it a fault with either my components or soldering or is it a firmware bug? If it is by design, it seems that it is a little counter intuitive even though you can get some *very* cool, mixed up drum sounds. I suppose I am just a little frustrated that I can't change the SD pitch independently from the pitch of the HH and BD.
I'm hoping someone else with a sammichFM (or a full blown MBFM!) can confirm my findings. I mentioned this to nILS on IRC and he briefly mentioned that he seemed to think it was by design....
Posted 13 December 2011 - 20:54
Edited by nILS, 13 December 2011 - 22:13.
Certainly. And I also fixed the case. It's sammichFM and sammichSID, you guys ;-)
Posted 27 December 2011 - 05:08
The separate percussion channel provides: 2-OP Bass Drum 1-OP Snare 1-OP Tom 1-OP HiHat (open and closed) 1-OP Cymbal Adjustable frequencies (BD: independent, Tom/HiHat/Cymbal: coupled) separate keyboard zones for each drum
I don't think it is by design of the midibox team, I am guessing it is one of the quirks of the opl3 chip!
Posted 28 December 2011 - 15:51
As you say, the design page omits SD from "Adjustable frequencies (BD: independent, Tom/HiHat/Cymbal: coupled)" hinting that SD frequency/pitch is not adjustable at all. Clearly the SD frequency is adjustable, just not in a way that makes sense. Changing the TOM FREQ doesn't affect SD pitch whereas changing HH FREQ does!? It seems the coupling/crossover control is not as simple as just one parameter for all of Tom/HH/Cym.
Checking the OPL3 technical manual doesn't throw any light on this subject. The programmers guide states that "...these instruments occupy only three melodic channels, only Bass Drum, Snare Drum and Tom-Tom frequencies can be set. Cymbal and Hi-Hat frequencies are fixed." This does not appear to be congruent with my experience when using my sammichFM. Did TK add some magic that allows changing of CYM and HH frequencies somehow?
It all looks very complicated and I have to say that I am super impressed that TK managed to get any semblance of coherent sound out of the OPL3 at all! Programming sounds on an FM synth requires a degree in quantum mechanics never mind actually creating an FM synth itself!
Edited by toadstool, 28 December 2011 - 15:53.
Posted 28 December 2011 - 20:27
MBFM sets the Tom frequency (configurable in the FRQ page), whenever Tom *or* Cymbal is played.
MBFM sets the HiHat frequency whenever the HH is played.
MBFM doesn't set the HiHat frequency whenever Snare is played (in distance to the coupling between Tom and Cymbal)
I don't remember if this was intentional or not, but this explains why you noticed the inconsistencies.
It could be that I decided to handle drums this way because some own drum patterns sound better.
But I could add a compile-option for changed handling if you want to do some experiments.
Best Regards, Thorsten.
Posted 28 December 2011 - 21:18
Are you saying that the MBFM may be different than the sammichFM? Or are you saying that the SD frequency can only be changed using the HH FREQ settings and not using the SD Multiplier? I would be interested in doing some experiments to try and get a better understanding of how it works. I took a look at some of the MIOS source files but not being a programmer, found it very difficult to decipher what was going on. I am capable of setting up a tool-chain and compile environment though!
Posted 28 December 2011 - 22:36
Please try this firmware: http://www.ucapps.de...experiment1.zip
I added following flag to the setup_*.asm files which is enabled by default:
;; experimental option: HiHat parameters are changed when snare drum is played, since both instruments share the same operators #define DEFAULT_DRUM_SD_CHANGES_HH_OP 1
Try this especially when HH and SD are played in parallel - I would expect random results since this is a "race condition" (parameters are changed more or less concurrently)
I also changed the labels in the FRQ menu to make clear which frequencies are changed.
Best Regards, Thorsten.
Posted 04 January 2012 - 16:45
Strangely, changing TOM settings still affects both CYM *and* HH. It looks like TOM, CYM and HH are coupled (or tripled) and SD, HH and CYM are also coupled on another level.
I don't understand how/why the drum section works the way it does and I tried to gain more insight by examining the comments in the OPL3 YMF262 emulator code for MAME (line 933 onwards for drums).... though I am not much wiser. From the MAME code comments it looks like the TOM affects the HH frequencies due to combined channel/slot in the phase generator (at least that is what it looks like)!!??
Edited by toadstool, 04 January 2012 - 22:22.