New eDrummer

Discuss anything new and newsworthy! See http://planet.linuxaudio.org and https://libreav.org/news for more Linux Audio News!

Announcements of proprietary software may fit better in the Marketplace.


Moderators: raboof, MattKingUSA, khz

j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 358 times

New eDrummer

Post by j_e_f_f_g »

New version of my drum software for use with electronic drum pads played live. There are various improvements, most notably a new modeling of the hihat pedal.

Oh and 1 odd new feature.

You better sit down.


















Are you sitting?
















Hold onto the desk too.


















It can be set to use JACK. This is intended for evaluation purposes by diehards. eDrummer can still use alsa mmap directly, and that is strongly recommended. I've completed a literally months long extensive code review of jack, and written 5 apps that can directly use both jack and alsa mmap. The results are consistent, and logical given such jack overhead as all those poll() calls, file descriptor read()/write() calls, ring 0 transitions those system calls entail, and process and thread context switches.

Alsa mmap period/buffer size can typically be 4 times smaller than jack period/buffer size, without incurring xruns. For example, if the lowest you can set jack without xruns is 2 periods 128 frames, then you'll likely be able to set alsa mmap to 2 periods 32 frames.

Don't believe me? Here's an app to demonstrate:

http://wikisend.com/download/468218/edrummer.zip

crank down those settings. If you can't feel 4x latency, it's time to retire your drumsticks.

p.s. edrummer has no periods setting for alsa. It always uses 2, and never has needed more
Last edited by j_e_f_f_g on Sun May 10, 2015 8:42 am, edited 1 time in total.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

stanlea
Established Member
Posts: 700
Joined: Wed Apr 25, 2012 9:49 pm
Has thanked: 41 times
Been thanked: 23 times

Re: New eDrummer

Post by stanlea »

Cool ! Thanks.
User avatar
English Guy
Established Member
Posts: 525
Joined: Wed Oct 17, 2012 7:28 pm
Location: England
Has thanked: 8 times
Been thanked: 7 times

Re: New eDrummer

Post by English Guy »

Does eDrummer come with kits or do you need to import soundfonts etc?
User avatar
raboof
Established Member
Posts: 1855
Joined: Tue Apr 08, 2008 11:58 am
Location: Deventer, NL
Has thanked: 50 times
Been thanked: 74 times
Contact:

Re: New eDrummer

Post by raboof »

j_e_f_f_g wrote:Don't believe me? Here's an app to demonstrate:

http://wikisend.com/download/149818/edrummer.zip
Cool, thanks for sharing!
User avatar
raboof
Established Member
Posts: 1855
Joined: Tue Apr 08, 2008 11:58 am
Location: Deventer, NL
Has thanked: 50 times
Been thanked: 74 times
Contact:

Re: New eDrummer

Post by raboof »

English Guy wrote:Does eDrummer come with kits or do you need to import soundfonts etc?
It includes a kit.
j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 358 times

Re: New eDrummer

Post by j_e_f_f_g »

English Guy wrote:Does eDrummer come with kits or do you need to import soundfonts etc?
It comes with 1 default kit. But ideally, you'll make your own kits comprised of whatever wave files you want. A kit (ie, its compressed wave files) is contained in its own folder whose name ends in .kit, along with a text file that specifies the mapping/settings. A tutorial for making your own kits is being worked on.

But to take advantage of eDrummer's intelligent hihat modeling, you need a variety of HH waves -- more than just open, closed, and step. You need a pedal open (ie, stomp) and half open too. And you need lots of velocity levels, especially for open hat. The default kit has that. I'm most interested in hearing drummer's reactions to how well eDrummer's default kit works with their electronic hihat pedals. My initial beta tester felt it was better than "Easy Drums", but still not a totally convincing recreation of a real HH. I've made some tweaks that hopefully improve the realism, but a HH is very difficult to simulate because of all the subtle nuances you can do with it. The best we'll probably ever get is "good enough to use an electronic pedal instead of a real hihat".

eDrummer kits are compatible with BackupBand (and vice versa). So you can copy BackupBand's 808.kit, Pop.kit, Brush.kit, Techno.kit, Rock.kit, and Jazz.kit folders to eDrummer's folder for an additional 6 kits to try. But those aren't setup to take advantage of the pedal modeling.

If you have a HH pedal, try it with the default kit, and let me know what you think about the modeling.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

User avatar
raboof
Established Member
Posts: 1855
Joined: Tue Apr 08, 2008 11:58 am
Location: Deventer, NL
Has thanked: 50 times
Been thanked: 74 times
Contact:

Re: New eDrummer

Post by raboof »

j_e_f_f_g wrote:It can be set to use JACK. This is intended for evaluation purposes by diehards.
Challenge accepted ;)
j_e_f_f_g wrote:Alsa mmap period/buffer size can typically be 4 times smaller than jack period/buffer size, without incurring xruns. For example, if the lowest you can set jack without xruns is 2 periods 128 frames, then you'll likely be able to set alsa mmap to 2 periods 32 frames.
On my test system (I used an untuned laptop with an onboard soundcard), indeed I could set jack no lower than 128 frames/period, 2 periods/buffer, while I turn the eDrummer ALSA 'buffer' setting down all the way to 16.

