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

Add option to share to browser in proximity via audio #64

Open
feross opened this issue Jun 21, 2015 · 12 comments
Open

Add option to share to browser in proximity via audio #64

feross opened this issue Jun 21, 2015 · 12 comments

Comments

@feross
Copy link
Member

feross commented Jun 21, 2015

Here's a mad science idea:

  • Seeder broadcasts hash in audio form somehow (high frequency - inaudible, or audio modulation?)
  • Downloader allows their mic to be used

Info hash is exchanged via sound waves to nearby computers, so you don't need to figure out a way to get the info hash to the other person who's sitting next to you. Typing an info hash out is hard, and you might not have an easy out-of-band way to communicate (iMessage, gchat, etc.).

@feross feross changed the title Add option to share to browser in proxity via audio Add option to share to browser in proximity via audio Jun 21, 2015
@feross
Copy link
Member Author

feross commented Jun 21, 2015

@jhiesey What do you think of this idea?

@mafintosh
Copy link
Contributor

this would be awesome as a separate module!

@feross
Copy link
Member Author

feross commented Jun 21, 2015

Yes!

@jakefb
Copy link
Contributor

jakefb commented Jun 21, 2015

I think this would be really cool for setting up a Apple TV or Chromecast like device. Imagine a box hooked up to a TV which is running an app (like playback) that listens for sound waves. When it receives the audio and is able to decode the info hash, it starts streaming the video (or audio) file from the nearby computer - similar to the user experience of an Apple TV!

@rom1504
Copy link
Member

rom1504 commented Jun 21, 2015

@feross
Copy link
Member Author

feross commented Jul 7, 2015

And https://shareby.me/

@yangwao
Copy link

yangwao commented Jul 9, 2015

Some technical knowledge behind http://applidium.com/en/news/data_transfer_through_sound/

@feross
Copy link
Member Author

feross commented Jul 9, 2015

@conundrumer
Copy link

shareby.me src: https://github.com/khankuan/shareby.me

@Ravenstine
Copy link

Not sure if this helps(and I'm being biased here since it's my project), but this is an example of decoding audio signals in JS. Okay, technically CoffeeScript.

Google Tone suggests use of DTMF, which the goertzeljs demo includes, though I'd think that something FSK based might work better as it could allow for frequencies that are out of range of human hearing as well as a faster baud rate. The reason I'd take that into consideration is because Google Tone actually uses an external API to deliver links while the information it's sending over DTMF is a "code" in reference to the true link stored elsewhere, which is kinda lousy.

The same thing might be accomplished with AnalyserNode, but I've never used it myself.
.
Either way, it'd be pretty cool since it could open up doors for bidirectional communication over a short distance.

@feross
Copy link
Member Author

feross commented Mar 19, 2016

@Ravenstine Very neat library! Just tried it out and it worked perfectly. It's also amazingly lightweight:

$ browserify -r goertzeljs | gzip | wc -c
    1663

Do you have any interest in sending a PR that uses goertzeljs to implement this feature?

@Ravenstine
Copy link

@feross Sure, that'd be fun. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants