open-source-ideas / ideas

💡 Looking for inspiration for your next open source project? Or perhaps you've got a brilliant idea you can't wait to share with others? Open Source Ideas is a community built specifically for this! 👋
6.56k stars 221 forks source link

Open Source vesion of SoundWire Android App #27

Open karuppiah7890 opened 7 years ago

karuppiah7890 commented 7 years ago

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
ivanstepanovftw commented 7 years ago

Much work?? Really?

karuppiah7890 commented 7 years ago

@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.

ivanstepanovftw commented 7 years ago

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

karuppiah7890 commented 7 years ago

@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

tobiasBora commented 6 years ago

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 commented 6 years ago

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 commented 6 years ago

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...

ivanstepanovftw commented 6 years ago

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

FredrikAugust commented 6 years ago

@AshFTW Could you link the repository?

ivanstepanovftw commented 6 years ago

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

ivanstepanovftw commented 6 years ago

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

FredrikAugust commented 6 years ago

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.

Dil3mm4 commented 5 years ago

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

karuppiah7890 commented 5 years ago

I just noticed this. 🙈

OzRib commented 3 years ago

@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!

ShockedCoder commented 1 year ago

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.