Tiny, minimal dependency and embeddable library implementing Discord media server protocols, built on Netty, aiming for high performance and reduced GC usage.
Example:
repositories {
    maven { url 'https://jitpack.io' }
}
// ...
dependencies {
    implementation 'moe.kyokobot.koe:core:VERSION'
}VERSION can be either a tag or a git commit hash.
- Netty
 - slf4j
 - Java 11+ (could be backported to Java 8 with minor code changes)
 
- Supports voice gateway v4, v5 and v8.
 - Easily extendable for stuff such as support for codecs other than Opus or video sending, if Discord ever decides to support it on bots.
 - Experimental video support.
 - Basic RTCP support for measuring packet loss and other stuff.
 
- Encoding - Koe only implements voice server communication, not voice handling itself, so it only accepts Opus frames and you have set up an encoder yourself, use lavaplayer, libav/ffmpeg or anything else.
 - Voice receiving support - it's not supported by Discord anyway, although someone could implement it by registering hooks.
 
@TheAkio for name idea.
Koe includes modified/stripped-down parts based on following open-source projects:
- tweetnacl-java (Poly1305, SecretBox)
 - nanojson (modified for bytebuf support, changed the API a bit and etc.)