npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@boruto_vk7/voice

v1.0.2

Published

Fork do @discordjs/voice otimizado para Termux. Usa @boruto_vk7/opus-ogg como engine de áudio. DAVE encryption (e2ee) é opcional.

Readme

@boruto_vk7/voice-ogg

Implementation of the Discord Voice API for Node.js, optimized for Termux.

This is a fork of @discordjs/voice that replaces prism-media with @boruto_vk7/opus-ogg as the primary audio engine.


Key Differences from @discordjs/voice

  • No prism-media hard dependency: The audio pipeline uses @boruto_vk7/opus-ogg for Ogg Opus demuxing, eliminating the need for prism-media as a core dependency.
  • Termux Compatible: Designed to work in Android environments via Termux with minimal native dependencies.
  • Lower Node.js requirement: Supports Node.js 18+ instead of 22.12.0+, making it compatible with more Termux setups.
  • FFmpeg fallback: Includes a built-in child_process fallback for FFmpeg, so ffmpeg-static is optional.

Features

  • Send and receive audio in Discord voice-based channels
  • A strong focus on reliability and predictable behavior
  • Horizontal scalability with custom adapters
  • A robust audio processing system powered by @boruto_vk7/opus-ogg

Installation

npm install @boruto_vk7/voice-ogg

Required Node.js: 18.0.0 or newer

Termux Setup:

pkg install nodejs ffmpeg
npm install @boruto_vk7/voice-ogg

Dependencies

This library has several optional dependencies. Install one dependency from each category:

Encryption Libraries:

Only needed if your system does not support aes-256-gcm.

npm install sodium
# or
npm install libsodium-wrappers
# or
npm install @noble/ciphers

Opus Libraries:

npm install @discordjs/opus
# or
npm install opusscript

FFmpeg:

# Termux:
pkg install ffmpeg

# Other platforms - ensure ffmpeg is in PATH, or:
npm install ffmpeg-static

Examples

Basic Music Player

const { createAudioPlayer, createAudioResource, joinVoiceChannel, StreamType } = require('@boruto_vk7/voice-ogg');
const { EngineOgg, OggToOpusStream } = require('@boruto_vk7/opus-ogg');

// Join a voice channel
const connection = joinVoiceChannel({
  channelId: 'CHANNEL_ID',
  guildId: 'GUILD_ID',
  adapterCreator: voiceAdapterCreator,
});

// Create an audio player
const player = createAudioPlayer();

// Create a resource using EngineOgg + OggToOpusStream
const oggStream = EngineOgg('https://example.com/audio.mp3', {
  profile: 'audio',
  forceStereo: true,
});

const opusStream = OggToOpusStream(oggStream);

const resource = createAudioResource(opusStream, {
  inputType: StreamType.Opus,
});

// Play the resource
connection.subscribe(player);
player.play(resource);

Local File Playback

const { createAudioResource, StreamType } = require('@boruto_vk7/voice-ogg');

// When you specify a file path, FFmpeg is used automatically
const resource = createAudioResource('./path/to/file.mp3');

WhatsApp-Compatible Voice (Mono)

const { EngineOgg, OggToOpusStream } = require('@boruto_vk7/opus-ogg');
const { createAudioResource, StreamType } = require('@boruto_vk7/voice-ogg');

const oggStream = EngineOgg('input.mp3', {
  profile: 'voip',
  forceStereo: false,  // Mono for WhatsApp iOS
});

const opusStream = OggToOpusStream(oggStream);

const resource = createAudioResource(opusStream, {
  inputType: StreamType.Opus,
});

API

This fork maintains the same public API as @discordjs/voice v0.19.2. All exports remain identical:

| Export | Description | |--------|-------------| | createAudioPlayer | Creates a new AudioPlayer | | createAudioResource | Creates an AudioResource from input | | joinVoiceChannel | Joins a Discord voice channel | | StreamType | Enum for stream types | | TransformerType | Enum for transformer types | | demuxProbe | Probes a stream to detect its type | | generateDependencyReport | Generates a dependency report | | VoiceConnection | Voice connection class | | AudioResource | Audio resource class | | AudioPlayer | Audio player class |


License

MIT


Fork based on: @discordjs/voice v0.19.2 Audio Engine: @boruto_vk7/opus-ogg v1.2.2 Developed by: eduh_dev021 (Borutovk7)