Stand-alone player using mixxx

General Mixxx discussion.... discuss

Moderator: garth

Stand-alone player using mixxx

Postby pedroqueirosrod » Sun Sep 09, 2018 11:22 pm

Hello, this is my first interaction in this forum. So to introduce myself:
I'am Pedro and i develop software as my job and in my free times i like to do some mixes and explore new technologies. I first saw mixxx some years ago and i saw a lots of features essential to a dj media player (pitch, cues, loops, vinyl emulation, etc) that i'm looking for.

So, my main goal is to build a stand-alone media player (like a cdj) or convert an old cd player with a single board computer (like raspberry pi) and a microcontroller (like arduino). I've already made an attempt with electron.js and the webaudio api and successful managed to create a player controlled with some buttons, encoders and a fader. But the webaudio api is a little too heavy to run smooth unless when runs on a good machine and also lacks some functions like: no good way to emulate vinyl; no reverse playback; loops sometimes have jumps.

Since the webaudio api is not a good option and create everything from scratch seems to be a huge effort, i have some questions:

There is a way run mixxx as just one deck (without the mixer, eq, etc) and then control it using the micro controller interfacing as some sort of midi or hid?

Is doable (how hard?) to create some sort of a mixxx "engine / core" library with player functionalities that could be ported or wrapped as a node.js module that make possible the creation of HTML5 GUI's or running headless using an interface using a Lcd and buttons controlled by the micro-controller?
pedroqueirosrod
 
Posts: 4
Joined: Sun Sep 09, 2018 10:17 pm

Re: Stand-alone player using mixxx

Postby Be. » Mon Sep 10, 2018 3:19 am

Mixxx could be modified to do this, but it would be quite a bit of work. All of the skins are designed for using 2 or 4 decks on a laptop screen, so there would be significant design work required to make optimal use of a smaller screen with one deck. Also, the OpenGL code for the scrolling waveforms uses very old deprecated APIs that are not compatible with Rapsberry Pis. We don't currently have any developers who are very knowledgeable about OpenGL, so if you are, writing a new waveform renderer compatible with OpenGL ES would be a great contribution.

There are some other projects that have done similar things with other software, most notably Pideck.

pedroqueirosrod wrote:Is doable (how hard?) to create some sort of a mixxx "engine / core" library with player functionalities that could be ported or wrapped as a node.js module that make possible the creation of HTML5 GUI's or running headless using an interface using a Lcd and buttons controlled by the micro-controller?


Not really, unless you want to first spend a year or two decoupling the application logic and GUI in Mixxx.
I heard FLAC and I haven't gone back.
Protect your hearing with earplugs!

Hear my mixes
User avatar
Be.
Mixxx Developer
 
Posts: 2479
Joined: Tue Jan 06, 2015 1:00 am
Location: Chicago, USA

Re: Stand-alone player using mixxx

Postby daschuer » Mon Sep 10, 2018 6:51 am

I am not too pessimistic for your project.
It is finally just a matter of feature set and quality how much time it will take.

The first step is building plain Mixxx on your ARM computer board. If you search this forum you will find some successful attempts. We are happy to receive hints or pull request to make this work out of the box if that is not already the case.

If there are waveform issues, you may just disable the moving waveforms. A plain cdj does not have them as well.

Crating a one deck skin is only a matter of deleting XML scentenses from an existing skin. It would be a huge amount of work if you like to have this feature integrated as option of an existing skin. You may also effort many hours to make it actually look like an cdj or start a new design from the scratch.

The alternative GUI is no issue (but a lot of work) if you just be in the position of a controller and control a headless Mixxx via midi.

We are also working on an mpris interface, that would allow to handle some track and library operations.

Does your use case involve the whole Mixxx library, or just some tracks from a jump drive? The later is supported, but there might be some work to have this Rock solid on an embedded device.

Hope that helps. Feel welcome :-)

Daniel
daschuer
Mixxx Developer
 
Posts: 1249
Joined: Sun Mar 10, 2013 11:26 am

Re: Stand-alone player using mixxx

Postby Mixxx MIxxxermannn » Fri Dec 14, 2018 2:20 pm

