DJ PRO - Play your music

DJ

If you ever wanted to listen to your own music within your game, you can do so now.
DJ is, simply put, the missing link between Unity and your music-library.

As the name promises, it’s a solution to build the music player of your dreams – just like a real DJ.
It adds and plays audio files from anywhere inside your application, it’s very configurable and you can add as many records, sets and turntables as you wish.

DJ is a must for everyone who loves music!

Features:
DJ and turntables

  • Support for those audio formats on any platform:

  • MP3

  • OGG

  • XM

  • IT

  • MOD

  • S3M

  • WAV

  • AIFF

  • Export audio from a turntable or the whole session

  • Read the lyrics of the current record

  • Open Spotify with the current record

  • Tune into multiple turntables at the same time (and blend between records)

  • Reads tags like ID3

  • Reads and saves M3U, PLS and XSPF files

  • Crossfade between turntables and records

  • Loop between start and end position

  • Events for certain positions

  • Analyze the BPM of a record

  • Cache records to play them with no delay (e.g. a piano)

  • History of all played records

  • Watchdog for file system changes

  • Performance: Very low impact on performance!

  • No limits: Does survive changing scenes! The music is not interrupted even during a load operation if necessary.

Filter & order
Filter and order (ascending/descending) the records by:

  • Name
  • Title
  • Artist
  • Album
  • Genre
  • Rating
  • Year
  • Duration
  • Path
  • Size
  • Format

Documentation & control

  • Test all audio records inside the editor
  • Powerful API for maximum control
  • Detailed demo scenes
  • Comprehensive documentation and support
  • Full source code (including libraries)

Compatibility

  • Supports all build platforms

  • Works with Windows, Mac and Linux editors

  • Compatible with Unity 2019.4 – 2023

  • Supports AR and VR

  • C# delegates and Unity events

  • OnRadio integration for song art

  • Works great with Radio

  • Works with Online Check

  • Works with File Browser

Integrations:

Some impressions:

Video:

AssetStore:
DJ PRO
Audio Suite Bundle
All Tools Bundle

Our other assets


Demos:
Windows
Mac
Linux
Android

Changes

Feel free to download and test it.
Any constructive comments are very welcome!

Cheers
Stefan

1 Like

Amazing work Stefan. Downloaded the demo on my mac and gave it a test drive.
Looking really awesome. Great work.

1 Like

Question about the “Cache tracks to play them with no delay (e.g. a piano)”.
Is it feasible to support a full size keyboard on a mobile app?

Hi

Yes, you can do what ever you want. DJ can play infinite Turntables (records) at the same time :slight_smile:

Cool, I am envisioning one possible use case for a sampler/synth with sampled sounds. Performance and no delay is crucial. How would having a large number of cached tracks affect the memory and performance on mobile devices. Is there an efficient pooling system for storage/retrieval of sounds to and from the cache. Also how is the cached sounds stored on mobile devices.

Atm, it works like that:
You enable “Cached” on the turntable and it will cache the current record. The size used in memory is equals the record.
An example: if you have 20 turntables with samples of 1MB each, then it would use 20 MB of RAM.
The record (sample) is cached after the first usage and is instantly available (= no delay).

Currently, DJ doesn’t save/load the cache itself, but I have planned a much more sophisticated caching system in the future.
However, I think you could easily build such an app with the current version.

Does this system have a way to report the bpm of a track/turntable?
Can it support altering the bpm playback of a turntable without altering pitch?
Does it support an auto sync option to match the playback speed of two different tunes via different turntables?
Basically can it be used to create a typical modern day DJ application?

1 Like

BPM detection is planned for an upcoming release.
Auto-sync with BPM is also planned :wink:

And yes, you should be able to create a DJ application with it.

1 Like

I’ve just had a quick look at the demo(windows), checking out the spotify integration. Not sure if it is a limitation of the demo, or the asset, but although it launched spotify, spotify tried to locate the ‘demo song’. Is there a way to get the demo to load up a specific track or playlist from spotify? Once the bpm/auto sync feature is available will this work with tracks from spotify too?

No, it’s not possible to play tracks from Spotify inside DJ. They use DRM to protect their audio.

But you can choose your own directory or add a playlist with music files.

Awesome work Stefan. Party On.
Cheers

1 Like

We’ve created a tutorial video:

Cheers
Stefan

Hi Stefan
I purchased this kit yesterday andhave spent most of today playing around and getting to know it.
First impression is it is probably one of, if not the best thing I have purchased from theapp store so far.
Being a professional DJ I have a number of ideas and have made a test bed to try out at tomorrow night’s Disco. So I’ll let you know how it performs and I’m sure a few questions on how to add elements.

Regards
Mark

1 Like

Hi Mark

Thank you very much for the flowers! :wink:

Please let me know about your real-life experience, I am eager to improve DJ based on your feedback!

I hope it won’t let you down!

So long,
Stefan

Its freezing the editor for me.
Example. Load demo “Play” scene
Put in a folder.
Hit Play.
Stop Editor.
Editor is now frozen

Hi

How many audio files are in your folder?
This happens normally if you add hundreds of files and use not the right settings.
Please try it with this config:
3556020--286215--upload_2018-7-7_11-52-44.png

“Load Tag” and “Read File Size” are very time consuming operations and “Auto Update In Editor” could be the reason for your freeze.

On the other hand, you could leave those settings enabled and enable “Use Music Library”. This way, it could freeze your Editor for the first scan, but creates a DB with the information for every file and is afterwards blazing fast. Disabling “Slow And Save” could also improve the speed and lead to more responsiveness.
This first “scan” needs time if you have a lot of files - this is unfortunately how it works and can’t be prevented.

Please let me know if it helps you further.

So long,
Stefan

Thanks for that. There is something in the demo scene (play.unity) that is causing the freeze.
When I use the prefabs in my own scene everything is all sweet.

Different question. How on earth does one adjust the master volume. I know I can access the audio source on the turntable and do it but really maybe a volume property on Simple Player might make a lot of sense ? or is it already there and I am just not seeing it.

Ok, this is a bit strange… No errors in the Editor?

About the master volume: we thought it makes more sense to control it directly via the AudioSource, like pitch, spatial blend etc.
We could expose those properties to the Turntable, but I think it would not help a lot and overload the already packed component. Convince me otherwise :wink:

Hi Stefan,

This asset looks promising. The documentation says that it “supports AR”, but did you try it with the Hololens?

Thank you,
Celso M. de Melo

Hi Celso

Thank you for your interest in DJ!

Unfortunately, DJ doesn’t support WSA (UWP) and WebGL as build targets.
We’re currently evaluating how-to make our assets working there, but it’s unclear, if and when we can provide support for those platforms…
We will keep you informed in this thread.

Cheers
Stefan