Introduction |
|
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:
Sound composition through the embedded TracksBoard
Audio streaming to and from the Internet
Protocols and sound cards management
Playlists and sound management
• | 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 |
• | 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 |
• | 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 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. |
• | 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) |
• | 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 |
• | Playback of CD tracks |
• | CDDB database queries |
• | CD cover pictures retrieval |
• | 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 |
• | 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 |
• | Videos and channels search on YouTube with the possibility to enumerate and download on the local system video and audio streams |
• | 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 |
• | 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 |
• | .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.