Copyright © 2005-2023 MultiMedia Soft

Introduction

Return to chapter overviewNext page

Audio DJ Studio API for .NET is a .NET class developed by MultiMedia Soft that makes it easy to add sound playback and mixing capabilities to your applications; thanks to the integration with DirectShow codecs and with the BASS library, both adding decoding capabilities for the most common sound formats such as MP3, WAV, Ogg Vorbis and many others, Audio DJ Studio API for .NET allows creating powerful multimedia applications with stunning playback capabilities.

 

Audio DJ Studio API for .NET can load different sounds at the same time on different virtual decks, known as "players"; a player can be compared to a physical deck on a DJ console, the place where you put the vinyl/CD to be played. You can create a console with many virtual decks that can simultaneously play different songs on one or more sound cards. The availability of a certain number of players (decks) will enable the container application to mix several songs on different output channels, giving for example the ability to play advertising spots while songs are being played/mixed on different output channels: this is very useful for multi-channel radio stations automation software

 

Each player can have separate volume, tempo, playback rate, pitch and equalizer settings; each player also comes with a set of embedded and configurable visual feedback components such as VU-meter, spectrum analyzer, oscilloscope and waveform.

 

An embedded automatic fader can easily mix audio and video tracks loaded inside a playlist with an accurate and configurable fade-in/fade-out.

 

Derived from the experience with the Audio DJ Studio for .NET Winform component, this API can be used not only for developing Winform or WPF applications but also for developing console applications, Windows services, server-side ASP.NET web applications or any other application not requiring a user interface. Thanks to COM interoperability, the API can be invoked from legacy development environments such as Visual Basic 6 and Unmanaged Visual C++ with our without MFC.

 

Many tutorials are available to help you beginning your developments with this powerful API.

 

Brief summary of available features:

 

Audio playback

Sound effects

Sound generator

Sound composition through the embedded TracksBoard

Music recognition

MIDI

Audio streaming to and from the Internet

Video playback

Protocols and sound cards management

Playlists and sound management

CD management

Graphical features

Tags-related features

Connection to YouTube

Misc features

Supported target systems

Supported .NET versions

 

 

Audio playback

 

Playback of the following audio formats:

 

- AAC and AAC+

- MOD Music

- PVF

- AC3

- Monkey's Audio (APE)

- Speex

- AIFF

- MP3, MP2, MP1

- SVX

- ALAC

- MP4

- VOC

- AU

- Musepack

- W64

- CAF (1)

- NIST

- WAV (2)

- CD tracks

- OGG Vorbis

- WavPack

- FLAC

- OPUS

- WMA and WMV (3)

- IRCAM

- PAF


- M4A

- PCM RAW format


 

(1) Support for PCM 8/16/24/32 bits, PCM 32 bits floating point, G711 U-LAW, G711 A-LAW

(2) Support for uncompressed PCM and compressed formats whose ACM codec is installed inside the system

(3) Require the availability of Windows Media Player modules on the target PC

 

PCM stream queuing, allowing to play sound streams coming from an external source
Playback of sound files from memory buffers
Custom encryption/decryption of sounds
Integration with Microsoft's Speech API, allowing to apply sound effects and output redirection to the sound stream generated by the SetOutputToAudioStream function of an instance of the System.Speech.Synthesis.SpeechSynthesizer class (requires .NET framework v. 3.0)
Support for loading and playing sound files, in all of the supported audio formats, from a ZIP file directly, also when the same is AES encrypted

 

 

Sound effects

 

Volume control
Volume sliding
Pre-amplifier
Automatic Fader and volume automation with possibility to design volume fading curves
Equalizer
Auto-equalization of audio tracks through formatted XML files
BPM (Beats Per Minute) detection
Beats position detection
Tempo, Playback rate and Pitch support
Configurable normalization of sound level
Reverse playback of audio tracks
DirectX Media Objects (DMO) effects
Custom DSP effects
VST effects
Common filters (low-pass, high-pass, band-pass and stop-band)
Vocal remover filter
Real-time DC Offset removal

 

 

Sound generator

 

Pure wave tones
Composite or monaural wave tones
Binaural and multi-channel wave tones
Sliding wave tones
Noises
DTMF tones
Text to speech strings

 

 

Sound composition through the embedded TracksBoard

 

Composing of new stereo or multi-channel (up to 7.1) sound files, with extensive visual editing through the embedded Tracksboard, by mixing together audio data taken from the following audio sources:

- Regular sound files stored inside disk files

- The Microsoft Speech API which allows creating audio data from a string of text or from a text file through synthesized voices installed inside the system

 

All sound items added to the composing session are layered, meaning that they can be added, removed and modified before composing the final mix and exporting the same into a destination file on disk using one between the supported audio formats

 

