Author Topic: Effect Set: For Microphone?  (Read 1721 times)

LinuxDevice

  • Newbie
  • *
  • Posts: 42
Effect Set: For Microphone?
« on: August 07, 2023, 06:15:16 PM »
In text-to-speech there are effect sets which can be applied, e.g., pitch shift. This is probably an odd question, but is there a way to copy incoming microphone audio, and apply pitch shift or other effects before passing it on? I ask for use in combination with OBS Studio. I understand this is probably the wrong way to go about it, but I'm interested in how people do this, or what clever ways someone here might have run into.

If anyone has suggestions on plug-ins, either for VoiceAttack or for OBS, let me know. I have no idea what is out in the wild for this, and actually "safe" to use.

Pfeil

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4763
  • RTFM
Re: Effect Set: For Microphone?
« Reply #1 on: August 07, 2023, 06:47:51 PM »
Effect sets can currently be applied specifically to text-to-speech output.

Manipulating audio on a recording device so that all other applications receive said manipulated audio is not feasible, regardless.
Filtering as offered by some sound card manufacturers would have to be done at the driver or hardware level, not in normal software, as far as I'm aware.

A number of VoiceAttack users utilize VoiceMeeter (which is wholly unrelated to VoiceAttack, despite the name) for various streaming-related audio tasks, including the application of effects without then also sending the output of said effects to the speech recognition system (which is quite important).
That application works around normal restrictions by using virtual devices (I.E. custom drivers).
Note that this is not intended as an endorsement of said software.

SemlerPDX

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 280
  • Upstanding Lunatic
    • My AVCS Homepage
Re: Effect Set: For Microphone?
« Reply #2 on: August 08, 2023, 12:07:03 PM »
If you want to control OBS through VoiceAttack, check out OBS Command here - readme links to documentation:
https://github.com/REALDRAGNET/OBSCommand

VoiceMeeter does not have pitch shift effects, but is a great way to control your audio devices input/output in correlation with OBS Command and VoiceAttack. I find the equalizer absolutely invaluable - the EQ on my headphones software is terrible, this makes things actually sound good from movies to music.


LinuxDevice

  • Newbie
  • *
  • Posts: 42
Re: Effect Set: For Microphone?
« Reply #3 on: August 09, 2023, 10:40:49 AM »
Yes, I've started looking at this. Very promising. One thing I run into though is that I want to set it up to work with more software applications at the same time, e.g., firefox, OBS, VoiceAttack, and Discord. So far as testing goes, it looks like three is the limit. I see though that if I purchase more virtual cables, that this might not be the limit. Unfortunately, I have not yet been able to post on their forums to ask. Do you happen to know if the three software audio apps limit is per cable? If I have the maximum of four virtual cables, do you know if that means up to 12 software apps to audio mix?

SemlerPDX

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 280
  • Upstanding Lunatic
    • My AVCS Homepage
Re: Effect Set: For Microphone?
« Reply #4 on: August 09, 2023, 12:27:02 PM »
I have no idea what you mean by a "3 software limit" ... VoiceMeeter is a mixer, it has nothing to do with other software.  You set playback/recording devices for input and output channels - the VB Audio Cables are absolutely worth it, and afaik the cables A and B (and maybe C?) are included as free, as well as the HiFi VB Cable - you can purchase these if they are no longer provided for free, as well as VB Cable D - worth it regardless, I've owned mine for over ten years.  In addition to the VB Audio Cable, there are Cables A, B, C, and D, as well as the Hi-Fi Cable for a total of 6.

There are several versions of VoiceMeeter available depending on the number of input channels and other features you may want.  I have VoiceMeeter Potato (pictured above in my last reply) as well as all cables.

Let's use VLC Media Player for an example.  I want this to play exclusively on my 5th input channel, so I open the VLC Media Player preferences and go to the Audio tab - setting the Output Mode to DirectX audio output (NOT using S/PDIF when available, box unchecked) and setting the Device to "CABLE-B Input (VB-Audio Cable B)".  If VLC was a physical box, it would be like plugging Cable B into the output of the VLC box, and into the 5th input of the mixer.

Now, when I play ANY file using VLC Media Player, it will only put sound out on Cable-B which is tied to the 5th input on the mixer now.  I did the same for VoiceAttack sounds (including text-to-speech output), my phone, and a secondary standalone version of VLC (not related to the other) which I use to play Whitenoise when needed (sleeping/construction nearby/etc.)

edit: to be clear, I could set some other media player or game audio output to Cable-B as well, and both that game AND the VLC Media Player would output on that cable and therefore the 5th input of my mixer.  There is no limit there, if that is what you were asking.

edit 2: Using my example above, one limitation would be that now that Cable-B is used once in VoiceMeeter as an Input cable, I cannot use it on another channel, either as an input or output, in VoiceMeeter itself. This doesn't mean I can't assign other software to output on that cable.  In my picture above, you can see every VB audio cable represented (just once) from the generic VB Audio Cable itself through Cables A, B, C, and D, and the Hi-Fi Cable as the Hardware Out for my "TS3 OUT" channel ("A3").

For something like TeamSpeak3, I need to set the inputs similar to VLC, but also the output - in the Hardware Out, I set this to VB-Audio Hi-Fi Cable and then in TeamSpeak3 options, set the Capture Device to this cable.  When I press my Push-To-Talk button in TS3, any audio coming over the Hi-Fi Cable will be heard by people in TS3.  I found this Hi-Fi cable necessary for TS3 VOIP due to latency issues when not directly feeding it my actual microphone input - ask people how you sound and you might find the same issue:  choppy/broken up means you need to use Hi-Fi cable for that application.  This also allows me to channel the VoiceAttack output to this Hardware Out channel so my friends in TS3 can hear me demonstrate a voice command, for example, including the text-to-speech reply from VoiceAttack.

