I need to do some basic and non basic DSP programming in C#. At its core, it includes the generation of a sin wave deciding its frequency in Hertz. Then I'd like to Frequency Modulate it and maybe filter it.
Can you suggest any library to help me? Ideally this should also work in a SilverLight environment, as my aim is to showcase a ultra-basic SilverLight synthesizer.
Thanks in advance
You might want to check out a couple of articles by Charles Petzold:
A Simple Silverlight Synthesizer
and
A simple electronice Sequencer in Silverlight
The Oscillator class in the SimpleSequencer project might be what you're looking for.
Related
I am developing an application in C#, at some point of the program, I'd like to have control of the speaker, more specifically, I'd like to control the voice balance (which speaker - left/right - the voice is coming from). Is there a way to do this?
Thank you,
It depends on how you are using the audio. If you have a two speaker setup, then all you need to do is to create a sound that only plays on the left or right chanel - depending on your requirements.
I have not done this recently, but a few opensource libraries you could have a look at are:
http://windowsmedianet.sourceforge.net/
http://naudio.codeplex.com/
Also check out the multimedia MSDN entry:
http://msdn.microsoft.com/en-us/library/ms712636(VS.85).aspx
Hope this helps.
Cheers.
I come from two distinct backgrounds: I have much experience with WPF/XAML/C# app development and equal experience with C++/DirectX development. I hear about the ability to use DirectX and XAML together and I get all excited, but now I have hit this wall.
I'm trying to use the SwapChainBackgroundPanel in a WPF application. But I'm trying to use C# as the underlying language. I keep running into issues where, regardless of the type of C# project I create (PCL, WPF, Windows Store) none of these types are defined [namely I've been looking for SwapChainBackgroundPanel and some other DX stuff like the device and etc.)
So my question is: how does this work in C#? I've seen the simple shooter example from the MSDN done in C++ and it makes sense; I get it. But I feel like I'm missing one of those "gotcha's" when trying to do it in C#.
Any advice, or maybe a link to an example, or at best a little tutorial on setting up a C#/XAML/DX app would be amazing. Thanks everyone.
There is no SwapChainBackgroundPanel available to a WPF app (that is in PresentationCore). The closest you are going to get is the D3DImage class, but it's not exactly the same. See this discussion.
I don't think you can fully utilize the DirectX capabilities of a Windows 8 Store app (SwapChainBackgroundPanel) from C#. You're going to have to do your DirectX work in C++ as in the example you described. You can certainly combine the three (Xaml, C#, C++) as in this example, but I don't think a 100% C# app is possible.
The answer is wrong. It is possible to fully utilize C# throught a wrapper.
I did this myself with SharpDx which is actually one of the microsoft recommendations to use DirectX in C#.
As for the choice of XAML Library, Universal Windows App 10 or Windows Store App 8 is the way to go. Use a SwapChainPanel instead of SwapChainBackgroundPanel.
I am planning to develop a UI control suite (open source) on .net because there is hardly such things as free or open source out in the market. But I am not really able to decide the following factors before going into design phase:
Should I write it for Winforms only?
Should I write it for WPF only?
Or, should I write it for both?
Which one would be more effort effective in the long run and help the community better? Can you guys please help me to sort this things out?
'Writing it for both' is basically 'write it twice', as I can't imagine much would be shared.
I think if I was suddenly filled with the idea that the world needed yet more 3rd party controls, I would write them for WPF/Silverlight/WP7.
WPF, but it's just my opinion.
Windows OSs that are supported (XP, Vista, 7) all support it, and WPF is the future. I don't see Winforms' death in the proximity, but we should support things that are right now actively supported.
It's like developing for IE6 instead of Firefox/Safari/Chrome/Opera. Most of us don't see IE6 dying, but we have to move forward.
Can someone point me towards a good article or tutorial on how to access TV tuner and/or web cams from C#? I looked everywhere and can't seem to find anything relevant.
Thanks
This is normally something that the manufacturer of your video hardware would provide, usually in the form of an SDK.
Depending on what you want to do, this might help:
http://www.codeproject.com/KB/directx/directxcapture.aspx
You might want to look at this question about web cams and DirectShowNet, which is a managed wrapper for the DirectShow component in DirectX.
I am about to write a front end app, which will be used as a media center app. It will plug directly into a high definition TV. Essentially transforming my laptop into a media player. While this concept is not new, I want custom functionality, so this is why I am not reusing existing products.
I'm a C# developer, so the app should ideally be written in C#. And there is 1 other consideration, I need to accept input via the MCE Remote.
I was considering using Silverlight for this. Would you recommend this? Or any other recommendations for frameworks before I begin planning around this.
Thanks in advance.
This is the type of stuff that the Windows Presentation Foundation was meant for. You'll get a lot more access to the hardware than Silverlight would provide (I.E. that MCE remote you mentioned). You mark up your UI with vector graphics/XAML, and then perform the logic with C#.
EDIT: WPF also has support out of the box for animations which can make your UI a lot more interactive.
EDIT 2: Scott Hanselman has written a really cool application called BabySmash and posted the source online. It basically intercepts keyboard input and shows shapes and sounds on the computer. It's a good "child-proofing" method for your PC. The code could provide you with some insight into WPF and how to do the animations and interactivity that you're looking for.
Is this a desktop app? If so I would use WPF. Silverlight is a subset of WPF, so using WPF you could potentially do more.
Silverlight or WPF, if you want some extra power. Both have a similar programming model (with XAML and code-behind) so you might be able to start with Silverlight and move up to WPF if you need.
The VLC api might be useful for playing your media, someone has created a C# wrapper for it:
http://wiki.videolan.org/.Net_Interface_to_VLC
WPF is certainly the way to go, and for playing media check out the excellent WPF MediaKit: http://wpfmediakit.codeplex.com/ I've used it successfully in many projects.