All Projects → adrenak → Univoice

adrenak / Univoice

Licence: mit
P2P VoIP in Unity

Projects that are alternatives of or similar to Univoice

univoice
Voice chat/VoIP solution for unity. P2P implementation included.
Stars: ✭ 192 (+50%)
Mutual labels:  peer-to-peer, p2p, voice, microphone, voip
SentryPeer
A distributed peer to peer list of bad actor IP addresses and phone numbers collected via a SIP Honeypot.
Stars: ✭ 108 (-15.62%)
Mutual labels:  peer-to-peer, p2p, voip
Camus
Peer-to-peer group video chat using WebRTC, Python, and Javascript
Stars: ✭ 75 (-41.41%)
Mutual labels:  p2p, peer-to-peer
Figaro
Real-time voice-changer for voice-chat, etc. Will support many different voice-filters and features in the future. 🎵
Stars: ✭ 80 (-37.5%)
Mutual labels:  microphone, voice
Amoeba
The Amoeba Project
Stars: ✭ 85 (-33.59%)
Mutual labels:  p2p, peer-to-peer
Unimic
A wrapper for Unity's Microphone class.
Stars: ✭ 65 (-49.22%)
Mutual labels:  unity, microphone
Mesh
A secure, anonymous, peer-to-peer, instant messenger!
Stars: ✭ 74 (-42.19%)
Mutual labels:  p2p, peer-to-peer
Js Dag Service
Library for storing and replicating hash-linked data over the IPFS network.
Stars: ✭ 81 (-36.72%)
Mutual labels:  p2p, peer-to-peer
Syncthing Macos
Frugal and native macOS Syncthing application bundle
Stars: ✭ 1,096 (+756.25%)
Mutual labels:  p2p, peer-to-peer
Syncthing
Open Source Continuous File Synchronization
Stars: ✭ 41,904 (+32637.5%)
Mutual labels:  p2p, peer-to-peer
Airdcpp Webclient
Communal peer-to-peer file sharing application for file servers/NAS devices
Stars: ✭ 106 (-17.19%)
Mutual labels:  p2p, peer-to-peer
Bitchatclient
Technitium Bit Chat, a secure, peer-to-peer, instant messenger!
Stars: ✭ 111 (-13.28%)
Mutual labels:  p2p, peer-to-peer
Ciruela
A peer-to-peer synchronization software for servers in datacenters.
Stars: ✭ 61 (-52.34%)
Mutual labels:  p2p, peer-to-peer
Gophergameserver
🏆 Feature packed, easy-to-use game server API for Go back-ends and Javascript clients. Tutorials and examples included!
Stars: ✭ 61 (-52.34%)
Mutual labels:  voice, voip
Unityrtc
基于webrtc的unity多人游戏实时语音(A Unity Demo for Impl Real-time Game Voice Among Mutiplayers Based On WEBRTC)
Stars: ✭ 74 (-42.19%)
Mutual labels:  unity, voice
Spruce Network
Decentralized peer-to-peer mesh network.
Stars: ✭ 61 (-52.34%)
Mutual labels:  p2p, peer-to-peer
Go2p
Simple to use but full configurable p2p framework
Stars: ✭ 80 (-37.5%)
Mutual labels:  p2p, peer-to-peer
Ethereumjs Devp2p
Project is in active development and has been moved to the EthereumJS VM monorepo.
Stars: ✭ 119 (-7.03%)
Mutual labels:  p2p, peer-to-peer
Francium Voice
Record user voice and encode it as MP3 or WAV
Stars: ✭ 35 (-72.66%)
Mutual labels:  microphone, voice
Dissonance
Unity Voice Chat Asset
Stars: ✭ 36 (-71.87%)
Mutual labels:  unity, voip

UniVoice

A Peer to Peer Voice Over IP (VoIP) solution for Unity

Intro

UniVoice uses UniMic to capture audio and AirPeer to form WebRTC based peer to peer connections between which audio data can be exchanged.

Usage

Basic

  • Voice.New(AudioSource src) to create a new Voice instance. src is the AudioSource component that will play the incoming audio.
var voice = Voice.New(GetComponent<AudioSource>());
  • Voice.Create(string name, Action<bool> callback) creates a new room for voice chat. name should be unique (globally), callback is true if the room was created successfully, else false.
voice.Create("a3b4cd", success => Debug.Log("Room create success: " + success));
  • Voice.Join(string name, Action<bool> callback) attempts to join an existing room. name should be the one to be joined. callback is true if the join was successful, else false.
voice.Join("a3b4cd", success => Debug.Log("Room join success: " + success));
  • Voice.OnJoin(ConnectionId id) event fired on a Voice instance that is serving as a host (ie. .Create was called on it) everytime a peer joins the room

  • Voice.OnLeave(ConnectionId id) event fired on a Voice instance that is serving as a host (ie. .Create was called on it) everytime a peer leaves the room

  • Voice.OnSendVoiceSegment(int index, float[] segment) event fired everytime an audio segment was sent over the network. segment is the float representation of the audio and index represents the index of the segment. Eg. The first segment is indexed as 0

  • Voice.OnGetVoiceSegment(int index, float[] segment) event fired everytime an audio segment is received over the network. segment is the float representation of the audio and index represents the index of the segment. Eg. The first segment is indexed as 0

Known Issues

  • Room creation/join fails. This happens less often on mobile data (as compared to WiFi).
  • More

Contact

@www
@github

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].