-
New project: eXaDrums
01/28/2016 at 19:58 • 0 commentsHey guys,
RaspiDrums is now a completed project, and I'm working on eXaDrums instead.
eXaDrums comes as a shared library that is a fork of RaspiDrums. In addition to the shared library, an executable provides a nice GUI, which can be used with the Raspberry Pi 7" official touchscreen. Pretty exciting isn't it?
In short, eXaDrums is an electronic drum kit, and its drum module has a touchscreen!
Check out the new project: https://hackaday.io/project/9350-exadrums.
Cheers.
-
Last project log next week
01/22/2016 at 23:00 • 0 commentsHi guys,
I'm currently writing the other project I told you about in the previous log. The new software is a fork of RaspiDrums, and it will be published next week on Hackaday.io.
As a result, I will change the status of the RaspiDrums project to "completed", and work exclusively on the new project. Of course, the source codes of both projects will be available on Github.
Note that, for the new project, I intend to use tinyxml2 instead of libxml. I haven't started that yet, but that one of the many things I have to do.
Cheers.
-
Slight change of plan
01/06/2016 at 22:55 • 0 commentsIt's now official, I'm going to New Zealand for work, so I'm going to be away for a couple of weeks. It's probably going to be very difficult to work on the software during those two weeks.
However, I'd like to make some progress, so instead of improving the SoundProcessor, and publish a new video, I will start to write the new project. I intend to publish the project by the end of the month. The software is now stable enough, even if there's still the sound processor to improve.
Apart from that, I ran the software on my Raspberry Pi 2 with Ubuntu MATE 15.10, it works pretty well. So far, it has been running on my laptop under Debian (Jessie, and Sid), Xubuntu (15.04, and 15.10), and on the Raspberry Pi 2 under Raspbian (Wheezy, and Jessie), and Ubuntu MATE (15.10). I think it's important to make sure that the software runs okay with different operating systems. So far, so good!
Cheers,
Jeremy.
-
New Year: updates
01/03/2016 at 12:28 • 0 commentsSome interesting things happened between over the last month:
- I updated my Raspberry Pi 2B to Raspbian Jessie. FYI, I used the method described here: https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=121880 and it worked straight away. Though, if you intend to do it that way, be aware that it took almost 3 hrs to update everything (I removed the wolfram engine prior to the update to speed things up). If you want to know more about Raspbian Jessie, you can read this: https://www.raspberrypi.org/blog/raspbian-jessie-is-here/.
The desktop doesn't really change, but the benefit is that you get up to date software. It's really good to work with an (almost) up to date g++ compiler!
However, when I tried RaspiDrums, I had no sound over the USB sound card...
It wasn't too hard to fix though. I just followed the method described here: http://superuser.com/questions/989385/alsa-base-conf-missing-in-new-raspberry-pi-raspbian-jesse.
So finally, it works very well, and I'm quite happy with the update. - I didn't spend so much time coding, but I though a lot about possible improvements.
A good one is that I figured a way to avoid real-time sound processing. Instead, the sounds will be processed as the drum kit is being loaded. It will use more RAM, but less CPU, and it will probably be easier to implement. - Another good news is that I ordered all the components to build the final board. The design is pretty clear in my head, so I'm going to start asap.
The board will feature a MCP3008, which means 8 analog inputs, instead of 4 right now (MCP3204). Since the hi-hat needs two sensors (pedal + cymbal), I intend to build the following drum set:- Snare drum
- Bass drum
- Hi-had (pedal + cymbal)
- Tom-tom
- Floor tom
- Crash cymbal
- Ride cymbal
- Unfortunately, I'm going to have to travel or work, probably for a couple of weeks. So that's going to help to get things done quickly...
But when I come back, the plan will be the following:
- Deal with the SoundProcessor.
- Publish a new video to show you how it performs.
- Publish the new project.
- Build the board.
- Improve the software.
- Start to build the kit.
Not sure how I'm going to build the kit yet, but I have some time to think about it before I start. Suggestions are more than welcome. The main goal is to make it cheap, easy to build, and stable. I will use muffle heads for the drums, as I already have them, but everything else is to be determined.
That's it for now!
Happy new year to all of you.
Cheers.
- I updated my Raspberry Pi 2B to Raspbian Jessie. FYI, I used the method described here: https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=121880 and it worked straight away. Though, if you intend to do it that way, be aware that it took almost 3 hrs to update everything (I removed the wolfram engine prior to the update to speed things up). If you want to know more about Raspbian Jessie, you can read this: https://www.raspberrypi.org/blog/raspbian-jessie-is-here/.
-
Some progress
12/19/2015 at 21:35 • 0 commentsAs mentioned in the previous post, I've been working a lot on RaspiDrums. A lot of improvements have been made, and as I said, I'm still waiting for the software to be a bit more stable before I publish the changes.
Basically, everything I mentioned in the previous post is almost finished. The biggest thing now is to work on the Sound Processor. When that part is done, I will be able to focus on the hi-hat, and that shouldn't take very long.
Because it's the end of the year, and I have less and less time, I think I will need another month or two to finish that. So end of February, or possibly a bit before that, is the target for a working hi-hat system. As I said in the previous log, the work I'm doing now will be published in another project, because it's now very different, and a lot better.
Cheers.
-
Lots of changes...
11/15/2015 at 16:08 • 0 commentsDespite the absence of project logs, I've been working quite a lot on RaspiDrums. I haven't published anything yet because I'm waiting for the software to be more stable. All the modifications concern the software, and they make it a lot easier to use.
Here's a list of the major changes:
- The project is now a shared library, so it's a lot easier to reuse in other programs.
- I Created a SoundBank that holds and handles all the sounds.
- I Created a SoundProcessor for some real-time sound processing.
- I Created a KitManager to manage the drum kits configuration.
- Sensors' inputs are read in a separate thread.
- Don't need to specify which sensor to use in the code.
- And there's a lot more, and a lot more is coming...
The projects is now a lot bigger than it used to be, and it will continue to grow. I want that software to become exactly like a real drum module, but I need more time to make it so. I think that it will take another couple of months before I can publish something. It's actually going to become a new project, and there's a reason for that, but that's a surprise! I'll let you guys know how things go, but I'm really optimistic, it's really going to become a very cool software.
Cheers.
-
Time to think about the hi-hat
09/27/2015 at 20:40 • 0 commentsI've been thinking quite a lot about the hi-hat lately.
I don't know exactly how the software will handle it, as I'd like to get a continuous variation of the sound between the closed and open states.
So far I'm investigating the hardware, and it looks like I'll go for an optical detection (phototransistor + led). So, I just bought and tested a KITRONIK 5105 Ambient Light Sensor Breakout Board. It uses a SFH 320-3/4-Z phototransistor, so we're talking about visible light.
The measured response time is about 2 ms, which is probably good enough for a hi-hat pedal. We'll see if it's worth pursuing.
Cheers.
-
Working with two sensors now.
09/20/2015 at 21:11 • 0 commentsHi guys,
I tried to make RaspiDrums work with two sensors yesterday, and guess what, it worked (after a minor bug fix...). This a little step forward, but an important one that has now disappeared of my TODO list.
The good news is that the latency doesn't change at all. So, whatever the number of sensors I use, it should remain below 10 ms (tested on Raspi 2B only).
I guess the next step is to start thinking about a viable solution for the hi-hat. I already have an idea for the software, so I just need validate it, and to find the right sensor for the pedal.
Cheers.
-
Latency goes below 10ms!
09/13/2015 at 13:55 • 0 commentsLatency has always been an issue since I started this project. The main reason was that the sound card I use a minimum buffer size of 1024 samples, which corresponds to a latency of 21.3 ms at 48kHz sample rate.
The obvious choice is to use another sound card. I now use a Startech ICUSBAUDIO2D, for which I can set a 44.1, 48, or even 96kHz sample rate. But that's not it, the minimum buffer size is 96 samples, which corresponds to 2 ms latency at 48kHz.
Using this configuration, I was able to compare the delay between the piezo, that is already in one of my Roland's drum pads, and the output of the RaspiDrums.
The following figure shows how this delay changes.
The average delay is 12.8 ± 0.7 ms. But that's without setting a high priority to the process. So, using nice, and setting the highest priority, I was able to get 9.2 ± 0.8 ms. That's below 10 ms!
Those tests were performed with a scan time of 4 ms, which means that RaspiDrums scans the signal for 4 ms, looking for the maximum value, before it sends the sound to the mixer. Lowering this value leads to a lower latency. So finally, using a 1 ms scan time instead of 4 should lead to 6.2 ± 0.8 ms (not tested, but I recommend you use a 4 ms scan time).
In conclusion, that definitely proves that RaspiDrums latency is below 10 ms. Note that even without using nice (12.8 ms latency), I don't really notice any latency while playing.
Cheers.
-
Thanks Hackaday!
09/12/2015 at 14:41 • 0 commentsLast week RaspiDrums has been featured by the hackaday team:
http://hackaday.com/2015/09/04/raspidrums-uses-expensive-sensors/
I wanted to thank them, so thanks a lot guys! I hope this will give a lot of good ideas to the readers, and help them to find new applications for high g accelerometers.
Some project updates are coming soon, don't miss them!
Cheers.