I have some ideas for a stand-alone device, ideally something that could be built as a kit or for those inclined, purchased assembled.

Jog wheels are tricky things to get right, but are obviously UX champions for control. Could a large touch surface fulfill this function?

Sound quality is an issue to many. Pioneer and Allen & Heath higher end mixers include built-in sound cards, but for everyone else?

How many decks can a raspberry pi or other ARM type computer reasonably handle flawlessly? The denon sc5000 can sorta handle 2 decks internally, but apparently not that well. Could such a diy device somehow handle up to 4?

I'm finishing up certification as a UX designer and would love to contribute towards something.
Mixxx MIxxxermannn
 
Posts: 38
Joined: Sat Nov 10, 2018 2:00 pm

Re: Stand-alone player using mixxx

Postby Fairburg » Tue Dec 18, 2018 12:10 pm

Hello pedro and others,

I am also looking for ways to use Mixxx as a basis for a standalone DJ player. I am a industrial designer by trade and work for a small company which develops portable DJ gear (only DJ mixers so far). I've looked into this kind of product an have a product design ready to go, but no proof of concept on the software side. This is where Mixxx comes in.

So far I've been able to get Mixxx 1.11.0 running on a Raspberry Pi B 3+ but with significant buffer underruns when timestretching. I have VERY little experience with Raspberry, but I have quite a bit of experience with Arduino so I could set up the needed sensors for a working DJ interface. Another issue entirely is finding a suitable audio codec, but this is something I have yet to dive into.

I'd love to have a chat about what kind of hardware would be useful for a portable stand-alone DJ player with like-minded people. Perhaps this is something which can be developed into a open source DJ hardware platform and something the company I work for would be able to partially fund or manage a crowdfunding campaign for. If you are interested too, please feel free to contact me.
Fairburg
 
Posts: 4
Joined: Tue Dec 18, 2018 11:16 am

Re: Stand-alone player using mixxx

Postby Fairburg » Tue Dec 18, 2018 12:21 pm

Mixxx MIxxxermannn wrote:I have some ideas for a stand-alone device, ideally something that could be built as a kit or for those inclined, purchased assembled.

Same here, see previous post.

Mixxx MIxxxermannn wrote:Jog wheels are tricky things to get right, but are obviously UX champions for control. Could a large touch surface fulfill this function?

As the guy that did a Kickstarter for Tuna Knobs, I must say I am skeptical about touchscreens as an interface. Sensorwise jog wheels are actually quite simple, but getting the feel right requires some clever engineering, especially because not everyone agrees on what jogwheels should feel like.

Mixxx MIxxxermannn wrote:Sound quality is an issue to many. Pioneer and Allen & Heath higher end mixers include built-in sound cards, but for everyone else? How many decks can a raspberry pi or other ARM type computer reasonably handle flawlessly? The denon sc5000 can sorta handle 2 decks internally, but apparently not that well. Could such a diy device somehow handle up to 4?

Very true, I think you'll need a dedicated onboard DSP chip or at least audio codec to get this right. From what I read, the broadcom chip on the Pi cannot handle more than one audio stream so you'll need an outboard soundcard and send audio there over USB. I am trying to figure this out by hooking up soundcards to the Pi and taking these apart to see what's inside of them. I have no electrical engineering degree, but I am confident I can come up with at least a basic component list that should work.

Mixxx MIxxxermannn wrote:I'm finishing up certification as a UX designer and would love to contribute towards something.

I'm trying to get this idea of a portable standalone DJ player off the ground, if you want to join in, send me a message!
Fairburg
 
Posts: 4
Joined: Tue Dec 18, 2018 11:16 am

Re: Stand-alone player using mixxx

Postby Fairburg » Tue Dec 18, 2018 12:38 pm

daschuer wrote:I am not too pessimistic for your project.
It is finally just a matter of feature set and quality how much time it will take.


At the risk of being too spammy, I am actually really enthusiastic about this idea. I already spend quite some time on setting up this kind of feature set and researching the quality of competitors. The only problem I have right now is that the company I work for is very much a for profit so it will be difficult to get open source development into that mix (no pun intended).

I'd love to join/host a little chat about this, where should I go?

