I have tried to send 12-bit audio to be listened to in real time through the HC05 SPP bluetooth module hooked up to an arduino and DAC over serial with a python RFCOMM socket. I have since learned that Serial Port Protocol is not very great at all for this purpose due to its low bandwidth. I figured I could definitely send the data and then play it out through a DAC, but I doubt an arduino would hold an array the size of a WAV file and maybe not even an mp3 file, but that would defeat the purpose of controlling the audio (play,pause,rewind,etc) from my computer. Would it be more realistic and worthwhile to use an A2DP enabled bluetooth module? Or is it still possible to listen to acceptable quality 12-16 bit audio in real time with SPP? I have tried to use lower bit songs, adjusted baud rates for the arduino and HC-05 serial ports, and tried to adjust the magnitude of the values outputted by the DAC to the audio port and I still seem to get crackly audio. It seems the problem comes down to the low bitrate transfer speed of SPP, or am I wrong?
Is it realistic to stream 12-16 bit audio through SPP bluetooth in realtime?
395 Views Asked by user P520 At
1
There are 1 best solutions below
Related Questions in AUDIO
- how to play a sounds in c# forms?
- Winsound not working isn't working at all
- Ringing noise overpowering voice / Recording audio with Max 9814 microphone on Raspberry pi pico using ADC Pin / Circuitpython
- How to take first x seconds of Audio from a wav file read from AWS S3 as binary stream using Python?
- gluon attach audio doesn't play any sound on android
- Implementing trim and fade filters with ffmpeg - MP3
- Unable to set device connection state as INPUT device type is none
- Is there a way to differentiate music and talking from a video?
- How to concatenate audio tracks and make them start a certain moment using Python?
- Combine two audio in different languages to one natural sounding
- STM32 - Serial Audio Interface (SAI) - dual data line transmit possible?
- playing mp3 downloaded via curllib gets cut short
- How to stream PCM audio to a speakers both on mac and linux in Node.js?
- Scikit-Maad -From the function rois.find_rois_cwt, I want to get a csv of the outputs so I can do my own analysis on it
- Using MediaPlayer slows down SoundPool sound effect
Related Questions in BLUETOOTH
- React native - how can i listen callBack function
- java android: how to send data on Bluetooth between android and computer
- Pair bluetooth device to Android 12 phone by selecting my own pin
- Bluetooth virtual sniffer for windows
- PyBluez connection problems
- How to set value the descriptor of iOS BLE in Objective-C?
- python script using bluetooth running on windows 11 vs raspberry pi4
- Mobile printing PT200 tru Bluetooth opened in web app
- PlatformException(connect_errd or timeout)
- Bluetooth Driver file corrupt or replaced
- Bluetooth driver Failed and unable to install bluetooth driver for jammy ubuntu
- strange Flutter bug on turning on/off bluetooth permission using IOS device
- Call requires permission which may be rejected by user code should explicitly check to see if permission is available
- Error during getting android Bluetooth device RSSI from Windows 10 using BlueCove library
- Error in Bluetooth specification? Heading field of Location and Speed
Related Questions in BITRATE
- Internet wifi video streaming at low speed
- Trouble Retrieving Real-Time Input Bitrate from RTSP Streams in WinForms App Using Vlc.DotNet Player
- Why does ffmpeg completely ignore my -b:v bitrate flag?
- How to calculate real bitrate of incoming rtsp stream with GStreamer?
- How to control resolution and bitrate of an ONVIF IP camera?
- Length of video created with PyAV
- How to modify the bit_rate of AVFormatContext?
- How can I record a video of the shader screen with high bitrate from ShaderToy?
- How to know the byte offset of a specific CBR MP3 frame?
- Can't get CBR when converting MP4 to Mono MP3
- FFMpeg: 2 pass encoding, first with CRF and second with maxrate of first pass average bitrate?
- How To calculate bandwidth, bitrate and buffer size of switches
- Converting audio files from .wav to mp3 using GNU Parallel
- how do I save the videos in an specific bitrate using ffmpeg?
- Can i get bit rate with connect with RTSP?
Related Questions in SPP
- EFR32BG22 BLE in SPP mode with PC (Windows 10) won't connect
- Android app can't read data from bluetooth SPP/UART microcontroller
- Using serial ports over bluetooth with micro bit
- "java.io.IOException: bt socket closed" in Android 12
- Android Slow Bluetooth RFCOMM Transfer Rate with RN4678
- replace the header line of several sequences in a fasta file and replace them with the species names stored in a list (.txt)
- Cannot create a Bluetooth SPP connection on MacOS Monterey
- Data passing problem from a class to a activity
- Android Bluetooth Program Stops Receiving Characters After About a Minute. java.io.exception: BT Socket Closed Read Return: -1
- SerialDevice.FromIdAsync() throws Invalid Data exception
- Bluetooth SPP server using Flutter
- How to add Serial Port Profile v1.2 in Bluez v5.5?
- Is it possible to have an Bluetooth SPP connection and BLE GATT connection in an android phone at the same time?
- Bluetooth SPP to a Raspberry returns looping weird values
- How to remove colour scale legend from plot() of spp density in R
Related Questions in A2DP
- BlueALSA loopback - PCM write
- How to block connection request from already paired devices(phones) using bluez?
- Raspberry Pi as a Bluetooth-Speaker: Synchronize Volume and send Album cover to Raspberry Pi (Laptop/Phone)
- a2dp and Bluetooth audio codecs
- How to set android as Bluetooth Sink to act like a Bluetooth earphones
- How can I use my Raspberry Pi as a Bluetooth sink with AVRCP protocol?
- How to write Virtual Audio device Driver in various platforms?
- How to initialize Linux as A2DP sink for a Bluetooth device?
- How to disconnect A2DP from UWP app for a BluetoothDevice?
- Disconnecting bluetooth a2dp device keeps connection for calls (real problem: it keeps auto reconnecting)
- How to disconnect the bound bluetooth device in Android
- Bluetooth (A2DP) Auto Re-Connection issue with android and Jetson nano using Bluez 5.63
- Creating an android app that acts as an A2DP sink for other devices to stream media to
- How to combine XT_DAC_Audio and A2DP BT-Sink on an ESP32?
- AudioManager.isBluetoothScoOn returns wrong value
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Sure, at some awfully slow sample rate <= 8 kHz. You'd be better off sending 8-bit audio at a higher sample rate.
Yes, absolutely, without question. That's what it's designed for, as I mentioned in your other question.
Acceptable is subjective. If it's just voice, you can get away with it. If you want reasonable audio quality for music, almost universally, no, it's not acceptable.
Without any code to inspect and debug, it's impossible to say what the specific problem is that you're referring to. Undoubtedly, the low bandwidth will not enable good quality audio anyway.
If you must continue to use SPP and simple codecs like PCM, at least use differential PCM to save a bit more bandwidth.