[ROM] Nexus Q as an USB audio DAC+AMP

deeper-blue

Senior Member
Nov 28, 2010
58
609
0
somewhere in good ol' Germany
This rom turns your Nexus Q into an USB audio card. When you turn on the Nexus Q it will register as an usb audio device in the usb host linux/osx/windows/android system. You will be able to listen to music and other sounds through the speakers connected to the Nexus Q internal amp.

Features:
  • 16bit 48kHz usb audio output to the Nexus Q DAC+AMP
  • Volume and mute control from host computer

How to install:
To flash the rom download the zip file extract the content, boot your Nexus Q into fastboot mode and use fastboot:
Code:
fastboot flashall
This will remove everything on your Nexus Q. Also be aware that there won't be any ADB since the USB audio kernel module is using the USB connection and the ABD kernel module is not activated.

Issues / ToDo list:
  • no volume control by turning the Nexus Q (yet)
  • synchronisation issues, when sound is stuttering mute and unmute the sound on the computer or wait a couple seconds
  • huge audio delay, not suitable for watching videos


Download Fastboot Images:
http://www.rbrune.de/steelhead_usbaudio.zip

GitHub:
https://github.com/rbrune
 
Last edited:

deeper-blue

Senior Member
Nov 28, 2010
58
609
0
somewhere in good ol' Germany
Would you be interested in working on an ADT-1 to Nexus Q port?
BTW this looks awesome and going to try it later. Thanks!
Thanks! I'm looking forward to get some feedback.

Regarding the other topic. I won't do an ADT-1 to Nexus Q port - because I'm already working on a proper Android 5.0/Lollipop/Android TV rom. Sadly I'm currently lacking time to finish up the necessary kernel hackery to get it (hopefully) up and running.
 
Last edited:
  • Like
Reactions: WildSatchmo

codingpanic

New member
Jan 9, 2015
1
0
0
Curious what system this based on...

Curious,
What are you using as the base for this image?
Are you using an full Android image with your changes to emulate a USB card? Or a GNU/Linux userland with changes made there?

I've been toying with adding a full GNU/Linux userland and a service like PI Musicbox for a web based frontend to choose music to play through the AMP.
The added benefit here is I could install any other service, including a bluetooth audio sink, for remote streaming from any device.

That said... an AndroidTV rom for the Q would obviate the need for any of the above hacks I've been working on. Have you begun work on it and do you need any assistance?
 
Last edited:

deeper-blue

Senior Member
Nov 28, 2010
58
609
0
somewhere in good ol' Germany
Curious,
What are you using as the base for this image?
Are you using an full Android image with your changes to emulate a USB card? Or a GNU/Linux userland with changes made there?

I've been toying with adding a full GNU/Linux userland and a service like PI Musicbox for a web based frontend to choose music to play through the AMP.
The added benefit here is I could install any other service, including a bluetooth audio sink, for remote streaming from any device.

That said... an AndroidTV rom for the Q would obviate the need for any of the above hacks I've been working on. Have you begun work on it and do you need any assistance?
This is based on CM11 - but with some fixes here and there done by me (see github. You can repo clone from there).

I also thought about doing a pure GNU/Linux userland image with similar things you listed - especially since acting as a bluetooth sink doesn't work with the current bluedroid bluetooth stack. But I decided against it since bluetooth has poor audio quality and most other things can be done with android apps (e.g. acting as an airplay receiver) - so instead I went for the USB DAC/Amp since playing music is my primary use case for the Nexus Q. Getting Android 5.0 with the Android TV UI running is more of for fun project as it would be great if I could connect a gamepad, play some emulator games or watch a movie from it too.
 
Last edited:

wollac11

Senior Member
Aug 25, 2010
264
213
0
Cambridge
www.littlegreendude.com
Nice work! Also would it be possible to do something similar with another Android device while preserving normal functionality? Only that I have an old Nexus S which has a pretty nice Wolfson DAC and music with it though headphones sounds great. It runs CM11 currently and I thought it might be pretty cool if I could also use it as a small USB DAC.
 

deeper-blue

Senior Member
Nov 28, 2010
58
609
0
somewhere in good ol' Germany
Nice work! Also would it be possible to do something similar with another Android device while preserving normal functionality? Only that I have an old Nexus S which has a pretty nice Wolfson DAC and music with it though headphones sounds great. It runs CM11 currently and I thought it might be pretty cool if I could also use it as a small USB DAC.
Possible yes - but maybe not while preserving normal functionality.
To be able to insert the usb audio device kernel module one has to disable adb over usb functionality. Also the audio output device will be permanently occupied and such the running Android won't be able to output any sound.

Sadly I don't have my Nexus S anymore - otherwise I would help setting it up and giving it a try. It certainly is a worthwhile idea. If you do want to give it a try look at the changes I've made to the Nexus Q kernel on my github. It should be easy to adapt for the Nexus S.

Back to the original topic. I think I've fixed the synchronisation issues and the audio delay. When I finished testing I will push it to github and update the image in this thread.
 

DownloaderZ

Senior Member
Jun 10, 2008
258
11
0
ATL
I'm able to now get it to consistently output sound from either a mac or linux box via USB audio.

The audio janks up in different ways - on the linux box it is very quiet unless you really play with the volume etc. On the mac, it cuts and plays strange and is very laggy.

Can we see the code on github? Can we help? This is so awesome. Long Live Nexus Q!!
 
  • Like
Reactions: ottoemezzo

trmazi

New member
Sep 9, 2020
3
0
0
Hello! Has anyone gotten around to adding volume control from the nexus device? -trmazi (too lazy to sign in)
I know development is probably dead for this but it would still be awesome.
 

trmazi

New member
Sep 9, 2020
3
0
0
I've installed this on my Q and it's been great! I paired it with some bookshelf speakers and I've been using it for my main desk speakers! No weird audio issues like mentioned, no noticeable delay either. Delay was said to be bad, but I've used it and played rhythm games with no issues and delay at all... YouTube and movies are great as well. :)