silverlight mediakit live demo

by ahura mazda 3. December 2009 02:14

I promise to add documentation soon, on how to use the MediaKit to get results like this:

press play


The MediaKit library contains a custom MP3 MediaStreamSource which decodes MP3 files and provides the raw audio data for your use. It works hand-in-hand with a custom SeekableStream class (included) that allows non seekable streams (HTTP response stream) to appear seekable.

Also supports modification of the audio data to create effects or corrections.

Source code can be found on CodePlex at salusemediakit.codeplex.com

note: there are still quite a few bugs, for example, the position calculation is wonky and the visuals are sometimes out of sync. still working on it

Tags:

MediaKit | Silverlight 3

Comments (23) -

Gergely Orosz
Gergely Orosz United Kingdom
12/7/2009 3:57:36 PM #

Looks nice. It would be great if you shared the source code as well... there's nothing on Codeplex yet either!

Reply

Gergely Orosz
Gergely Orosz United Kingdom
12/7/2009 4:17:16 PM #

Sorry, I only went for the Download link, didn't notice the Source tab. Looks like a nice library, I'll be playing around with it. Thanks for sharing it!

Reply

theahuramazda
theahuramazda United Kingdom
12/7/2009 5:15:14 PM #

@Gergely Orosz:
my pleasure, i hope it helps anybody else with the same issues.

Note: i'll be removing the integrated source code in CodePlex. i don't like TFS, much prefer Visual SourceSafe 2005.

i will instead be uploading the code as Releases (the download section you mention)

Reply

Rene Schulte
Rene Schulte Germany
12/8/2009 7:35:11 PM #

Great work man! Keep it up.

Reply

nokola
nokola United States
12/8/2009 10:04:47 PM #

Yes, pretty cool!

Reply

Mark Heath
Mark Heath United Kingdom
12/10/2009 11:16:39 AM #

great work. I had been hoping to combine my NAudio (http://naudio.codeplex.com ), NLayer (http://nlayer.codeplex.com ) (Managed MP3 decoder) and SkypeFx (http://skypefx.codeplex.com ) projects to make a similar thing, but looks like you beat me to it! Looking forward to having a browse through your code to see how you approached it

Reply

theahuramazda
theahuramazda United Kingdom
12/10/2009 1:00:52 PM #

I've read about NAudio but never knew about NLayer. If I did, I would have used your library instead.

The MP3 decoder I use is also originally from Java converted into C#. I found the source on the net from 1999

Reply

Michael Washington
Michael Washington United States
12/31/2009 2:07:18 AM #

Dude this totally rocks. Great work. Thanks for making the code Open Source.

Reply

Damian
Damian United States
1/9/2010 4:24:56 AM #

Thanks! this is good stuff man!

Reply

Damian
Damian United States
1/9/2010 6:06:11 AM #

Hey?!? can this be done for video?

Reply

theahuramazda
theahuramazda United Kingdom
1/9/2010 10:51:39 AM #

Damian,

MediaKit cannot do this currently. To accomplish this for video, you will need to write your own custom MediaStreamSource to decode the video and you could use the mp3 decoder code to decode the audio part (if it is mp3) of the audio/video stream.

You will need to understand the file format of the video format you use, because it could be h264 or some other format.

Reply

Damian
Damian United States
1/10/2010 12:00:09 AM #

Thanks for the response. It would be nice if the MediaElement gave you enough information to do this. Maybe the MediaElement will have visualisations in Silverlight 5 or 6 or 7or...

Reply

theahuramazda
theahuramazda United Kingdom
1/10/2010 1:25:30 PM #

The MediaElement itself does not do much as it is just the visual control. MediaElement passes the stream to an internal dll (I think its the Silverlight core dll) to decode all the different media types.

MediaStreamSource is the answer to allow us to develop our own decoders. It is strange, because I've written Windows Media Player plugin library for .NET (http://wmppluginsnet.codeplex.com/) and WMP returns the raw audio data as well as the peak meter data.

Reply

Robert
Robert United States
1/23/2010 4:06:26 AM #

Ridiculously Good. Do you know how many commercial software charge customers up to twenty dollars for MP3 pitch changing software? None of them even come close to this free open-source software. I will admit pitch changing seems to cause the song to lose quality, but I am confident you will be able to fix this, and the extensive visual features compensate (a little). Documentation will be warmly welcomed whenever you are free to write and upload it.

Again, excellent software. This borders the general quality of commercial software.

Reply

theahuramazda
theahuramazda United Kingdom
2/2/2010 7:09:09 PM #

Robert,
The demo application was only created to show off the possibilities of using the MediaKit library.
I got the Pitch change code of www.dspdimension.com, and plugged it into the Silverlight demo. I don't have the expertise to work it out myself.

But if you, please do and let us know, and I can update the code for everybody.
I'm glad that you like it. share and share alike

Reply

theahuramazda
theahuramazda United Kingdom
2/10/2010 11:23:03 AM #

Robert,

Playing with the Pitch Shifter, I did notice that shift sounds better at certain ranges for a specific song. You can try setting focus to the Effect Slider and using your left/right keys to move the Pitch up or down until it sounds just right.

Another issue with the quality, is that I combine the stereo audio into mono before pitch shifting. I will look into pitch shifting both channels separately but this will definitely mean more work for the CPU.

Reply

Andrew
Andrew Poland
1/25/2010 1:07:54 PM #

You are my GOD. THX

Reply

Quiche
Quiche United Kingdom
2/7/2010 5:49:02 PM #

wow source also available!

Reply

david li
david li Hong Kong S.A.R.
2/12/2010 2:27:10 PM #

Great works...

Reply

mike hodnick
mike hodnick United States
2/12/2010 2:28:04 PM #

Nice work. I've been looking into FFT's with Silverlight and MediaStreamSource but never tried an implementation. Nicely done.

Reply

Mike Schall
Mike Schall United States
2/14/2010 4:33:58 AM #

This looks amazing!  How about showing the entire waveform.  Similar to Audacity?  Would love to be able to select portions of the audio to play!

Reply

theahuramazda
theahuramazda United Kingdom
2/14/2010 12:45:06 PM #

Mike,

The demo is just a sample app and not meant to be a full blown editor or player.

Others have asked for the same feature, so I'll look into adding this feature into the MP3 Decoder and exposing it to return the entire audio as raw data. This will definitely tax the client's system as uncompressed audio is massive, where normally, each sample is 4 bytes wide (stereo at 16bits per channel) and there are 44100 samples per second.

Reply

build_your_web
build_your_web Russia
2/22/2010 6:41:36 PM #

It's really great!
But band scan works not very well.

Reply

Add comment




  Country flag
biuquote
  • Comment
  • Preview
Loading