If you have any specific questions about VoiceMeeter, and how you can use it with VoiceAttack, feel free to ask.


*As a final note, I found it necessary on my Windows 10 PC to disable "Exclusive Mode" for each VB audio cable, including VoiceMeeter Input and all others, in Recording and Playback devices in the Windows Sounds panel (unchecking the box circled and applying this setting for each):


LinuxDevice

  • Newbie
  • *
  • Posts: 42
Re: Effect Set: For Microphone?
« Reply #5 on: August 09, 2023, 02:54:52 PM »
I perfectly understand the mixer part. However, the base version has room for two hardware sources, and three software sources. The microphone is a hardware source, Discord and VoiceAttack are software sources (and technically, destinations if I want to use the mixer to go to those). In particular though, to aid in routing software "virtual" devices, I see:
https://vb-audio.com/Cable/index.htm

That part contains "Virtual Audio Cables". It seems that these are useful for connecting from an application to VoiceMeeter. One of the limitations which you get past by using the "Potato" model (the highest end) is one of more sources. However, I'm thinking that with just one "Virtual Audio Cable", the number of software programs which can virtually pretend to be a microphone is more limited. As is, while testing (without buying extra virtual audio cables...you get only one), I can only mix three software applications. Plus my microphone, but that is hardware.

I'm waiting for the forum approval to post on the VB-Audio forum, so I cannot ask them this: What is the reason why there is a limitation of only three programs? Is it the limit of the software? Or does that limit go up when I purchase more "Virtual Audio Cables"? Without that I have not found any method to get more than three programs to mix, plus the microphone using the higher end Potato version.

Note: The higher end Potato shows more hardware inputs, and perhaps more refined control of the software virtual inputs. My question I'm trying to find out is if there is any way to get more than three software virtual inputs since I cannot find out the answer without buying the virtual audio cables, and the answer might still be "no".

However, I am not currently booted to Windows, so I cannot go over what you show in detail. I am however inspired by that, and am about to reboot to Windows and experiment. Any answer though on whether the virtual audio cables are needed to route more than three software programs at once would be appreciated.

SemlerPDX

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 280
  • Upstanding Lunatic
    • My AVCS Homepage
Re: Effect Set: For Microphone?
« Reply #6 on: August 09, 2023, 04:20:11 PM »
I used to use the basic VoiceMeeter, and when I needed to mix more than just a microphone, media player, and Windows audio to more than just two outputs, I moved up to VoiceMeeter Banana.  When that wasn't enough, I moved up to VoiceMeeter Potato.  When I needed just one more virtual cable, I was happy to discover they had a "Cable D" which I had not formerly owned.

It all matters what you need it for and what you can use it for.  If what you mean is that you need individual channels for multiple software sources as I have (for two VLC media players as well as VoiceAttack), then you would want Banana or Potato and a VB Audio Cable or few.

All Windows Audio by default will play over the main Virtual Input channel in the basic VoiceMeeter, and you can set a Microphone as a hardware input for example, and a second hardware input (which could of course be a VB Audio Cable) - this would let you mix music, microphone, and Windows Audio each with a separate volume control and other options.

If you need to mix more than that independently (rather than combined on one channel), then of course you need Banana or Potato - they offer these three variants because not everyone needs so many, same with the cables.

LinuxDevice

  • Newbie
  • *
  • Posts: 42
Re: Effect Set: For Microphone?
« Reply #7 on: August 10, 2023, 05:01:42 PM »
Thank you, that's a good description. I probably do need two virtual cables. On the other hand, I have to check more on the "exclusive control" part you mentioned earlier. Not all of my software audio producers (firefox in particular) were being added in (neither separately nor on the same channel). I'm guessing (but have not yet tested) your earlier idea related to that is why.

SemlerPDX

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 280
  • Upstanding Lunatic
    • My AVCS Homepage
Re: Effect Set: For Microphone?
« Reply #8 on: August 10, 2023, 07:28:59 PM »
Not all of my software audio producers (firefox in particular) were being added in (neither separately nor on the same channel).

I think you may have a conceptual misunderstanding about VoiceMeeter. It is just a mixer, it will add ZERO software to the list of hardware inputs and/or outputs for any channels.

The way sound works in Windows is that you set the default audio (and communications) device to play sounds over to some device such as speakers or headphones, beyond that, some programs allow us to set the audio device to play sounds over inside their own program options and that can be a separate device than the one which Windows plays sounds over.

The way VoiceMeeter works is you set the VoiceMeeter Input (VAIO) as the default audio (and communications) device under the Playback tab of the Sounds devices options window.  If you have a software or program that allows you to change the audio device it uses to play sounds, you can use a Virtual Cable - then you can set the output of that VB audio cable to the input of the mixer, such as Hardware Input 1 or 2.  Now, when that software or program plays sounds, they won't come over the VoiceMeeter main Virtual Input, it will come over the channel you have set this cable to.  The rest of Windows sounds and other software will continue to come over the main Virtual Input in VoiceMeeter, following my example above.

You can find more info about how to use VoiceMeeter and what it can do here - check out "FIRST STEPS IN VOICEMEETER":
https://voicemeeter.com/user-guides/