Opensource hardware CDJ/MIDIPC - Raspberry Pi ($25)

Home :: Reviews of DJ equipment :: Opensource hardware CDJ/MIDIPC - Raspberry Pi ($25)Reply
Opensource hardware CDJ/MIDIPC - Raspberry Pi ($25)
Posted on: 24.01.2012 by Arcelia Siebeneck


http://www.raspberrypi.org/

How about this for an idea... a self-contained opensource hardware midi controller with a built in ARM-based pc. The Raspberry Pi is a $25 ARM-based pc, the size of a credit card that can already run XBMC and lots of other software & operating systems.

http://www.youtube.com/watch?v=PHlLnLqEBfg

If the Raspberry Pi was setup to run VirtualDJ, Mixxx, Bitwig or one of the dj applications for beagle board then you could very easily integrate some reasonably powerful dj'ing hardware AND software within a normal midi controller. The Pi is absolutely tiny, very powerful and incredibly cheap.

Why would you want to do this? Imagine having a midi controller that has an HDMI output. You just plug the midi controller into a screen, connect up your stereo outs to a mixer and you've got an all-in-one midi controller that doesn't require a laptop. Or you could integrate a 7" HDMI screen into the actual controller (so it'd look like a CDJ2000 for example).

Or perhaps the Pi could be used as a hardware version of Bomes Midi Translator or GlovePie. You connect up various USB devices (gamepads, etc) and a usb midi device. You then program the Pi to translate midi messages into HID.

I'm sure there are other possibilities too... thoughts?
Stanford Almosawi
12.09.2013
Originally Posted by ChEeZeBaLL
Regarding interfacing the HID hardware with the software and audio programming in general, I have no experience with that at all. Time to start reading I guess.
Any luck? I'm believeing about pursuing a similar project. All of my experience is on the audio software programming side.
Olimpia Briden
17.09.2013
I can't be the first person to believe of this, I'm not necessarily believeing of writing much code myself, I'm looking for open source/free solutions :-) It feels like anything I'm believeing of doing has probably already been done, I'm not exactly new to midi/midicontrollers but I'm sure I've missed out on a lot of technological advances.

I've found some information for switching the pi serial port into something that can spit out 31250, although I'm not sure that's entirely necessary, also found a lightweight midi sequencer/looper, gives me lots and lots of options :-)

I've also now added some simple code to output serial on the midifighter, not tested yet.

It should work on official midifighter classic hardware but not sure how code compatible it would be, at the very least it will probably break the digital input on the expansion port, so it would need an official update to fix it I believe.

It's easy enough to make the changes for the development board I'm using, it's got all the pins broken out so I can just reassign the digital expansion in 2 to one of the unused pins which would leave PD3 (txd1) free for midi output.
Kiyoko Wellisch
18.09.2013
That. Sounds. Awesome!
Olimpia Briden
18.09.2013
This afternoon I've built a midifighter classic on a breadboard, just a single button to confirm my atmega32u2 chip (pin/code compatible with the at90usb162) really is firing on all pins. I got the stock firmware on the chip and it seemed to be communicating with the utility over the weekend, had to wait until today for the 74hc165 chips to turn up. Still waiting on the tlc5928 led driver chips and the mcp3004 4 channel ADC chips for the expansion port.

After that I'm not entirely sure, there's a platform called 'midibox' that revolves around lpc1769 chip that looks interesting, it's modular using an rtos based firmware, I had hoped to plug a midifighter into that but no usb host on the midibox platform and no midi out on the midifighter all it would take though would be midi out on the fighter via serial. I'd hoped to introduce a midi sequencer engine between the midifighter and a host machine, dial in your tempo, setup some patterns, like effects etc., then trigger the patterns using the midifighter.

the raspberry pi could be used as a simple cheap portable mixing platform, you could even add your own fighter style interface using 8 gpio, then I guess it could be entirely possible to do the same as above in software.

Then again, I'm more inclined to use something like a mini2440/mini210s board or anything that can do usb gadget that you can compile your own kernel for, they'll have a load more gpio, they'll act as a straight usb to midi to usb to midi bridge, add a 3.5-9" lcd with touchscreen or use composite out on the 2440/6410 or hdmi out on the 210 and you've got a very powerful relatively open source platform to design what you like.

