Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

Beefing up the B3 emulater Beatrix/Csound

Will
2011-11-21
2013-05-23
  • Will
    Will
    2011-11-21

    Nick,
         I am really enjoying the usability Bristol's B3 emulator.  I noticed on a post to another forum a ways back, you mentioned getting a front end to Beatrix.  I see a lot of people mentioning how much they like the sound of Beatrix, but as always mentioned, it is abandoned, and not free software, so you can't just use its code.
         Both Beatrix and Csound's Rotororgan seem to have a more elaborate process for creating the B3 emulation than.    When you looked at Beatrix, how hard would did it look like it would be to copy some of his techniques for the sound without directly copying the code?
         Or, to leave this more open, how big a project would it be to beef up Bristol's B3 sound.  It is soooo much more user friendly than all the hoops to use Csound, and Beatrix is just dead in the water. 

    thanks,

    Panther

     
  • Nick Copeland
    Nick Copeland
    2011-11-21

    When discussion was going on about a front end to Beatrix is was with an eye to it being open sourced. When it was closed down as a clonewheel then the project to build a brighton front end to beatrix was dropped. Around the same time I did put in a number of enhancements to the bristol emulator for the following:

    1. generate all 91/92 toothwheel continuously.
    2. add some additional sinewave deformations
    3. have a full set of tapering resistors
    4. compartment crosstalk
    5. loom/filter crosstalk
    6. drawbar crosstalk
    7. per drawbar contact delay (click)
    8. velocity sensitive contact delay (click)
    9. semirandom drawbar contact delays
    10. HPF on percussives
    12. percussive bypass of vibrachorus

    There were other changes, the piece of code that does all this is called the bristol 'preacher' which emulates the hammond gearbox, it can be configured as very clean to very dirty and I am not certain that there is any need now to change this part. Configuration of the whole gearbox is possible from text files, there are literally thousands of parameters since each toothwheel has a whole set of parameters associated with it. The code already did the hammond tuning, it already had the weak (but constant) phase relationships between the teeth, foldback, that kind of stuff. The emulator also has a coded 'keyclick/tick' but the new code blew that out of the water: each of the 9 contacts has a configuration delay profile and the actual delays depend on velocity, if you configure it as such then you can press a key slowly you can hear each contact being made, press fast and you start getting keyclick out of it. All configured in the same file.

    At the same time I removed the vibrachorus and coded an 8 tap hammond chorus unit but I know that the emulator is weak in these areas:

    a. vibrachorus needs a rewrite: bristol has the 8 taps however the RC filter is weak WRT phase changes and that affects the richness of the output it generates
    b. Leslie emulation is also weak, this code was put together perhaps 10 years ago and needs a rewrite. It uses variable delays, doppler, filtering, dual bins, differential bin frequencies, latency but the DSP needs more work.
    c. valve emulation: it would benefit massively from a decent valve emulator on the output stage into the leslie emulator.
    d. The reverb is slack, it sounds reasonable at low delay/level, beyond that it gets noisy.

    When could all this be done? Tja, it is on my list but I have no dates to do it, usual story of open sourced code - I have work and a family which means that time for coding the freeware stuff is limited. How much actual work? I think a valve amp could be negotiated/integrated from other FOSS projects, the reverb could too (would have to see what IR there are for spring reverbs). I would have to look into the vibrachorus and the leslie itself is a lot of work to remodel what it does.

    Regards, nick

     
  • Will
    Will
    2011-11-21

    Thanks for such thorough response.  I wasn't trying to put pressure on improving the current Bristol B3.  I think most users would want other synthesizers emulated etc more. 

    I looked at the source code for Bristol, Beatrix and the Csound for Rotororgan.  The hoops the Rotororgan go through to get the tonewheel going are just staggering.  That is, you've got the tonewheel and harmonics summed for every note and summed again after other factors are filtered in.  It is interesting how differently the three approaches  to getting the sound/rumblings etc are. 
           Beatrix seems to have invented some his features in a unique way(to my untrained eye), and borrowed his Leslie ideas from JULIUS O. SMITH III, who is a big part of Faust(used by Guitarix.)  This Waveguide Modeling looks like it'll take on even the best comercial emulators(Nord, Roland, Hammond etc.) as it all unfolds, but other than essays on how to use it for a Combo organ, and some simple pipe organ examples, nobody seems to have packaged up their ideas in a usable organ app.
         Of course Faust is C++,  and again this isn't a feature request.  You seem to be the only one who has put all this together in a package that is user friendly, and works WITH EASE with jack, alsa etc.  I need to use something I can use myself, and load/configure on my students' boxes as well.  Bristol's B3 works on a P3, up to my laptop no problem.

    good work and thanks again for something I can use,

    Pantherq  

     
  • Nick Copeland
    Nick Copeland
    2011-11-21

    > I think most users would want other synthesizers emulated etc

    The B3 emulator is one of my favourites though, when I started on this the minimoog and hammond were the ones that I was most interested in and both are in need of attention so there is nothing wrong with a bit of pressure.

    I read a remark somewhere about clonewheels and leslies, it span around the fact that most clonewheels sounded as good as a real hammond when they were driven through a real valve amp and leslie. I think it was in reference to the DX hammond sounds.

    You mentioned Guitarix, I was interested in seeing if its valve emulator might be used integrated into bristol rather than being used 'offboard' via Jack. Fons has his convolver which can provide the best reverb effects. He also has some impressive chorus emulations, I would have to see if they covered the hammond vibra rather than analogue delay lines, I have not looked at this code nor how much effort it would be to integrate any of it.

    In short, I would like to beef up the sound and there is code out there that can do much of it already, and do it better than I could hope to. What I would want to do is have that all integrated into the same GUI, and I would like to do it before more emulations. I don't know the Julius  stuff on rotaries, perhaps you can advise?

    Will have to see.

    regards, nick

     
  • Will
    Will
    2011-11-22

    I stand corrected.  I had not tried it with the -preacher flag until last night, and that's your B3 sound.  Ironically, having a hoot with the dx7 emulator I can put some of this in perspective, but first my opinion:

    I think the preacher sound should be the default.  I tried it on the box I'm setting up for the kids(500mb, I'm not sure the cpu, but it's not over the top), and I had no trouble running it.  That's a really nice sound right now, and the oscillators on oscillators thing is the industry standard since the early 2000s.
    I can say even with the preacher flag, it runs with less resources than csound's organ, or guitarix.

    My perspective comes from a household where we had a C3(a B without percussion), my stepfather had a Rhodes 88, and before they were collector items my Mother put one of those Wurlitzers Ray used on What'd I Say in my room(they were only $200 in the early '80s)

    The DX7 craze that ended after the DX9 as most of us off burned out on digital.  We had a DX7 then a DX9, or I should say EVERYONE had the DX7.  The organ sounds from that era were sampled, and we all thought proved you couldn't make a decent organ sound with a synth.  Ironically, last night I had soooooo much fun with your dx as it made me feel 16 again.  That is, the DX sound has become a classic sound in its own right, from its extensive 80s usage. 

    I didn't know that the digital organs had improved so much until I got involved with this education project.  Friends of my Family who still do sessions in NY said they were now 'usable.'  What happened in the late 90's was this oscillator on osciallator approach to create the effect of all the offsetting vibrations/harmonics of a B3 instead of mimicry and they crossed a line we didn't think possible in the 80s.  I know Joey DJoey DeFrancesco now uses one of the new digital Hammonds(although he didn't the last time I saw him in NY in 99), and I saw Jack Mcduff, Jimmy Mcgriff, and Jimmy Smith in the late 90s and they also were still not using digital.  Smith moved to digital in the early 2000s before passing away, and again this is after the move to oscillator on oscillator aproach.  This is why I think the -preacher sound is not just an embelishment, but industry standard.

    When I tried the Bristol B3 without the -preacher flag, it reminded me of the DX7 B clone days and is kind of one dimensional.  The preacher sound is more than usable, it's good.  I think if you make that the standard and over time tweaked the rest of the features, you'd really have something special.

    I think the Guitarix stuff would be better suited left off for Jack usage.  I think you'd be better off continuing to tweak your B3 sound, turbo charging preacher and other facets.

    I'll send another response about your usability in a few,

    Panther

     
  • Will
    Will
    2011-11-22

    What you've really hit on with Bristol is your usability.  I LOVE the graphics out of the box, and it was a GREAT decision to tweak it for Xorg instead of jumping through hoops to placate other architectures.

    While selfishly I am excited about the B3 growing, rounding out the usability, I think, would serve the Linux audio community the most in the immediate.  I didn't get a sense of all the B3 flags until I read the README in your source code.  I won't have time to play with all of them(voices?) until the holidays get in full swing.  For example, I found the preacher button on your configuration window, but it wasn't intuitive to try it until I poked at your email response to my question.

    The fact that you have the B3 pedals is a big deal, and while I'm still digging a little, it looks like midi interfaces for everything are already under the hood, or close.

    You have do drop some serious coin to get a digital organ with pedals.  Even if you drop $3000 for say a Nord C2, they aren't completely user friendly for old school organ players.   I got a chance to talk with Red Young(Eric Burdon's organ player) about why he didn't switch to digital, and he said that the Nord's had buttons or knobs for the faders and he couldn't adjust them without looking.

    When Bristol's midi interface gets tighter, it will be trivial to use Berhinger etc midi controllers to satisfy these kinds of needs.  I imagine the same applies to people from a Moog background for customizing their user interface to their habits.

    This is all to say, your emphasis on usabiltiy already sets Bristol apart, and as you tweek/improve other things, your a frontrunner as part of the linux Jack chain,

    Panther

     
  • Will
    Will
    2011-11-22

    Not to overload you, but knocking this all out today in the office.  All these postings are not pending.  For future reference, here is the posting the Beatrix author said he used as a reference point for his Leslie sound:

    https://ccrma.stanford.edu/~jos/waveguide/Leslie.html#11434

    thanks,
    Panther