GithubHelp home page GithubHelp logo

borismus / sonicnet.js Goto Github PK

View Code? Open in Web Editor NEW
859.0 71.0 177.0 3.44 MB

Ultrasonic Networking with the Web Audio API

Home Page: http://smus.com/ultrasonic-networking

License: Apache License 2.0

CSS 5.32% JavaScript 90.75% Makefile 0.16% HTML 3.77%

sonicnet.js's Introduction

sonicnet.js's People

Contributors

borismus avatar oslego avatar vitorbaptista avatar

Stargazers

Phuoc avatar  avatar  avatar Jason Christa avatar MOD4EVER avatar Abdel Rahman Hussein avatar HAL avatar  avatar Julia Lee avatar  avatar Yuji Yamaguchi avatar  avatar laker avatar Vitaly Zadorozhny avatar Andrejs Agejevs avatar Volker Mische avatar piko avatar RiverRay avatar Matan Yemini avatar  avatar Jonathan Crowder avatar Eren Birk avatar Rasa Khosorfar - Rex avatar Zafar Ansari avatar Eduardo Blanco Bielsa avatar Greg Santos avatar Brian Frank avatar Derek Kolkema avatar Michael Sanford avatar Franco Sampietro avatar  avatar Ádám Jäger avatar Cat  avatar Pino Ceniccola avatar  avatar JerodG avatar Wendong Fan avatar  avatar Junior Quintero avatar Prikesh Savla avatar Yasin ATEŞ avatar Damion C avatar DT avatar  avatar Sashko avatar MUHAMMAD MANNIR AHMAD avatar Mohammad H. Sattarian avatar Arnaldo Gabriel avatar Sasha K avatar Gabriel Henrique Rudey avatar Fernando Bevilacqua avatar Dirk Holtwick avatar Yuri Petrik avatar  avatar Lakshan Enosh avatar Sebastian Murgul avatar Jonathan E. avatar Stephen Karl Larroque avatar Pavel Alexeev avatar Logan Keenan avatar  avatar  avatar Jesper Larsson avatar Nebojša Cvetković avatar Rui ZHANG avatar Danial Beg avatar Harris Beg avatar  avatar Abuzer Rafey avatar  avatar Derek Lu avatar Jake Wilson avatar Cloud avatar Mike Powers avatar 姑苏流白 avatar Yoel Naki avatar DIVYANSHU RAJ avatar Kevin Elgan avatar Andrei Leonardo Reitz avatar lois avatar Luc Alapini avatar Kevin.Y avatar Teresa avatar Shubham Belgaonkar avatar Ali Almahdi avatar Jon Ervie avatar Daizo Sasaki avatar Leo An avatar  avatar Sepideh avatar Johnny Eric Amancio avatar Yu Kobayashi avatar  avatar German Greiner avatar Andrea Pascal avatar Charles Karpati avatar Edward Hsu avatar  avatar Mohammad Habibzadeh avatar Todd Pressley avatar

Watchers

Clinton Freeman avatar edlai avatar Trygve Lie avatar Phil Wolff avatar Jan Vincent Liwanag avatar Daniel Moore avatar tom zhou avatar yury avatar Bo CHEN avatar  avatar Jae Lee avatar Leo An avatar roadlabs avatar Christian Hochfilzer avatar eccyan avatar Hawken Rives avatar sai sashankh donkena avatar Carlos Eugenio Torres avatar  avatar  avatar timelyportfolio avatar James Cloos avatar Victor Lemos avatar  avatar newcoder avatar Mike Luan avatar Andrei Leonardo Reitz avatar Jason Ma avatar MHasegawa avatar Drew Wicke avatar Takuro Fukamizu avatar Kuan avatar Richard J avatar  avatar 池中物王二狗sheldon avatar Michael Anthony avatar  avatar  avatar Martin Liu avatar Diogo Beda avatar Eduardo Pool avatar Oliver Bunke avatar  avatar Vatary avatar Rajesh Gopidi avatar chuan wang avatar  avatar Quentin LOZACH avatar ablal avatar  avatar Hiro avatar  avatar 闻道解惑 avatar  avatar Tae-woo Kim avatar Roney Francis avatar  avatar Jon Ervie avatar  avatar  avatar  avatar  avatar Andreas avatar Vitaly Zadorozhny avatar Pedro Cisternas avatar kaszub4u avatar  avatar  avatar  avatar  avatar  avatar

