Vrok – smokin’ audio

Vrok is a cross platform audio player(Linux, Windows and Android). There have been audio players before it and there will be after it, but Vrok is not your average audio player. Vrok is a project in development and is a project done in free time. There are no guarantees that it’ll answer every problem that you have about media management and playback. What it would do however is to try to be simple but effective at doing the most common jobs and a few more things that the developer thinks as important.


Please check out VrokNext, which has a superior design than Vrok 4 and below. VrokNext does not include a UI for Windows and Linux builds yet. New releases will forcus on having a library to encapsulate the native functions of Vrok. Things that doesn’t have to be native (i.e. things that doesn’t require realtime processing) will be implemented in other languages (hopefully …).

Android(v3.0b 4.0.3 and up) Download ARMv7, NEON, 1GHz+ CPU needed, Dual Core recommended.
Windows x86 (command line only UI) Download Download vrok-win-setup.zip, extract it to some place you want vrok installed. Run run.bat, if write permissions are needed run run.bat as Administrator


Android(v3.0b 4.0.3 and up) Download ARMv7, NEON, 1GHz+ CPU needed, Dual Core recommended.
Windows x86(v4.1 NEW)* Download Download vrok-win-setup.zip, extract it to some place you want vrok installed. Run run.bat, if write permissions are needed run run.bat as Administrator



A full rewrite of old Vrok happens at: https://github.com/manushanga/VrokNext, includes source to build for multiple platforms (Windows, Linux and Android). VrokNext is written in C++11.

Development of Vrok happens at: https://github.com/manushanga/vrok, this is only the desktop version.

Arch Linux (AUR)

Vrok 4.1 (radio streaming)

  • Aims to keep low CPU usage at all times.
  • FLAC, MP3 and OGG are run through their own decoders, for other formats FFmpeg does the demuxing and decoding. For videos there is no video output as of yet.
  • All audio data is 32bit floating point even at output to sound API, non floating point sound APIs are used with conversion at the output end. On Linux, ALSA connects to the highest bit depth that your sound card can support.
  • Gapless audio, gapless is truly possible only if the channel count and sample rate are equal, if not Vrok won’t do gapless. Gapless can be done in a lock free way without any callback, due to deficiencies in current GUI it goes through a call back, this can be fixed but won’t because I’m lazy. On 4.1 and above, Vrok has internal events, now any plugin listen for internal events and get notified as they happen without messy C style callbacks.
  • Streaming Media(pending) and Internet Radio support in 4.1 thanks to FFmpeg!
  • Support for devices(pending) that are recognized by the operating system***.
  • Shibatch Super EQ thanks to DeaDBeeF’s implementation for floating point PCM data
  • New Media Library works like any media library that you’d find in any other player, but album names, artist names ..etc are left out due to inconsistencies that they bring. Instead of whatever management of music you’d want to do, you should do with the folder structure and filenames.
  • Search Media new media library lets you search through your library.
  • Spatial Audio a 3D audio DSP plugin that widens stereo outputs based on Transaural principles (from version 3 onwards).
  • Auto Pause automatically pauses when the audio device is being used by other processes and resumes playback when the other process releases the audio device, currently only ALSA is supported support on Windows and PulseAudio is scheduled

Please refrain playing files that require more than what your hardware can playback: Vrok will playback but there is no down mixing as of now. Down mixing support is planned.

Note to plugin developers

Vrok’s development is different than any other player that uses plugins to extend its features, Vrok is distributed as a single binary all the plugins live in the same source tree (Linux Kernel uses this development strategy to keep all plugins compatible with newer versions). The developer burden of maintaining binary interfaces for backwards compatibility is huge, therefore it’s best to submit all the new plugins you develop for Vrok to the original source tree. So that they’ll be supported in newer versions without breakage.

* For whom it may concern, I distribute a binary version of ffmpeg with Vrok for ease of use of Windows users. The binaries have been taken from http://ffmpeg.zeranoe.com/builds/ and are distributed in the same form that I recieved them.

** Ubuntu users, please compile from source Vrok has come a long way since 2.0.

*** This means that the device has a filesystem driver so that it’s storage can be mounted in to the system’s filesystem.

Known Issues

  • When using ALSA as output, playing back will result in a concequetive noise the reason for this is that ALSA is forwarding all data given to it to the sound card’s buffer as is and the sound card doesn’t support float, it plays back in 16bit int or 24 bit int. The fix would be to add a mixer on top of the sound card buffer as explained here, https://0xdeafc0de.wordpress.com/2014/05/04/alc1150-on-msi-x87-gd65-alsa-setup/. You may have to change it slightly if you do not have the same motherboard.

13 thoughts on “Vrok – smokin’ audio

    • It is the visualizer that is not working(I removed it due a threading error, will fix it when I get some time). FX=Equalizer 🙂

    • You have downloaded the binary for the wrong architecture, try using 32bit one. And do not try to run it from a partition that is not Unix(fat32/ntfs..etc) they dont support Unix style permissions


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s