Audio support
See original GitHub issueI have some research to be able playing audio on DS4.
Audio data send by opcode 0x14, 0x15, 0x17, 0x19.
And code by SBC audio codec.
I used this python script to wrap the audio data
play.py
This script takes the SBC audio data and send it to DS4
You can use gstreamer to prepare audio data.
gst-launch-1.0 -q audiotestsrc ! sbcenc ! 'audio/x-sbc,channels=2,rate=32000,channel-mode=dual,blocks=16,subbands=8,bitpool=25' ! queue ! fdsink | ./play.py
But there is a small problem, periodically occur stuttering.
But it may be caused by improper operation with HID device.
I hope this helps to add audio support.
Issue Analytics
- State:
- Created 7 years ago
- Reactions:10
- Comments:77 (40 by maintainers)
Top Results From Across the Web
Universal Audio Support Home
Welcome to UA Support How can we help? · Getting Started · UAD Spark & UADx Documentation · FAQs · UADx Troubleshooting ·...
Read more >Support : M-Audio
We offer live technical support chat right here on our knowledge base. Click the chat bubble in the bottom-right corner of this page...
Read more >Audio Support: Home
Remote and on-site support available for Logic, Cubase, Pro Tools and all other studio technology. Audio Support has been helping musicians since 2005....
Read more >What is Audio Support | IGI Global
Sound support in a software game in the form of voiced instructions, pronunciation of letters, words or numbers, appearing on the screen, etc....
Read more >Interpretation Audio Support
We are a premier provider of interpretation and audio-visual services for conferences, meetings and events. With over 30 years of experience providing audio...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Sure, it generates the SBC header, but it doesn’t generate the payload header. Each SBC frame with the current settings is 112 bytes long, so each report sent to the ds4 contains 4 SBC frames, each with an SBC frame header generated by gstreamer, but those 4 have their own header, the payload header, where
\x02
is, which should be00100100
, following section 6.1 of the sbc doc I linked. Gstreamer can’t generate this header because it doesn’t know how many SBC frames are going to be put in a payload.The only two things that seem to make a difference is setting the L bit to 0 causes the right channel to be very quiet and not setting the #frames to something > 1 causes the sound to jitter, or just not work.
Ok, I have a working gstreamer version at https://gist.github.com/poconbhui/ab3ea6c5b827c969bd0cc8d76575a0a2 .