# Playing raw PCM through a group channel created in FMOD Studio

**URL:** <https://qa.fmod.com/t/playing-raw-pcm-through-a-group-channel-created-in-fmod-studio/20542>\
**Category:** FMOD Engine\
**Tags:** unity, csharp\
**Created:** [August 14, 2023, 4:19pm UTC](https://qa.fmod.com/t/playing-raw-pcm-through-a-group-channel-created-in-fmod-studio/20542 "2023-08-14T16:19:21Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![zvejvoda](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/zvejvoda/32/5426_2.png) [@zvejvoda](https://qa.fmod.com/u/zvejvoda)\
**Post date:** [August 14, 2023, 4:19pm UTC](https://qa.fmod.com/t/playing-raw-pcm-through-a-group-channel-created-in-fmod-studio/20542/1 "2023-08-14T16:19:21Z")

</div>

Hey,

I’m working on a project where I run all the sounds through the Fmod Studio. However there is a text-to-speech (TTS) feature that is received from the server in a raw pcm format. I need to run the TTS audio through FMOD, so I can disable the Unity Audio Driver.

I also want to run it through the Channel Group (bus) which I already established in the Fmod Studio. That is necessary, so I can do ducking with a sidechain compression, apply VCA and further processing…

I guess the right approach is to do it through the core api by the createSound function with the use of FMOD\_OPENRAW. I only need to specify the sampling rate, PCM format and number of channels.

But how do I send it into the dedicated group channel? I’ve only found the ChannelGroup::getGroup function that requires an index (int). How do I know what index does it have? Am I not mistaking the bus in Studio API with the GroupChannel in the Core API? Are those two the same thing?

Thank you

---

<div class="post-metadata">

**Author:** ![Connor\_FMOD](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/connor_fmod/32/3685_2.png) [@Connor\_FMOD](https://qa.fmod.com/u/Connor_FMOD)\
**Post date:** [August 16, 2023, 12:57am UTC](https://qa.fmod.com/t/playing-raw-pcm-through-a-group-channel-created-in-fmod-studio/20542/2 "2023-08-16T00:57:51Z")

</div>

Hi,

> [@zvejvoda](#):
>
> Are those two the same thing?

Not exactly, an [FMOD Engine | Core API Reference - ChannelGroup](https://fmod.com/docs/2.02/api/core-api-channelgroup.html) is like a [FMOD Engine | Studio API reference - Bus](https://fmod.com/docs/2.02/api/studio-api-bus.html), while a bus is not like a channelgroup. However, we can use our bus to access the channelgroup we want to play our sound on without having to worry about the index of the channelgroup. I have an example of accessing a specific Bus in Unity here: [Audio Stream to programmer instrument - #4 by Connor\_FMOD](https://qa.fmod.com/t/audio-stream-to-programmer-instrument/20519/4), hopefully this is what you are looking for.

---

<div class="post-metadata">

**Author:** ![zvejvoda](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/zvejvoda/32/5426_2.png) [@zvejvoda](https://qa.fmod.com/u/zvejvoda)\
**Post date:** [August 16, 2023, 10:06am UTC](https://qa.fmod.com/t/playing-raw-pcm-through-a-group-channel-created-in-fmod-studio/20542/3 "2023-08-16T10:06:15Z")

</div>

I was lucky enough to find that post yesterday and I successfully implemented it.

It was also interesting that the CoreAPI ChannelGroup wasn’t affected by the StudioAPI MasterBus VCA. Which means that this master isn’t an ultimate master of the whole signal chain. Is that on purpose? Is there any schematic that describes the signal chain of the Studio and Core API?

Thank you

---

<div class="post-metadata">

**Author:** ![Connor\_FMOD](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/connor_fmod/32/3685_2.png) [@Connor\_FMOD](https://qa.fmod.com/u/Connor_FMOD)\
**Post date:** [August 17, 2023, 5:23am UTC](https://qa.fmod.com/t/playing-raw-pcm-through-a-group-channel-created-in-fmod-studio/20542/4 "2023-08-17T05:23:54Z")

</div>

That’s good to hear!

> [@zvejvoda](#):
>
> Which means that this master isn’t an ultimate master of the whole signal chain.

I am not sure which channel group you are referencing here. Could you please elaborate on what you are trying to do?

> [@zvejvoda](#):
>
> Is there any schematic that describes the signal chain of the Studio and Core API?

If you want to be able to see your signal chain in real time you can use the [FMOD Engine | Core API Reference - Core API Profiler](https://fmod.com/docs/2.02/api/white-papers-virtual-voices.html#core-api-profiler:~:text=a%20high%20priority.-,Core%20API%20Profiler,-The%20FMOD%20Core). The profiler works the same and Live Update but focused on the DSP graph.

To enable the core API profiler add [FMOD Engine | Core API Reference - FMOD\_INIT\_PROFILE\_ENABLE](https://fmod.com/docs/2.02/api/core-api-system.html#fmod_initflags:~:text=the%20center%20frequency.-,FMOD_INIT_PROFILE_ENABLE,-Enable%20TCP/IP) to line `349` in the `RuntimeManager.cs` file:

```auto
result = studioSystem.initialize(virtualChannels, studioInitFlags, FMOD.INITFLAGS.NORMAL | FMOD.INITFLAGS.PROFILE_ENABLE, IntPtr.Zero);

```

Hope this helps!