I've got a couple of other ideas but they really can wait for now, I need those other chips to turn up so I can hopefully confirm something :-)
Kiyoko Wellisch
17.09.2013
That's it! Open source computers more or less don't exist, and I doubt they will during my lifetime. The nearest you get is the lemote yeeloong, RMS' computer of choice, which I believe has completely open source firmware and drivers. But even then, the hardware itself is closed source. On the other hand much simpler open source hardware is doing well in the 3D printing scene! We live in exciting times.

So what are you planning to make? A controller with embedded mixing software? Sounds exciting!
Olimpia Briden
17.09.2013
Yeah but you're getting down to splitting hairs now, the majority of people have zero need to know about the inside of the chip, the chip doesn't on it's own define the whole of what the raspberry pi is, otherwise we could call a roku a raspberry pi. And they did provide an api for the gpu iirc. Then again, I don't know of any other mainstream embedded processors that have released the source code for their GPU? And no one in their right mind would expect any graphics chip company to release the schematics for their chips, it would be commercial suicide.

I'm sure we could go on like this for another couple of pages but it's all besides the point, mixxx will work :-D Let's agree to differ and call it something else?
Kiyoko Wellisch
17.09.2013
The driver and the chip are not the same thing! You could have an open source driver with a closed source chip and visa versa
Olimpia Briden
17.09.2013
There's the broadcom chip that is as open as it can be, with only the gpu being closed and for good reason, their security stuff is all on there, so all the codec enabling options, e-fuses etc. reside there, it deals with booting, bearing in mind that this chip is also in commercial products, you can understand why they would want to protect that investment and that of their oem buyers.


If it'll definitely work, I'll give it a go, thanks :-)
Kiyoko Wellisch
17.09.2013
The chips are all closed, sadly.

It'll definitely work, I was talking to one of the Mixxx devs who did it for a bit of fun
Olimpia Briden
17.09.2013
I guess all the schematics are published for fun then? :-)
http://elinux.org/RPi_Hardware#Schematic_.2F_Layout

or the datasheet for the broadcom chip?
http://www.raspberrypi.org/wp-conten...eripherals.pdf

we clearly have a difference of opinion and you care more than I do about what it's called :-)

I might give mixxx a go at some point on one but as I said previously, I'm not convinced that it will cope. I reckon it's a more likely prospect on something a bit more expensive, like a samsung 4412 based board.

I'm quite interested in using the pi as a go between, with a MF plugged into the pi, then midi manipulation software, with the pi outputting altered midi.
Kiyoko Wellisch
17.09.2013
The RPI is hardware. Closed source hardware.

The software (i.e. kernel, OS tools, drivers, DE, etc) that is most commonly used with the RPi is mostly open source.
Olimpia Briden
17.09.2013
All of the drivers are open source, except the gpu.
Kiyoko Wellisch
17.09.2013
Nope, the RPI is 0% open source. People just commonly run open source operating systems on it.

The beagleboard is also 0% open source.
Olimpia Briden
17.09.2013
It's mostly opensource but the bit that's closed, 99% of people WON'T know what to do with it if it was opensource :-) the bit that's closed source is the gpu drivers, then again, so are most of the embedded devices of any worthy note. Like the beagleboard, using Imagination Technologies PowerVR SGX530 GPU for instance.
Kiyoko Wellisch
17.09.2013
If I were you I would compile Mixxx without all the extra fluff and just run 2 decks, the mixer and a stripped down skin. That'd run fine, I'm sure.

edit: This title really annoys me. The RPi isn't open source :P
Olimpia Briden
14.09.2013
Hi All, I'm also interested in getting the pi running some dj software, however, I'm not entirely convinced now that it's up to the task with something like mixxx etc. the problem being the lack of 2d acceleration in X, it pretty much chews up all of the processing power which is (or was the last time I looked ) evident in how the gui behaves in something like xbmc, the video is accelerated at 1080p but the menus aren't, so they're not that responsive, it feels like you're running through treacle with toffee boots on. This would cause big issues with latency I feel.

Btw. I am the same guy that posted on the raspberrypi community s for the mixxx thread and the guy that posted the raspberry pi gpio drivers.

There is also an issue with usb, it's not very good on the pi, so plugging all sorts of fancy usb controller kit into it might cause issues, it's something that someone would need to try and report back!!

