When you can write to the display of a CDJ, it can be used to write any status to the display like from a virtual CDJ or the song position pointer of Ableton Live.Īt the moment if I am recording from the CDJs I do not get the track names, simple the waveform. You mean Diogo Santos, yes I have read that, thanks. So you can help notice new patterns and figure out additional useful information. The project I linked to also offers an executable jar file that allows you to see all the packets that are being sent, what values are changing, and whether or not we already think we understand them. You can find my code and analysis on github at the following link, and if I have some time I will look into porting some of this knowledge into Georg’s project: I have figured out how to tell which is the master player, the track BPM to two decimal places, the pitch at which the player is playing (and thus the effective BPM), the number of beats into the track we have reached, the current beat within the bar, and the number of beats until the next cue point in the track, among other things. It is also possible to create a “virtual CDJ” by sending correctly formatted packets, and this causes the other devices to send you status packets with many extra details. It turns out that is not necessary, since the beat packets are sent as UDP broadcasts. The code he posted needs to run as root, because it relies on putting the network interface in promiscuous mode and monitoring all traffic it can see. I have been communicating with Georg and have made a great deal of progress in figuring out the protocol. I will write also a documentation describing the setup and how it works in detail. The Remote is needed because of the MIDI song position pointer. Then switch on EXT (top left) for external sync to Ableton live. In Ableton Live (link MIDI) the CDJ Beat Clock pops up as ProSync. If you connect the DJM to your computer the program will see it as a source. Pressing the MIDI start/stop button on the DJM will start or stop the CDJ Beat Clock. You do not need any parameter when you start the program.The default is listen to DJM and Ehternet en0. If you want to assign a MIDI control simple press the button and the program will show the channel, address and on/off like this to use as a parameter for the CDJ Beat Clock: MIDI Sync Start/Stop: Channel=16 Start=117 Stop=118 Up=115 Down=116 ShiftUp=111 ShiftDown=112Īfter starting a CDJ the program starts counting the beats and plots something like this: CDJ_Clock en3 16 117 118 115 116 111 112 (en3 for MacBook Retina)Īfter starting the program it will show a list of all MIDI sources and connects to it (listen to it). You will see something like this:Ĭapture Device: en3 Filter: port 50001 Sync: CDJ4 Open a terminal and start the program with sudo: Parameter: CDJ_Clock, Ethernet, MIDI-Channel, MIDI-Start, MIDI-Stop, SongPointer-Up SongPointer-Down, SongPointer-8barsUp, SongPointer-8barsDown, syncCDJ You need to start the program as superuser because of opening the Ethernet. If you are interrested please drop me an email on you will find me on facebook with my email address.Ĭonnect your Macs Ethernet to the DJM Ethernet (or the hub connecting the CDJs) In the video I use an outdated Macbook and it still works. Here another video Sorry for the quality. Via virtual MIDI-in the song pointer can be jumped 4 beats (1bar) or 32 beats (8bars) forward or backwards. When it stops it sends out an MIDI song pointer of the last 4/4 beat. When it starts again it waits for the next 1/4 beat and sends an MIDI song pointer and an MIDI continue. The beat clock can be started and stopped. The MIDI source, channel and address can be selected by passing an argument at the start of the program. It can be controlled via virtual MIDI-in like I do in the video with my MIDI Clock box or simple with the MIDI start/stop of the DJM. The program now is stable and can be synced on all CDJs, on the DJM (the DJM also sends out sync informations) or selective CDJs. This program sniffes the Ethernet protocol of the CDJs and calculates the bpm and output the MIDI beat clock as virtual MIDI. The other part is a software written in C and based on Alex Godbeheres program It can be used with any software what can output an MIDI beat clock. The external hardware box on the top left of the video is used as an MIDI input tool, to view the beats and control an Revo IV via DMX when I am mixing live.
0 Comments
Leave a Reply. |