Looking at AudioPlay.c, the value you pass to snd_pcm_hw_params_set_period_size is the 'buffer' setting, multiplied by the number of channel (so in my example that'd come to 16*2=32), multiplied by the size of a frame (in my case 32 bits aka 4 bytes, totalling up to 16*2*4=128). The latter looks like the source of the difference to me: by doing this last multiplication, you seem to intend to pass the number of bytes in a period to alsa, while ALSA interprets it as the number of frames. Indeed, looking at jackd1 (drivers/alsa/alsa_driver.c), here driver->frames_per_cycle is passed directly to ALSA (in my case, 128).

In other words, on my system it seems eDrummer performs the same under ALSA as it does under JACK.

To verify, I performed a low-tech benchmark by triggering a sample in eDrummer with the computer keyboard, and recording this with a microphone. Looking at the waveform of the recording, the latency between the sound of my nail hitting the key and the sample playing is visible. The waveforms I see seem to confirm my suspicion: I tested with the ALSA buffer set to 64, ALSA buffer set to 32, JACK with a period size of 128, and ALSA with the buffer set to 16. The latter 2 measurements seem closest to each other.
waveforms.png
waveforms.png (100.59 KiB) Viewed 1236 times
So on my system, in this test, ALSA or JACK made no difference. Note that, of course, that cannot be easily extrapolated: JACK certainly does have overhead, and under different loads or on different hardware (e.g. embedded) you might be able to achieve latencies with ALSA that you can't with JACK - and certainly for an app like eDrummer this can be useful.
User avatar
English Guy
Established Member
Posts: 525
Joined: Wed Oct 17, 2012 7:28 pm
Location: England
Has thanked: 8 times
Been thanked: 7 times

Re: New eDrummer

Post by English Guy »

I have a Yamaha DD55 unit (I hate to call it kit, it is more like a suitcase with pedals!) & I will have a go when I can get the time and space to do so. I particularly love the AVlinux Red Zeppelin Kit and would love to get it working the pads. The built in kits are good but not as raw and acoustic as that kit.
j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 358 times

Re: New eDrummer

Post by j_e_f_f_g »

English Guy wrote:love the AVlinux Red Zeppelin Kit
Here's that kit formatted for eDrummer. Unzip to your Home folder.
http://wikisend.com/download/741544/redzep.zip

There's also a folder named "dssi". Open a terminal window in that folder. If running a 64-bit linux, type:

make install

If running a 32-bit linux, type:

make
make install

You now also have that kit as a DSSI plugin you can load into any host.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

User avatar
English Guy
Established Member
Posts: 525
Joined: Wed Oct 17, 2012 7:28 pm
Location: England
Has thanked: 8 times
Been thanked: 7 times

Re: New eDrummer

Post by English Guy »

I opened eDrummer up just to have a look (no pads, just a look see) and it complained that Jack was set to 48000 not 44000.

Will this be a problem please? My interface, an Alesis io2, is built to run at 48000 24 bit with no option to change so all my projects run at that rate (and my ears prefer it that way too!).

Thank you for the kit. I have downloaded it.
User avatar
raboof
Established Member
Posts: 1855
Joined: Tue Apr 08, 2008 11:58 am
Location: Deventer, NL
Has thanked: 50 times
Been thanked: 74 times
Contact:

Re: New eDrummer

Post by raboof »

English Guy wrote:I opened eDrummer up just to have a look (no pads, just a look see) and it complained that Jack was set to 48000 not 44000.

Will this be a problem please? My interface, an Alesis io2, is built to run at 48000 24 bit with no option to change so all my projects run at that rate (and my ears prefer it that way too!).
The kit that comes with eDrummer is 44100Hz. It does not currently do resampling (and it's questionable whether you want that: the loops and sound quality might suffer). You'd need a kit at 48000Hz (but that's way easier said than done ;) )..
j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 358 times

Re: New eDrummer

Post by j_e_f_f_g »

Here's a 48K version of Red Zeppelin (and a dssi instrument of that).
http://wikisend.com/download/309586/redzep48.zip

English Guy:
I took a look at the DD55 manual, and it occurs to me that it doesn't work with eDrummer's hihat modeling, which expects your pedal to transmit controller messages. The DD55 pedals do only note messages. So I updated eDrummer to support your unit. Download the latest eDrummer at:

http://wikisend.com/download/468218/edrummer.zip

Rename the folder "Default.kit" to "Default.kit2" so eDrummer ignores it.
Copy the "Red_Zeppelin48.kit" folder to your Home/eDrummer folder.
Run eDrummer and go into Setup. Set "HH pedal" to Note. Click "MIDI In" button and select your MIDI input.
Set your DD55 pad (that serves as the hihat cymbals) to transmit note 42. Set your pedal to 44.

Your DD55 pad/pedal should now work like a real HH.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

petea
Posts: 1
Joined: Sat Feb 20, 2016 10:51 pm

Re: New eDrummer

Post by petea »

Hey Jeff,

I'd be really keen to grab a copy of EDrummer and the redzep kit, but the links have expired. Is there somewhere i can download from?

Thank you for all the hard work!
Pete
j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 358 times

Re: New eDrummer

Post by j_e_f_f_g »

I'll be putting it on SourceForge in about 2 weeks. I'm still working on the new version, which will be available as both a standalone program, and also an lv2 plugin (for people who want a "drum kit" plugin that's a little more versatile than drumv1, but not as complicated or bulky as hydrogen or linuxsampler).

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

VanHammen
Established Member
Posts: 39
Joined: Sat Aug 29, 2015 3:53 pm
Has thanked: 9 times
Been thanked: 6 times

Re: New eDrummer

Post by VanHammen »

for people who want a "drum kit" plugin that's a little more versatile than drumv1, but not as complicated or bulky as hydrogen or linuxsampler
how does it compare to DrumGizmo? (http://www.drumgizmo.org/)
Post Reply