Regards,
Reggie.
Kiyoko Wellisch
12.09.2013
Gosh. I've been talking about running xwax on a a RPi for over a year? I really need to get off my ass and do it :P
Stanford Almosawi
12.09.2013
Originally Posted by ChEeZeBaLL
Regarding interfacing the HID hardware with the software and audio programming in general, I have no experience with that at all. Time to start reading I guess.
Any luck? I'm believeing about pursuing a similar project. All of my experience is on the audio software programming side.
Janyce Henningson
17.07.2013
Originally Posted by ChEeZeBaLL
The Pioneer CDJ-2000's are the only players I'm aware of that have a link functionality (so that audio can be played from multiple players reading off the same usb stick).

If a knock off player came along that had a jog wheel with the same feel/functionality as a Pioneer deck, with link support, I might actually consider buying it.
Have you looked at the Denon players?
I believe the SC2900 and SC3900 are brilliant - I prefer them to the Pioneer CDj's to be honest and they have the link support.
Misti Yergeau
17.07.2013
I've been researching this heavily the past few weeks.

I have a Raspberry Pi and I've been trying to believe of something to do with it.

A friend of mine has a Gemini CDJ-700 which is a fairly decent Pioneer CDJ clone. My main complaints about it would be that the jog wheel is too heavy, and when quickly back cueing the audio will only speed up to a point and then spinning the wheel faster won't make the audio playback any faster.

The Pioneer CDJ-2000's are the only players I'm aware of that have a link functionality (so that audio can be played from multiple players reading off the same usb stick).

If a knock off player came along that had a jog wheel with the same feel/functionality as a Pioneer deck, with link support, I might actually consider buying it.


This got me to believeing, my Raspberry Pi has 2 usb ports, an audio output, and an ethernet port (the Pioneer CDJs use ethernet cables for linking them together).

The Raspberry Pi would surely be fast enough to play back 1 audio file at a time and support pitch adjustments and scratching (I used to run Atomix MP3 [predecessor to Virtual DJ] on my crappy computer 10 years ago).

I'm really interested in trying to build a basic CDJ style media player (with music coming from a usb thumb drive, although I suppose it'd be possible to connect a CD-ROM drive to the Pi as well) with a Pioneer style jog wheel (touch sensitive top for scratching and moving the side of the wheel for pitch bending), a pitch slider, and a Start/Pause button and a Cue button. Being a trance DJ, those are the only features I ever really use on a CDJ and I believe it would be a great starting goal for constructing something myself.

I've been reading up on the differences between using a device as an HID vs Midi device. An HID is much more accurate and has lower latency that using the midi protocol, and using midi would add an unnessisary layer of complexity since this would be a purpose specific device. I've read through a few different tutorials on taking apart an old ball mouse and using the sensors from it with a larger encoder wheel that is the same size as the CDJ jog wheel.

One of the biggest problems for me would be the software. I'd want to use a super slimmed down version of Linux that boots directly into some custom software that would handle all the functions of the player (The software would have no GUI). Apparently with the right tweaks and optimizations it's possible to have an SD card based linux system to boot in a matter of seconds. Perhaps you could use a small single line LCD display (like this one) to show track and time information.

I've been looking at xwax which is an open source lightweight piece of DVS software. It only supports using a time code for play back, but it might be a good starting point for me (I'm somewhat familiar with programming in C and I might try tearing my hair out looking through the source code).

Regarding interfacing the HID hardware with the software and audio programming in general, I have no experience with that at all. Time to start reading I guess.
Arcelia Siebeneck
05.07.2012
also:

http://www.raspberrypi.org/phpBB3/vi...php?f=2&t=4985

and

http://www.raspberrypi.org/phpBB3/vi...hp?f=50&t=8842
Arcelia Siebeneck
05.07.2012
decoding mp3s should be possible via SoC hardware decoding? if not now, soon... (once we have full hardware support for the GPU in software).

but if it's not yet possible, the Pi's cpu is roughly equivalent to a pentium 2-300mhz which should be fast enough to decode an mp3 I'd have thought...
Kiyoko Wellisch
02.07.2012
That's the idea! Decoding mp3s might be a bit taxing on the system though...
Chasidy Heckenbach
02.07.2012
Originally Posted by MrPopinjay
I still want to see if I can get xwax running on one of these
xwax is a lot leaner on cpu usage from what i've read than a lot of apps... def worth a go anyway. just need a mini lcd screen so u can see what you're doing
Kiyoko Wellisch
02.07.2012
Originally Posted by hairblz
I've been looking into this for a few months now, ie. having two raspberry pis instead of CDJs running through my analog mixer.

There's also a player called Alsaplayer (or libalsaplayer) that is quite lightweight.

I've installed it on a virtualbox raspberry pi and it works . . however I can't work out how to use many of the features that the software claims to have. I have managed to play music and repitch with accuracy of 1% (nowhere near enough).

The software developers claim that alsaplayer (or libalsaplayer) is capable of:

-pitch accuracy beyond 0.01%
-remote control from other applications (and MIDI control)

Unleashing these features would make this software perfect for the job (except for nudge function), don't you believe?
Wow that's really cool! I wanna try that out
Kiyoko Wellisch
02.07.2012
I still want to see if I can get xwax running on one of these
Chasidy Heckenbach
02.07.2012
sounds good i finally got the email from RS supplies a few days ago to actually place an order for one, going to be a while but should be cool. ordered the mini case for it too, neat idea. i downloaded a vmware image the other day too so have a virtual one running here, not sure if its emulating the arm processor or whether it's just an intel build of the rpi setup or something.

i'd be very interested to see if u can get mixxx running on it i remember ryan mentioned on the mixxx irc the other week that he had got one and was keen on getting mixxx to run on it. and if anyone can then he can
Arcelia Siebeneck
02.07.2012
I received 2x Pi's in the post last week so I'm going to give it a good go... thanks for the heads up
Dorethea Filyaw
19.06.2012
I've been looking into this for a few months now, ie. having two raspberry pis instead of CDJs running through my analog mixer.

There's also a player called Alsaplayer (or libalsaplayer) that is quite lightweight.

I've installed it on a virtualbox raspberry pi and it works . . however I can't work out how to use many of the features that the software claims to have. I have managed to play music and repitch with accuracy of 1% (nowhere near enough).

The software developers claim that alsaplayer (or libalsaplayer) is capable of:

-pitch accuracy beyond 0.01%
-remote control from other applications (and MIDI control)

Unleashing these features would make this software perfect for the job (except for nudge function), don't you believe?
Chasidy Heckenbach
14.04.2012
Originally Posted by MiL0
I'm quite interested in seeing if Mixxx will work properly on the Raspberry Pi. From the look of this thread, it seems it might work with relative ease:
sure - there's nothing that would be specific to x86 in the mixxx source code. i've got interested in mixxx recently, been looking thru the code and joined the developers mailing list. it's quite quiet tho...

they have some nice new multi coloured waveforms coming in the next release 1.11.0. i'm concerned about cpu usage and reliability atm tho with mixxx verses something like traktor.

i like that mixxx uses xml for it's controller def files but really don't like the format from what i've seen so far. vdj does a much better job with the way it uses xml, tho having actual script code in separate files like mixxx is better. i also don't like the way script code is bound to the device in mixxx. this shouldn't be in the devices definition file at all. there should be some separation between the devices def file and any config files uses the devices. oops - too much geekery...

So then all you'd need is one of these 7" LCD screens and you've got yourself a very compact opensource Traktor-esque controller (CDJ style, no need for a laptop)... all for around
Arcelia Siebeneck
14.04.2012
I'm quite interested in seeing if Mixxx will work properly on the Raspberry Pi. From the look of this thread, it seems it might work with relative ease:

http://talk.maemo.org/showthread.php?t=38747


more information directly from the Mixxx developers:

http://www.mixxx.org/community s/viewtopic.php?f=1&t=292