sonicnet.js's Issues

alternative for a internet conection

is posible to use like a alternative for a internet conection ?

when is not internet to call to a number and a server to give internet

utilizes the speakers and microphones from my computer to conect to 2G GSM phone for signal transport l

emoticon example not working

Tried the provided example. However we can't get it working. Tried it with between two macbooks (with chrome) and between an android and a macbook. We can verify that when pressing the emoticon it is emitting sound ( tested it with the spectrogram), however the receiver is not detecting the emoticon.

Won't work on mobile safari

When visiting the send-emotion demo on Mobile Safari. I get the following error:

TypeError: navigator.webkitGetUserMedia is not a function.

A search on caniuse shows that neither Safari nor Mobile Safari support WebRTC so far. Is there an alternative to WebRTC to read audio input?

offline

Hi @borismus ,
is it possible to get this working between two devices without the need for pairing over a web socket connection to a server. especially for those instances where both devices are offline.
BR,
josh

fix for dup characters

To deal with duplicat characters not detected, I wrote 2 functions that replace the duplicate with a - character so that no repeat appear in the transmitted string.

Then I call encodeDupChars in onSubmitForm and decodeDupChars in onIncomingChat:

function encodeDupChars(msg)
{
var letters = msg.split('');
for (var i=1;i<letters.length;i++)
{
var c = letters[i];
if (c === letters[i-1])
{
letters[i] = '-';
}
}
return letters.join('');
}

function decodeDupChars(msg)
{
var letters = msg.split('');
var res = [letters[0]];
for (var i=1;i<letters.length;i++)
{
var c = letters[i];
if (c == '-')
{
res.push(res[res.length-1]);
}
else
res.push(c);
}
return res.join('');
}

Doesn't work in latest Chrome

window.audioContext does not exist in the latest Chrome, it's window.AudioContext. Also, in the built file there are still requires everywhere...it would be nice if the build was standard JavaScript meant for the browser, either without requires and already bundled, or using ES modules. This looks like a cool project, if it were modernized a bit I could work with it more easily. Thanks!

Max distance ?

First of all Excellent implementation.

I wanted to know is it possible to tweak the code so that it works for a distance of around ~3 feet. As of now it works only when I hold the mobile and the laptop next to each.

Can't use download

When I download as zip chat doesn't work.
Uncaught ReferenceError: SonicServer is not defined in main.js

Am I doing something wrong?

Force HTTPS on demos

Thanks for making such a cool project!

I was experiencing trouble getting the device to hear my codes because (and I learned this after numerous tries) that you must use the HTTPS version of the website in order to get the notification for the microphone request. Please consult the image below for a preview of the Settings tab above for GitHub Pages:
https://pageshot.net/kpTWIE9YqslXXwYM/github.com

emoticons sample not working

Hi,
I appreciate the concept which you have mode.It is a fascinating idea especially for IOT.
Well I am not able to make the application work on my Side.
I did following
I used the following URL
http://borismus.github.io/sonicnet.js/emoticons/

1)Windows chrome and Ubuntu chrome (No communication)
2)Ubuntu chrome and android chrome(No communication)
3)Windows Chrome and Android Chrome (No communication)

Following are the logs:
'webkitAudioContext' is deprecated. Please use 'AudioContext' instead.
all.js:302 getUserMedia() no longer works on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details.
all.js:350 Audio input error: NavigatorUserMediaErrorconstraintName: ""message: "Only secure origins are allowed (see: https://goo.gl/Y0ZkNV)."name: "PermissionDeniedError"proto: NavigatorUserMediaErrorSonicServer.onStreamError_ @ all.js:350
chrome-extension://ahdmnckpgiahccdbfhdpemiaggfcnbhe/popup.js:2 Uncaught ReferenceError: jQuery is not defined
3all.js:311 Uncaught TypeError: Cannot read property 'stop' of undefined

Please let me know if I am missing anything from my side.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.