Skip to content
View adrenak's full-sized avatar
πŸ’»
πŸ’»

Organizations

@NVIDIAGameWorks @Plakc @digibeings-ai @firexit

Block or report adrenak

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
adrenak/README.md

Hi there πŸ‘‹

Adrenak's GitHub stats

LinkedIn

πŸ—£οΈπŸŒπŸ”Š UniVoice updates

Major changes have happened between UniVoice v3 and v4

  • All previously separate UniVoice repositories have been archived and moved to the main UniVoice repository in efforts of making it a mono repo. This means no more dealing with a big list of package dependencies (and their dependencies)!
  • Opus codec support has been added via Concentus-Unity. This means your bandwidth usage is <90% compared to v3, making it suitable for production use.
  • Mirror is supported out of the box and a sample scene is included to help you get started!
  • Old network implementations for PUN2, Telepathy, Mirror and Airpeer currently only work with UniVoice v3. They'll be added as in-built networks to v4 in future releases.

Changes to dependency repositories:

  • UniMic has moved to v3:

    • Multiple mic devices can be used in parallel
    • Major improvements to the API
    • Fixes to the audio frame construction
    • Performance improvements and reduced GC allocation
    • StreamedAudioSource.cs for playback of audio frames as they arrive. Runtime changes in frequency, channel count and frame length are handled automatically.
  • Concentus-Unity for pure C# Opus functionality with Speex resampler.

    • Encoding and decoding features are present in ContentusEncodeFilter.cs and ConcentusDecodeFilter.cs in the form of incoming and outgoing audio filters.
    • Even through it's C#, building with IL2CPP should help approaching native performance.
  • BRW used for writing and reading binary messages is unchanged.

  • UnityOpus for Opus features via interop calls to native libraries (not a dependency, but can be added easily)

    • This isn't a dependency yet. The reason is that the pre-built native libraries in UnityOpus may cause build errors (on Android). Hence the move to Concentus-Unity for a pure C# approach that's build target independent.
    • If you wish to use native libraries for Opus features, import UnityOpus into your project and add this file for encode and decode filters.
    • Also if you can get new native libraries built for Windows, Linux, Android, iOS and Mac using the existing C++ code, I'd really appreciate a pull request 😊

UniVoice has some big improvements lined up, this includes:

  • ✍️ Better documentation and maybe even some video tutorials
  • πŸ—£οΈ Echo cancellation
  • πŸ›œ Support for FishNet, Purr, Mirage, Network For GameObjects, PUN2 and maybe also Unity WebRTC

Thanks for the continued support! If you are joining or have been part of the UniVoice journey, give it a Github star ⭐!

Pinned Loading

  1. GPUVideoPlayer GPUVideoPlayer Public archive

    Fast video playback on Unity using GPU Decoding

    C++ 128 29

  2. univoice univoice Public

    Voice chat/VoIP solution for unity.

    C# 374 35

  3. unimic unimic Public

    Unity's Microphone enhanced and made easy.

    C# 121 14

  4. airpeer airpeer Public

    A WebRTC based networking plugin for Unity

    C# 51 6

  5. tork tork Public

    Arcade vehicle physics for Unity

    C# 432 66

  6. UnityOpus UnityOpus Public

    Forked from TyounanMOTI/UnityOpus

    libopus bridge for Unity

    C 4 1