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

Search This thread

deeper-blue

Senior Member
Nov 28, 2010
58
609
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:

Lifetrip718

Member
May 24, 2010
29
3
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!
 

deeper-blue

Senior Member
Nov 28, 2010
58
609
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
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
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
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
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
ATL
This is awesome - but very janky. I've gotten it to push audio out only once.

Any chance that this is still actively being worked on?
 

DownloaderZ

Senior Member
Jun 10, 2008
258
11
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

DownloaderZ

Senior Member
Jun 10, 2008
258
11
ATL
Any news? I have several people willing to help with this who are VERY excited. Please release the source on git etc :D
 

dts924s

Senior Member
Nov 4, 2012
60
5
Any chance with this build that you could use a 3.55mm to USB adaptor and connect a Chromecast Audio to the Nexus Q for casting audio?
 
  • Like
Reactions: eddib

uavtech

Member
Apr 15, 2009
15
0
Any chance someone still has this ROM laying around. Get a 404 trying to download from the link in the OP.
 

trmazi

New member
Sep 9, 2020
3
0
Nexus Q
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
Nexus Q
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. :)
 

sushichef

Member
Jul 17, 2009
13
0
Just dug out my Q -- does OP / anyone have the originally posted rom? Good way to avoid it being e-waste
 

Top Liked Posts

  • There are no posts matching your filters.
  • 6
    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
    3
    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.
    1
    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.
    1
    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!!
    1
    Any chance with this build that you could use a 3.55mm to USB adaptor and connect a Chromecast Audio to the Nexus Q for casting audio?