- AAC and AAC+

- M4A and MP4

- MP3

- WAV

- WMA

- W64

- FLAC

- OGG Vorbis

- OPUS

 

 

Music recognition

 

Music recognition through integration with the ACRCloud service, allowing to obtain several info about the recognized song like title, label, date, YouTube ID, ISRC and UPS codes; music recognition can be performed directly on audio and video files or on the audio stream incoming from a WASAPI capture or loopback device.

 

 

MIDI

 

Playback of MIDI files
SoundFonts management
Events management
Acquisition of MIDI events from a MIDI input device
VST Instruments

 

 

Audio streaming to and from the Internet

 

Playback of audio files stored on an Internet server (not available for MOD music files)
Playback of Internet radios Shoutcast (versions 1 and 2) Icecast and WMA streams
Playback of Internet radios streaming in HLS format (HTTP Live Streaming)
Support for acting as a source for ShoutCAST, IceCast and Windows Media Services streaming servers
Support for sending to streaming servers (ShoutCAST, IceCast and Windows Media Services), the output of any WASAPI loopback device, allowing to stream any sound being played through an output device also if generated by external and third-party applications (requires Windows Vista and later versions)

 

 

Video playback

 

Playback of video clips whose DirectShow compatible codecs are installed inside the target system, with support for multiple output windows
Mixing/blending of video clips inside a video mixer output window, with support for separate preview windows
Customizable On-Screen-Display (OSD) on the video mixer window
Customizable On-Screen-Display (OSD) on the video player
Brightness, contrast, saturation, hue and gamma management of the loaded video clip
Fullscreen management
Extraction of the audio track available inside a video clip, allowing to perform silence detection, BPM detection and waveform analysis

 

 

Protocols and sound cards management

 

DirectSound protocol
ASIO protocol with the possibility to directly playback the sound stream coming from ASIO input channels of the sound card
WASAPI protocol on Windows Vista and higher versions
Management of audio endpoints (CoreAudio) on Windows Vista and higher versions
Sound card output choice and speakers assignment
Support for cloning an audio stream on different output devices and speakers

 

 

Playlists and sound management

 

Playlists support (M3U, PLS, WPL)
New proprietary playlist format (PDJ), allowing to predispose mixing automation and volume automation on each single song and to play encrypted sounds
Position triggers management
Cue points management
Sound waveform analysis
Delayed playback of songs

 

 

CD management

 

Playback of CD tracks
CDDB database queries
CD cover pictures retrieval

 

 

Graphical features

 

Real-time embedded visual feedbacks (VU-Meter, Oscilloscope, Spectrum, Waveform display)
Graphic bars for custom displaying of Vu-Meters, Spectrum and Progress bars
Display of fade-in and fade-out curves applied to the embedded automatic fader
Waveform scroller allowing manual and automatic movement of the waveform
Support for drawing the waveform representation inside a graphical device context (HDC)
Virtual piano keyboard for MIDI management
Frames grabbing from video clips
Volume curve designer
Enhanced graphical spectrum analyzer
Tracksboard for visually composing new sounds and music files

 

 

Tags-related features

 

Reading of most common frames of the following tag formats (Unicode strings supported):

 

- APE

- FLAC

- ID3V1

- LYRICS3

- ID3V2.2

- MP4

- ID3V2.3

- OGG Vorbis

- ID3V2.4


 

Reading of the following chunks in WAV files:

 

- CART

- DISP

- BEXT

- LIST INFO

 

 

Connection to YouTube

 

Videos and channels search on YouTube with the possibility to enumerate and download on the local system video and audio streams

 

 

Misc features

 

Mixing of songs songs at application level, through custom stream mixers, allowing to save mixing results through the integration with our Audio Sound Recorder API for .NET or to send mixing results to a streaming server
Exporting of loaded sound in WAV format (on both disk file or memory buffer)
Lyrics synchronization through LRC files
Download facility allowing downloading remote files from FTP, HTTP and HTTPS servers into the local system and, in case of media files of supported format, with the option to load them automatically inside a player when download is completed
Integration with our Audio Sound Recorder API for .NET and Audio Sound Editor API for .NET

 

 

Supported target systems

 

From Windows XP up to the latest Windows version in both x86 and x64 flavours
From Windows Server 2003 up to the latest Windows Server version in both x86 and x64 flavours

 

 

Supported .NET versions

 

.NET Framework 2.0
.NET Framework 3.0
.NET Framework 3.5
.NET Framework 4.x
.NET 5
.NET 6
.NET Core 3.1

 

 

 

 

IMPORTANT NOTES:

 

For redistribution of the control with your application, we recommend you to take a close look to the Files to be included with your application section.