FORUMS
Remove All Ads from XDA

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

57 posts
Thanks Meter: 609
 
By deeper-blue, Member on 6th January 2015, 05:32 PM
Post Reply Email Thread
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
Attached Thumbnails
Click image for larger version

Name:	Screen Shot 2015-01-06 at 6.18.32 PM.png
Views:	644
Size:	111.8 KB
ID:	3101473  
The Following 6 Users Say Thank You to deeper-blue For This Useful Post: [ View ] Gift deeper-blue Ad-Free
 
 
7th January 2015, 12:16 AM |#2  
Junior Member
Thanks Meter: 3
 
More
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!
7th January 2015, 06:09 PM |#3  
OP Member
somewhere in good ol' Germany
Thanks Meter: 609
 
More
Quote:
Originally Posted by Lifetrip718

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.
The Following User Says Thank You to deeper-blue For This Useful Post: [ View ] Gift deeper-blue Ad-Free
9th January 2015, 03:10 PM |#4  
Junior Member
Thanks Meter: 0
 
More
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?
11th January 2015, 01:19 PM |#5  
OP Member
somewhere in good ol' Germany
Thanks Meter: 609
 
More
Quote:
Originally Posted by codingpanic

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.
14th February 2015, 01:35 AM |#6  
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.
17th February 2015, 09:45 AM |#7  
OP Member
somewhere in good ol' Germany
Thanks Meter: 609
 
More
Quote:
Originally Posted by wollac11

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.
The Following 3 Users Say Thank You to deeper-blue For This Useful Post: [ View ] Gift deeper-blue Ad-Free
13th July 2015, 09:21 PM |#8  
Junior Member
Thanks Meter: 0
 
More
Quote:
Originally Posted by deeper-blue

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.

Still working on this? Just pulled my Q out of the "try again in 18 months" box.
17th August 2015, 08:45 PM |#9  
ianandamy's Avatar
Senior Member
Flag cedar hill MO
Thanks Meter: 160
 
More
Quote:
Originally Posted by md5mikejr

Still working on this? Just pulled my Q out of the "try again in 18 months" box.

hope you get this working with like a bluetooth device or plug in a usb from a phone, ipod etc.
28th August 2015, 10:15 PM |#10  
Senior Member
ATL
Thanks Meter: 11
 
More
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?
29th August 2015, 06:24 AM |#11  
Senior Member
ATL
Thanks Meter: 11
 
More
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!!
The Following User Says Thank You to DownloaderZ For This Useful Post: [ View ] Gift DownloaderZ Ad-Free
Post Reply Subscribe to Thread

Tags
amp, audio, usb

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes