Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Mixxx DJ app and Python

278 views
Skip to first unread message

mik...@gmail.com

unread,
Jan 28, 2013, 10:10:20 AM1/28/13
to

Hi guys,

I am thinking of driving a DJ application from Python.
I am running Linux and I found the Mixxx app.
Does anyone know if there are python bindings, or if this is possible at all?
or does anyone have experience with another software that does the same DJ thing?

I have also found the pymixxx module that I could install... but I didn't find any documentation so far or example code that could help me start (I'm keeping on searching).

Finally maybe that there is any DJ app that could be driven by pygame.midi?

Any idea appreciated.
Sorry to fail to be more specific.

Mik

PS: I've reposted this message as the previous subject (software app and Python: any experience?) didn't make any sense

David Hutto

unread,
Jan 29, 2013, 11:06:17 AM1/29/13
to mik...@gmail.com, pytho...@python.org
On Mon, Jan 28, 2013 at 10:10 AM, <mik...@gmail.com> wrote:
>
> Hi guys,
>
> I am thinking of driving a DJ application from Python.
> I am running Linux and I found the Mixxx app.
> Does anyone know if there are python bindings, or if this is possible at all?
> or does anyone have experience with another software that does the same DJ thing?
>
> I have also found the pymixxx module that I could install... but I didn't find any documentation so far or example code that could help me start (I'm keeping on searching).
>
> Finally maybe that there is any DJ app that could be driven by pygame.midi?
>
> Any idea appreciated.
> Sorry to fail to be more specific.

I'd just go with a command line app that triggered a .wav file at
certain points using time.sleep(x)

Best Regards,
David Hutto
CEO: http://www.hitwebdevelopment.com

David Hutto

unread,
Jan 29, 2013, 11:13:09 AM1/29/13
to mik...@gmail.com, pytho...@python.org
On Tue, Jan 29, 2013 at 11:06 AM, David Hutto <dwight...@gmail.com> wrote:
> On Mon, Jan 28, 2013 at 10:10 AM, <mik...@gmail.com> wrote:
>>
>> Hi guys,
>>
>> I am thinking of driving a DJ application from Python.
>> I am running Linux and I found the Mixxx app.
>> Does anyone know if there are python bindings, or if this is possible at all?
>> or does anyone have experience with another software that does the same DJ thing?
>>

Hydrogen, and audacity work perfectly together.


--

David Hutto

unread,
Jan 29, 2013, 11:16:46 AM1/29/13
to mik...@gmail.com, pytho...@python.org
>>> Does anyone know if there are python bindings, or if this is possible at all?
>>> or does anyone have experience with another software that does the same DJ thing?
>>>
>
>Hydrogen, and audacity work perfectly together.


What I was about to do is take the mic, get the soundtrack/beat to the
song going, and then plug it into audacity for further modification,
or you can roll your own.

mik...@gmail.com

unread,
Jan 29, 2013, 11:18:15 AM1/29/13
to mik...@gmail.com, pytho...@python.org
On Tuesday, January 29, 2013 4:13:09 PM UTC, David Hutto wrote:
[..]
>
> >> or does anyone have experience with another software that does the same DJ thing?
>
>
>
>
> Hydrogen, and audacity work perfectly together.


Hi David,
thanks for your reply.
I am not sure though that this is going to help me.
We have built a kind of basic controller that sends commands via bluetooth.
Then I should have some device (like a linux pc or raspberry Pi) where I have my applications that listen for these bluetooth commands and drives a DJ application accordingly (like mixing two sounds, sync them etc).

Obviously to write the whole application will take ages and I saw that the Mixxx one does everything I want.
So I am searching for a way to interface to it programatically.

Do you mean that Hydrogen and Audacity would replace the Mixxx app and I can call their functionality from Python?
Or were you thinking about something else?

Thanks,
Mik

David Hutto

unread,
Jan 29, 2013, 11:19:34 AM1/29/13
to mik...@gmail.com, pytho...@python.org
On Tue, Jan 29, 2013 at 11:16 AM, David Hutto <dwight...@gmail.com> wrote:
>>>> Does anyone know if there are python bindings, or if this is possible at all?
>>>> or does anyone have experience with another software that does the same DJ thing?
>>>>
>>
>>Hydrogen, and audacity work perfectly together.
>
>
What I was about to do is take the output to the headphones, get the
soundtrack/beat to the
song going, and then plug it into audacity(mic) for further modification,

