Skip to content

Repository files navigation

Diyokee

A work in progress, DJ mixing webapp with streaming support, where the UI runs on your browser.

Watch the video *You will notice that while loading some tracks the UI freezes. This has been greatly improved in version 2025.11.11

Basic usage

  • To load a track into a player, drag & drop the track or select the track and click the button. You can also use Shift+Ctrl+A or Shift+Ctrl+B keys on your keyboard to load a track into the A or B player, respectively.
  • Click the button to start playing.
  • Click the button to stop playback and move to the beginning of the track.
  • Click the button to define a cue point. At this moment, only one cue point can be defined, and it will always snap to the nearest beat marker.
  • Click the button to jump to the cue point. Leave the button pressed to temporarily play the track from the cue point.
  • Click the button to sync the track to the other player
  • Use the fader to change the volume.
  • Use the fader to change the tempo (BPM).
  • Use the Hi/Mid/Low knobs to change the track's equalization.
    Right-click over the Eq control to display a menu with several presets from popular mixing consoles.
  • Use the fader between the two players to cross-fade between them.
  • Faders and knobs can be used by clicking and dragging or by moving the mouse over them and using the scroll wheel.
  • Use the and buttons under the SYNC section to perform small tempo adjustments.
  • You can click and drag over both waveforms (synced and full) to change the playback position.
  • Search for files in the textbox at the bottom of the files list. The search is recursive.
  • Double-click a track in the files list to open the Track Properties dialog. image
  • Use the Jump and Cue buttons to switch between Loop/Jump and Cue tabs. image
  • Drag the synced waveform to scratch. Touch and release behavior is under Settings > Playback.
  • In Track Properties, the Grid row edits a track's beat grid:
    • Edit - drag any beat line onto the audio it belongs on. Hover a beat and click + to pin it as a reference; nothing before a reference can move.
    • Auto - measures the track and corrects the grid for you, including the BPM if that was the error. It leaves the track alone when it cannot follow it.
    • Reset - undo every grid change.
  • Since 2025/11/19 Diyokee supports MIDI controllers. Click the Settings button and scroll down to the MIDI section to select the MIDI device and create a profile for your controller. image

What's new since 2026-04-14

  • Scratching - drag the synced waveform. Vinyl or bend on touch, inertia or brake on release.
  • Flexible beat grid - a track can now hold more than one tempo, so a track that drifts can be gridded end to end. Playback follows the grid, so it stays on the beat.
  • Automatic gridding - one button corrects the grid by measuring the track rather than by eye.
  • Live audio matrix - output routing changes apply immediately instead of needing a restart.
  • Dropbox as a media provider.
  • Measure lines on both waveforms, with a toggle for each.
  • Settings dialog reorganized into categories.
  • VU meters can show only the level being played, rather than that plus the track's own.
  • VU beat indicator now follows the track's downbeat instead of the start of the track.
  • Track Properties edits no longer reach a loaded deck until you press Save.
  • Fixes: searching from a provider's root folder, cue/jump/beat-snap on a paused deck, unavailable drives in the folder browser, ARM Linux detection, and a busy indicator while a folder is being analyzed.

Notable missing features and known bugs

  • Pitch/key adjustments don't seem to work on platforms other than Windows
  • Accessing shared folders from Linux/macOS appears to be broken - you can still manually type/paste the folder path, but the file browser is lacking support to detect such sources
  • A fancy screen for remote connections to the stream
  • The settings dialog does not yet support streaming configuration
  • Searching is quite limited and a bit buggy
  • State preservation is only partially implemented and the way it works sucks
  • Making changes to the MIDI profiles or changing the MIDI controller requires restarting the application
  • ...and probably many more

Latest Releases

Platform Architecture Status Download Release Date
Windows x64 Working 2026-09-09
Linux x64 Working 2026-09-09
Linux Arm64 Working 2026-09-09
MacOS x64 Working1 2026-09-09
MacOS Arm64 Working1 2026-09-09

Acknowledgments

This project wouldn't have been possible without the following:

Alt

Is there anyone insterested in this? Hello!? Anyone?

Footnotes

  1. Before running the program, open a Terminal and change to the directory where you unzipped the file (usually ~/Downloads/diyokee-osx-x64).
    Next, run the script: ./pre-run.sh.
    Now, you can launch the app by double-clicking the Diyokee-server file in the Finder or by running ./Diyokee-server from the Terminal. 2

About

DJ mixing webapp with streaming support

Topics

Resources

Stars

10 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages