Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open Source vesion of SoundWire Android App #27

Open
karuppiah7890 opened this issue Oct 31, 2016 · 16 comments
Open

Open Source vesion of SoundWire Android App #27

karuppiah7890 opened this issue Oct 31, 2016 · 16 comments
Labels
Advanced Projects that require a high level of understanding of the topics specified, or programming in gnrl. Much work This project takes little time to complete. (ETA several weeks+)

Comments

@karuppiah7890
Copy link

karuppiah7890 commented Oct 31, 2016

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
@FredrikAugust FredrikAugust added Much work This project takes little time to complete. (ETA several weeks+) Advanced Projects that require a high level of understanding of the topics specified, or programming in gnrl. labels Nov 1, 2016
@ivanstepanovftw
Copy link

Much work?? Really?

@karuppiah7890
Copy link
Author

karuppiah7890 commented Aug 24, 2017

@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
Copy link

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
Copy link
Author

@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
Copy link

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
Copy link

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... termux/termux-packages#821

@tobiasBora
Copy link

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
Copy link

ivanstepanovftw commented Mar 5, 2018

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

@FredrikAugust
Copy link
Collaborator

@ashftw Could you link the repository?

@ivanstepanovftw
Copy link

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

@ivanstepanovftw
Copy link

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

@FredrikAugust
Copy link
Collaborator

FredrikAugust commented Mar 5, 2018

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
Copy link

Dil3mm4 commented Feb 5, 2019

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

@karuppiah7890
Copy link
Author

I just noticed this. 🙈

@OzRib
Copy link

OzRib commented Apr 27, 2021

@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
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Advanced Projects that require a high level of understanding of the topics specified, or programming in gnrl. Much work This project takes little time to complete. (ETA several weeks+)
Projects
None yet
Development

No branches or pull requests

7 participants