So then all you'd need is one of these 7" LCD screens and you've got yourself a very compact opensource Traktor-esque controller (CDJ style, no need for a laptop)... all for around
Chasidy Heckenbach
03.04.2012
ah.... cool cheers. i'll do that then... re: the android comment from someone before; android does use the linux kernel but all i'd want is a minimal linux system and def not need a gui - so still not sure why android was touted as a decent option for this...
Arcelia Siebeneck
03.04.2012
from Element 14 / Farnell - you have to click on the 'email me for pre-order info' link... then wait until they email you (I waited about 2 weeks!). Inside the email they give you a special url where you can pre-order (you give your name, address and debitcard details then they debit you when they have a release date).
Chasidy Heckenbach
02.04.2012
Originally Posted by MiL0
just pre-ordered my Pi... hopefully it should be here in the next month or so
where did u order from? when i checked a few days ago i thought places were out of stock. i def want at least one of these to experiment with.
Arcelia Siebeneck
02.04.2012
just pre-ordered my Pi... hopefully it should be here in the next month or so
Jerold Nesselrode
01.04.2012
Unless a manufacturer picks this up I bet the best direction for a project like this would be open source, purpose built (to some degree) software. Say a lightweight Linux distro with some software capable of tempo adjustment and vinyl emulation as a starting point. I could definitely see myself using a home built CDj with a platter, pitch fader, play/cue, rotary pushable encoder for track selection, usb input, cd audio input and a screen with basic visual feedback just for the kicks of it.
Nancey Inderlied
31.03.2012
Originally Posted by deevey
I can't imagine a CDJ has any more than a 700mhz processor, the iPhone (3gs) is 600mhz and works perfectly with a dual deck DJ application with beat detection eq and other toys?

It'll depend how its programmed, how slimmed down everything is going to be and how many background tasks are running.

I don't believe you can compare the Maschine Application running on a Mac to a CDJ style dedicated software running on a box its been designed for.
Then I'm not really sure what the underlying purpose is. The CDJs work because the software has been optimized by the Mixvibes team for a purpose. An MP3 player from 5 years ago can play music, that isn't what I'm worried about. What it needs is software that can replace computer applications onstage, and software that is compatible with what is created with DAWs and such. With that attitude the Pi is obsoleted by 2 iTouches and a MIDI protocol, the Pi needs the developer support to make it work, and the firepower to make it compete. The design concept is brilliant though.
Chasidy Heckenbach
31.03.2012
Originally Posted by Shishdisma
You're telling me that a 700mhz ARM chip is going to run open source perfomance software over Linux low-latency drivers, and be stable enough for serious performance?
i don't see why that isn't possible. certainly nothing to be gained by porting coreaudio and/or using android compared to using a slimmed down linux install and (maybe) a real time kernel. in fact the total opposite is true...

i don't really have any use right now for one of these devices but maybe getting one just to see what is possible from it would be cool. guess all i would need is to hook power up to it and an ethernet cable - no real need for video out. would need the "model b" ofc to have ethernet but also would want the two usb ports anyway.

Model A has 128Mb of RAM Model A has been redesigned to have 256Mb RAM, one USB port and no Ethernet (network connection). Model B has 256Mb RAM, 2 USB port and an Ethernet port.
i see it has rca video - i presume this is just standard composite? anyone know if this outputs at all times so could be used for debugging boot issues etc? if so then at least i can plug it into my projector or something if needed...

re: android i only just noticed in that image posted at the start of this thread. given how generally unstable and buggy android is compared to linux it would seem a very odd choice for a "performance critical" device anyway
Arcelia Siebeneck
31.03.2012
don't forget the Pi has hardware decoding for video/audio so the ARM processor speed doesn't necessarily matter as much.... just look at XBMC running 1080p videos perfectly on the Pi
Rolanda Clodfelder
30.03.2012
Originally Posted by Shishdisma
You're telling me that a 700mhz ARM chip is going to run open source perfomance software over Linux low-latency drivers, and be stable enough for serious performance? This is a great concept, one that should be expanded on like the CDJs and SCS.4DJ, but the current hardware doesn't seem up to the task. I typically run standalone Maschine comfortably at 20ms, over CoreAudio on my 2.3 C2D. I have trouble believing that current Linux drivers could get anything close to that on an old smartphone, especially considering the software side of it. But I could be wrong, or my standards are just a bit high.
I can't imagine a CDJ has any more than a 700mhz processor, the iPhone (3gs) is 600mhz and works perfectly with a dual deck DJ application with beat detection eq and other toys?

It'll depend how its programmed, how slimmed down everything is going to be and how many background tasks are running.

I don't believe you can compare the Maschine Application running on a Mac to a CDJ style dedicated software running on a box its been designed for.

<< Back to Reviews of DJ equipment Reply

Copyright 2012-2023
DJRANKINGS.ORG n.g.o.
Chuo-ku, Osaka, Japan

Created by Ajaxel CMS

Terms & Privacy