WPF library to display audio waveform - wpf

Does anyone know of a nice library to give me audio wavform functionallity, specifically:
Load audio file
Display waveform
Play file or selection
etc
I have used Adobe Audition in the past, so something like the way they display their waveforms would be great.
See the screen capture below.
Many thanks in advance

look on WPF Sound Visualization Library: http://wpfsvl.codeplex.com/
Edit: Project Moved To https://github.com/jacobjohnston/wpfsvl

Related

Connecting Microsoft DTV-DVD Video Decoder to Sample Grabber?

I have written a WPF application that can open, edit and render .GRF files. When rendering, I did not want it to open a new window (like GraphEdit does), so I found a solution that uses the Sample Grabber to render samples into a WPF brush.
Before rendering, my application replaces the Video Renderer in the .GRF file with the SampleGrabber. This worked fine, until I met the Microsoft DTV-DVD Video Decoder. For some reason, it only connects to the Video Renderer, and NOT to my Sample Grabber... so currently my application can't handle MPEG2.
Can someone explain to me: why? What restricts these filters from connecting?
And how am I supposed to grab decoded MPEG2 samples then?
Sample Grabber Filter will only connect to video media types described by VIDEOINFOHEADER structure (check MSDN link for details on that in Remarks section). You have video output with MPEG2VIDEOINFO and Sample Grabber rejects it.
Old SDKs have source code for Sample Grabber-like filter, which you can improve to add support for missing format structures. Sample Grabber filter alone is pretty simple on its own. You can also fit some additional decoder (third party, freeware, deinterlacer etc) for it to bring you VIDEOINFOHEADER media type on its output.

Video capture using Expression Encoder in WPF

I am need to capture video and click images via camera, in My application. I am a bit new to WPF and searching on google I found that ExpressionEncoder dll is used to perform video captures in WPF. I also need to change brightness, Contrast, saturation of video but I did not find it in expressionencoder code.
So can anyone tell how to set Brightness,contrast,... using ExpressionEncoder Dll Or Do I need to try something else?
Thanks in anticipation.
While you are using encoder dll for recording videos. please find below links.
http://www.codeproject.com/Articles/285964/WPF-Webcam-Control
http://blog.catenalogic.com/post/2009/01/08/WPF-Webcam-Control-part-2.aspx
http://easywebcam.codeplex.com/

Howto play video with external audio in Silverlight?

Is there any proper method to play synchronously video and external audio, other than simply having two MediaElement (one for video source and one for audio) started simultaneously? I need to play video with different soundtracks, but I belive that just two separated MediaElements will be out of sync at some point of time. Maybe there is some way to add audio source to the existing MediaElement with video?
Platform: SL3, but SL4 will be good as well.
Thanks in advance.
This project provides "support for multiple audio tracks" which sounds like it will do what you want: http://smf.codeplex.com/

Convert a silverlight application to video format

I'm planning to make an animation with Silverlight, i want to export the animation to a video format, to be able to share it on video sharing website.
How can i do this ?
You could use a tool like Camtasia to record your screen or part of your screen. It then can be exported to a bunch of different video formats.
A pure code approach is to write a sequence of images, and then combine those images together as a video file. Eric Gunnerson has code to capture images from an animation , its WPF but would probably work in Silverlight? Codeproject has an example of converting a stream of images to an AVI video file in C#. It creates an AVI output. It would be great to go straight to mpg, but as it's compressed the input needs to be a video stream. If you do need mpg as the final output look for an off the shelf avi->mpg converter.
BTW - Let me know how you get on, I'm interested in the performance/functionality of this solution.
MrTelly: That approach would not work because Silverlight does not expose the RenderTargetBitmap class. (Well, this is not completely true, the class is there, but its constructor and methods are all marked SecurityCritical and as such are not normally accessible.)
The Camtasia solution proposed by Jakers is likely the simplest solution.
It's nuts that there isn't a simple way to do this in Silverlight, it's easy as pie in flash.

Getting .png pixel data in Silverlight

We have a Silverlight application that needs to load a number of .png files. We can load the images OK, but Silverlight doesn't support reading the pixel data from the Image class.
Can anyone suggest a simple solution for getting at this data? Our current best bet would be a third party .png loading library, but we are having trouble finding a suitable one.
There is no built in classes for doing pixel based imagine manipulation/generation i n Silverlight. You need to implement your own PNG Encoder/Decoder that works on an byte array containing the image information. Joe Stegman has implemented one such encoder you should check out. He got lots of great information about "editable images" in Silverlight over at http://blogs.msdn.com/jstegman/. He does things like applying filters to images, generating mandlebrots and more.
This blog discuss a JPEG Silverilght Encoder (FJCore) you can use to resize and recompress photos client size: http://fluxcapacity.net/2008/07/14/fjcore-to-the-rescue/
Another tool is "Fluxify" which lets you resize and upload photos using Silverilght 2. Can be found over at http://fluxtools.net/
So yes, client side image processing can definitely be done in Silverilght 2. Happy hacking!
PNG decoding is hard to find.
I wrote an article for MSDN that includes some open source code I cobbled together from Joe Stegman, FluxCapacity, and a few others. It includes PNG decoding (as well as GIF, JPG, and BMP) for those in this thread that are looking for that.
http://www.microsoft.com/youshapeit/msdn/ExpertKnowledge/2008-10/InnovateWithSilverlight2.aspx
If you don't care for my implementation of it for Silverlight, then you can go straight to what I modified for PNG decoding: http://sourceforge.net/projects/pr2/
Cheers!
Update: It looks like they no longer offer the source code on the site, so I re-posted the content here:
http://dimebrain.com/2009/01/innovate-with-silverlight-2-article-code-available.html
Thanks - I've seen the Joe Stegman blog. It's very handy, but the decoder he doesn't have is a PNG one. We're using PNGs as we need transparency. The fluxtools link seems to be broken too.
I'm still looking (unsuccessfully) for a PNG decoder I can drop into Silverlight.
One option that may (depending on circumstances) be easier is to save the color data and transparency data separately, then programmatically apply the transparency to the image once you have it loaded. That way, you could save the image as a 8-bit gif representing the alpha channel, plus a jpg or bmp or whatever for the color data.
Dimebrain - that msdn link you provided doesn't have a valid link to the sourcecode - any chance you have a link to the source that works?

Resources