ideas icon indicating copy to clipboard operation
ideas copied to clipboard

Open Source vesion of SoundWire Android App

Open karuppiah7890 opened this issue 8 years ago • 16 comments

Project description

Simply put, I want to make an Open Source version of this App.

https://play.google.com/store/apps/details?id=com.georgie.SoundWireFree

The App is super cool. And I want to learn how it works. I am new to streaming and stuff, and I don't know much about audio concepts. But I do know some network concepts. So if we make this App, we can learn a lot, and of course we can help the Open Source community help with how connected Android devices work. And then finally put the App in PlayStore and in F-Droid

Relevant Technology

Platform : Android Language : Java Concepts to know : Networking. Streaming, especially Audio Streaming.

Who is this for

Experienced developers who want to learn more about networking and audio streaming.


Share on Twitter/other social media if you will. Something like

New project on Open Source Ideas Initiative: 
Open Source version of SoundWire Android App – https://github.com/mikaelbr/open-source-ideas/issues/27

karuppiah7890 avatar Oct 31 '16 16:10 karuppiah7890

Much work?? Really?

ivanstepanovftw avatar Aug 22 '17 17:08 ivanstepanovftw

@AshFTW Well, it's a relative term. If you have something to say or suggest about the project, please do. It's of no use to comment on the labels it has.

karuppiah7890 avatar Aug 24 '17 18:08 karuppiah7890

Im tried to make desktop app for linux (disassembled via IDAq64), that record audio, but without success. https://gist.github.com/AshFTW/bc1f68af82277c33b6664373fad97135 If somebody know how to record internal sound - please, reply me

ivanstepanovftw avatar Aug 30 '17 03:08 ivanstepanovftw

@AshFTW Oh, okay. I don't know much about audio, sound cards and stuff though. But you need to know about ALSA (http://www.alsa-project.org/main/index.php/Main_Page) for understanding audio in Linux. Here is something you can see to check how to record internal sound in Linux using Audacity http://manual.audacityteam.org/man/tutorial_recording_computer_playback_on_linux.html

I just got some idea on how to do it without PulseAudio ( last time I did it with this ). Also, there's a nice project which tries to cast system (Mac or Linux) audio to ChromeCast and it's written in Python though. I know only NodeJs for now. Here's the repo : https://github.com/muammar/mkchromecast

karuppiah7890 avatar Aug 30 '17 05:08 karuppiah7890

Here is just a simple proof of concept on the linux side, that I used to show that I can pipe through internet some sound.

First, to get the available input/output, run:

pactl list short | egrep "alsa_(input|output)"

the .monitor are useful if you want to record the sound from a sound card, the ***_input are the microphone, and the ***_output are the card sound output.

Then listen on one computer/card the sound that you redirect to a given card:

netcat -k -l -p 12345 | pacat -p --latency-msec=1 -d alsa_output.pci-0000_00_1b.0.analog-stereo --format=s16le

and use the following to send the sound though the network:

pacat -r -d alsa_output.usb-Polycom_Inc._Polycom_Communicator_L80641023D79-00.analog-stereo.monitor --latency-msec=1 --format=s16le | netcat localhost 12345

Now, I still need to figure out how to output the sound on the android side.

tobiasBora avatar Jan 17 '18 00:01 tobiasBora

And it looks like that there is a port of pulseaudio on termux, so it may be easy to use port this as it on termux... https://github.com/termux/termux-packages/issues/821

tobiasBora avatar Jan 17 '18 01:01 tobiasBora

A last message for tonight: this great post explains how to play raw live streamed data. I'm pretty sure that combining all of these should provide an pretty straight forward way to create this app. I may give it a try in a few days when I'll have more time...

tobiasBora avatar Jan 17 '18 01:01 tobiasBora

@tobiasBora I've done it(Linux server and client c++), reply me

ivanstepanovftw avatar Mar 05 '18 11:03 ivanstepanovftw

@AshFTW Could you link the repository?

FredrikAugust avatar Mar 05 '18 11:03 FredrikAugust

@FredrikAugust later, I'm in the bus right now:grinning:

ivanstepanovftw avatar Mar 05 '18 11:03 ivanstepanovftw

@FredrikAugust https://github.com/AshFTW/output-audio-stream

ivanstepanovftw avatar Mar 05 '18 16:03 ivanstepanovftw

Cool! @karuppiah7890 does this project match your specifications?

EDIT: I see that the app-part of it isn't implemented, so I'll leave the issue up for now.

FredrikAugust avatar Mar 05 '18 21:03 FredrikAugust

Doing an Android -> PC route wouldn't be bad too.

Dil3mm4 avatar Feb 05 '19 03:02 Dil3mm4

I just noticed this. 🙈

karuppiah7890 avatar Feb 05 '19 04:02 karuppiah7890

@karuppiah7890 that's sounds a good idea. A version in CLI for Linux with a service systemd or systemctl to work in background with the system. Without need a GUI. It's my dream! That guy doesn't work with Linux or another Open Source platform. Doesn't exist a install.sh or a basic README.md! The basic!

OzRib avatar Apr 27 '21 11:04 OzRib

Doing an Android -> PC route wouldn't be bad too.

That already has existing solution like connecting through bluetooth or using scrcpy --no-video.

Use sndcpy, if your Android version is <= 10; Bluetooth works on all versions.

ShockedCoder avatar Sep 16 '23 17:09 ShockedCoder