I would like to make an Equalizer app for Windows and apply settings for sound system. I've found many sound API like WASAPI, DirectSound but I don't know if I can use there to apply a filter in real time for all sounds. On C# there is CSCore to manipulate Audio sources but I don't know if I can use it for device.
The other solution is to create a virtual sound device on Windows. It get the actual sound output, transform it with a filter in real time and output this sound. But I don't know where to start to do this. This thing suppose to change to C++ but it is possible in C#?
Related
I want to create somewhat of a simple visualizer for my PC audio output channel (same as speakers/headphones) that will send signals to my arduino board when there is bass or treble being played. I already have LEDs wired up and my own program with animations and colors running, I also developed a game modification that lets me control the lights using game events. All I need now is to read my PC audio output channel, find there a specific sound (probably bass, right?) and send byte on serial port just as I did previously.
I can't find any simple tutorials how to read windows audio so I decided to ask here. Where should I start? BASS.NET looks very complicated for that "simple" task. Is there something built-in in standard .NET libraries? I am by no means audio mastermind, I am not even sure if I am using correct terms. In simple words I just want to make lights light up to the rhythm when there is real-time music playing.
I would like to write a C# winforms app to control the EQ of my system sound output. I have found ways to manipulate specific sources of audio, such as the microphone or playing a specific mp3 file, but would like the equalizer to be able to modify the system output generally.
How do you access the system audio output and manipulate it before it hits the speakers?
That is dependent on your audio drivers. Only some drivers integrate EQ control into Windows audio settings. Others use a custom control panel (like DTS Sound Control). I don't think there is a reliable solution to directly access the EQ settings.
I suffer from tinnitus, and there are a number of sound-based therapies that I can use to mitigate the phantom sounds.
I would like to explore the possibility of processing the sound going to my headphones, or even my speakers, from my PC with a software-based filter.
Is there a way using C# to intercept the audio stream, process it (applying a band-pass filter for example), allowing it to continue to external devices?
I would suggest to use virtual audio device to capture the sound and transmit it to the real speakers after processing. I'm not sure if it is possible to create this using c#. But you can use existing drivers like vac. So you set vac as default device. You create a c# program which records from vac, does the processing, and sends it to the speakers.
I am starting a project where minimum requirements will be Windows 7. I'll be using NAudio as my interface to audio. I am not sure what I should be using: DirectSound or WASAPI? I am going to be doing the following:
Manipulating volume/mute on multiple USB sound cards for both speaker and the microphone.
Rerouting input from sound card 2 into the output of the sound card 2 (if that's possible).
Manipulating the audio input of the sound card with some effects.
I understand that behind the scenes DirectSound processes all the audio via WASAPI anyway and it sounds like DirectSound has joined the list of deprecated technologies.
However, my question is more from a functional level: which API will let me do what I described above.
where minimum requirements will be Windows 7
Certainly WASAPI - you have better control over things, WASAPI interfaces/API are well made and easier to use, less overhead if you need to be close to real time. There is nothing on th elist that DirectSound can give you and WASAPI can not.
The only reason to use DirectSound if you need pre-Vista systems where WASAPI was just not available.
Is a way of creating a program (either in C(+,++,#) or VB.net) that would be able to send a beep sound through the same line-in that is being used for audacity (not stereo mix)?
I am trying to make a way of syncing up audio and video from 2 different programs, in a similar way that a clapper bored works in the movies.
Would there be a way of using a sort of microphone enhancement that could be created because they affect the microphone input?
I assume you're trying to implement something like http://www.singularsoftware.com/pluraleyes.html then? I think the best way would be to write a VST/LADSPA plug-in for Audacity that inserts the beeps synced to a timecode stream (or whatever you're syncing to).
There's a neat little library called VST.NET that allows you to write VST plug-ins in standard C#/VB.NET if you like.