Greets,
Samuel
Fairburg
 
Posts: 4
Joined: Tue Dec 18, 2018 11:16 am

Re: Stand-alone player using mixxx

Postby Mixxx MIxxxermannn » Tue Dec 18, 2018 4:14 pm

Fairburg wrote:
Mixxx MIxxxermannn wrote:Jog wheels are tricky things to get right, but are obviously UX champions for control. Could a large touch surface fulfill this function?

As the guy that did a Kickstarter for Tuna Knobs, I must say I am skeptical about touchscreens as an interface. Sensorwise jog wheels are actually quite simple, but getting the feel right requires some clever engineering, especially because not everyone agrees on what jogwheels should feel like.


Looking at a pioneer cdj or denon media players, the only knobs in use are for navigating the display unit or messing with jog wheel specific parameters. An inspiration I had for touch control comes from the Stanton scs.3d, which from the videos seemed to handle player head positioning fairly well, but perhaps went too far in making users use touch strips instead of knobs for mixing and eq duties, and might have also suffered from build quality issues.

My goal is a device with as few specialty parts, especially moving parts, as possible. This is not to say I envision only a touch surface, but the right decisions of any additional buttons, switches, knobs, or faders. The user will need to feel confident about controlling their music, and want to have fun while doing so. This is probably where Tuna Knobs did not work out, if their suction was not enough, or accidental touching of the tablets caused unintended actions. WHat i have in mind is much different.


The raspberry pi 3 may not be the right computer for this, but there are plenty of single board pc options.

sending you a message!
Mixxx MIxxxermannn
 
Posts: 38
Joined: Sat Nov 10, 2018 2:00 pm

Re: Stand-alone player using mixxx

Postby sauri » Mon Jun 10, 2019 3:54 pm

Mixxx MIxxxermannn wrote:
Fairburg wrote:Sound quality is an issue to many. Pioneer and Allen & Heath higher end mixers include built-in sound cards, but for everyone else? How many decks can a raspberry pi or other ARM type computer reasonably handle flawlessly? The denon sc5000 can sorta handle 2 decks internally, but apparently not that well. Could such a diy device somehow handle up to 4?

Very true, I think you'll need a dedicated onboard DSP chip or at least audio codec to get this right. From what I read, the broadcom chip on the Pi cannot handle more than one audio stream so you'll need an outboard soundcard and send audio there over USB. I am trying to figure this out by hooking up soundcards to the Pi and taking these apart to see what's inside of them. I have no electrical engineering degree, but I am confident I can come up with at least a basic component list that should work.


Maybe this is little old but I just stubled with following page about using mixxx with raspi and dac: https://mertarauh.com/2017/04/22/raspbe ... -pifi-dac/.
sauri
 
Posts: 3
Joined: Sun Apr 14, 2019 7:39 am

Re: Stand-alone player using mixxx

Postby pedroqueirosrod » Thu Aug 01, 2019 3:10 am

Hello All,

Sorry for only reply almost one year later but is when the holidays starts that the ideas roll again. I'am glad to see that there are more people interested to do stand alone players with the cheap arm boards out there. With some of your advice's i have made some tests with the skins and it works well with only the 1 deck + library.

For the hardware I've been looking at 2 options.

LattePanda + official 7" touchscreen:
- Its normal computer (x86 intel atom)
- Have an affordable mipi /dsi 7" IPS touchscreen
- Have an arduino inside
- Wifi, BT, Lan, USB 3.0, SD Card, Audio Out, Hdmi, etc...
- Total cost less than 150 Dollars
- Can run Linux & Mixxx without any problem


Nano Pi NEO + TI Audio DAC Hat
- Have an Allwinner H3 Arm Soc with 256M/ 512M of RAM
- Needs to run headless because does not have video outputs
- Is great to make a simpler player with most of the UI from a micro controller.
- The best point is the price: board + dac hat is less than 25 dollars.

I will try to move forward with this project and share more ideas and progress.
pedroqueirosrod
 
Posts: 4
Joined: Sun Sep 09, 2018 10:17 pm

Next

Return to General Discussion

Who is online

Users browsing this forum: No registered users and 5 guests