David Hutto

unread,
Jan 29, 2013, 11:42:07 AM1/29/13
to mik...@gmail.com, pytho...@python.org
On Tue, Jan 29, 2013 at 11:18 AM, <mik...@gmail.com> wrote:
> On Tuesday, January 29, 2013 4:13:09 PM UTC, David Hutto wrote:
> [..]
>>
>> >> or does anyone have experience with another software that does the same DJ thing?
>>
>>
>>
>>
>> Hydrogen, and audacity work perfectly together.
>
>
> Hi David,
> thanks for your reply.
> I am not sure though that this is going to help me.
> We have built a kind of basic controller that sends commands via bluetooth.
> Then I should have some device (like a linux pc or raspberry Pi) where I have my applications that listen for these bluetooth commands and drives a DJ application accordingly (like mixing two sounds, sync them etc).
>
> Obviously to write the whole application will take ages and I saw that the Mixxx one does everything I want.
> So I am searching for a way to interface to it programatically.


Well you can just use their(Mixx's) source code that they used from
another wav form manipulation library(more than likely), after the
trigger from the bluetooth. If you're talking voice, and music to
sync, then either go with transmitting at the same, or take two
receivers(one for each transmitter), and run them in unison on
different frequencies, after they've been received..

I've never tried this, but it seems logical.

>
> Do you mean that Hydrogen and Audacity would replace the Mixxx app and I can call their functionality from Python?
> Or were you thinking about something else?
>
> Thanks,
> Mik
> --
> http://mail.python.org/mailman/listinfo/python-list

Ben

unread,
Jan 29, 2013, 11:45:18 AM1/29/13
to mik...@gmail.com, pytho...@python.org
This may not be too helpful, but I built a TCP server into the Mixxx application (in C++). I placed the server in ratecontroller (as I needed to vary the rate remotely). I then could send and receive TCP packets with a single board computer that ran a python client.

It wasn't too bad. If you want I can see if I can release the server code.

Ben

unread,
Jan 29, 2013, 11:45:18 AM1/29/13
to comp.lan...@googlegroups.com, pytho...@python.org, mik...@gmail.com
This may not be too helpful, but I built a TCP server into the Mixxx application (in C++). I placed the server in ratecontroller (as I needed to vary the rate remotely). I then could send and receive TCP packets with a single board computer that ran a python client.

It wasn't too bad. If you want I can see if I can release the server code.

On Tuesday, January 29, 2013 11:19:34 AM UTC-5, David Hutto wrote:

David Hutto

unread,
Jan 29, 2013, 11:58:05 AM1/29/13
to Ben, pytho...@python.org, comp.lan...@googlegroups.com, mik...@gmail.com
On Tue, Jan 29, 2013 at 11:45 AM, Ben <bung...@gmail.com> wrote:
> This may not be too helpful, but I built a TCP server into the Mixxx application (in C++). I placed the server in ratecontroller (as I needed to vary the rate remotely). I then could send and receive TCP packets with a single board computer that ran a python client.
>
>

So you used a digital buffer region for your wave forms? How did you
handle the rest of the data; allocate memory, or delete if the data
became too lengthy?

mik...@gmail.com

unread,
Jan 29, 2013, 11:18:15 AM1/29/13
to comp.lan...@googlegroups.com, pytho...@python.org, mik...@gmail.com
On Tuesday, January 29, 2013 4:13:09 PM UTC, David Hutto wrote:
[..]
>
> >> or does anyone have experience with another software that does the same DJ thing?
>
>
>
>
> Hydrogen, and audacity work perfectly together.


Hi David,
thanks for your reply.
I am not sure though that this is going to help me.
We have built a kind of basic controller that sends commands via bluetooth.
Then I should have some device (like a linux pc or raspberry Pi) where I have my applications that listen for these bluetooth commands and drives a DJ application accordingly (like mixing two sounds, sync them etc).

Obviously to write the whole application will take ages and I saw that the Mixxx one does everything I want.
So I am searching for a way to interface to it programatically.

mik...@gmail.com

unread,
Jan 29, 2013, 12:05:05 PM1/29/13
to mik...@gmail.com, pytho...@python.org
On Tuesday, January 29, 2013 4:45:18 PM UTC, Ben wrote:
> This may not be too helpful, but I built a TCP server into the Mixxx application (in C++). I placed the server in ratecontroller (as I needed to vary the rate remotely). I then could send and receive TCP packets with a single board computer that ran a python client.


Hi Ben,
this would be actually interesting to look at.
If you are not going to face problems, please send me the code.

Thanks,
Mik

mik...@gmail.com

unread,
Jan 29, 2013, 12:10:00 PM1/29/13
to mik...@gmail.com, pytho...@python.org
On Tuesday, January 29, 2013 4:42:07 PM UTC, David Hutto wrote:
[..]
>
> Well you can just use their(Mixx's) source code that they used from
>
> another wav form manipulation library(more than likely), after the
>
> trigger from the bluetooth. If you're talking voice, and music to
>
> sync, then either go with transmitting at the same, or take two
>
> receivers(one for each transmitter), and run them in unison on
>
> different frequencies, after they've been received..
>
>
>
> I've never tried this, but it seems logical.
>

Thanks David.
It seems that the code is in C++ so I should write Python wrappers myself, which could be interesting, but given the time frame I have is just not possible, Pity :-(
However I was not going to transmit sounds, but just commands to mix the sounds that are already in the same machine were the Mixxx is going to run.
I hope I will have time to come back to it in future.

Thanks.
Mik

mik...@gmail.com

unread,
Jan 29, 2013, 12:10:00 PM1/29/13
to comp.lan...@googlegroups.com, pytho...@python.org, mik...@gmail.com
On Tuesday, January 29, 2013 4:42:07 PM UTC, David Hutto wrote:
[..]
>
> Well you can just use their(Mixx's) source code that they used from
>
> another wav form manipulation library(more than likely), after the
>
> trigger from the bluetooth. If you're talking voice, and music to
>
> sync, then either go with transmitting at the same, or take two
>
> receivers(one for each transmitter), and run them in unison on
>
> different frequencies, after they've been received..
>
>
>
> I've never tried this, but it seems logical.
>

mik...@gmail.com

unread,
Jan 29, 2013, 12:05:05 PM1/29/13
to comp.lan...@googlegroups.com, pytho...@python.org, mik...@gmail.com
On Tuesday, January 29, 2013 4:45:18 PM UTC, Ben wrote:
> This may not be too helpful, but I built a TCP server into the Mixxx application (in C++). I placed the server in ratecontroller (as I needed to vary the rate remotely). I then could send and receive TCP packets with a single board computer that ran a python client.


David Hutto

unread,
Jan 29, 2013, 12:26:39 PM1/29/13
to mik...@gmail.com, pytho...@python.org
> Thanks David.
> It seems that the code is in C++ so I should write Python wrappers myself,

Or ctypes.
which could be interesting, but given the time frame I have is just
not possible, Pity :-(
> However I was not going to transmit sounds, but just commands to mix the sounds that are already in the same machine were the Mixxx is going to run.


A filter is minutia in comparison of code

so it was always going to be a comand line app, with a python GUI, to
perform alterations on the wave forms?.

> I hope I will have time to come back to it in future.
>

Just a little practice, that makes every programmer listening scramble.

alex23

unread,
Jan 29, 2013, 10:43:16 PM1/29/13
to
On Jan 29, 1:10 am, mikp...@gmail.com wrote:
> I am thinking of driving a DJ application from Python.
> I am running Linux and I found the Mixxx app.
> Does anyone know if there are python bindings, or if this is possible at all?
> or does anyone have experience with another software that does the same DJ thing?

The simplest way I think would be to control Mixxx via midi, using
something like pyPortMidi:

http://alumni.media.mit.edu/~harrison/code.html

If that doesn't give you the full range of control you're after,
perhaps you could use ctypes to wrap Mixxx's code libraries?
0 new messages