0
0

Can I make a channel play on two devices (two soundcards) at the same time?

  • You must to post comments
0
0

Yes I’ve looked at the multiplesoundcard example, but this dont do it for we I think.

What I want to do is play a audiofile (stream) on 2 or 3 different amplifiers and also be able to add dsp with EQ on each output. So the outputs must be in sync.

Just like a carstereo with multiple line outputs for it’s amps.

Is this possible?

  • You must to post comments
0
0

Thats true, I was thinking uf using multichannel soundcard like MAYA 7.1 USB thats better that multiple soundcards.

I was looking at setSpeakerLevels / setSpeakerMix but I want a separate dsp on each output but stil the same audio file.

Like:

audiofile > DSP > output front
audiofile > DSP > output rear
audiofile > DSP > output front2
audiofile > DSP > output rear2

Note “audiofile” is the same source/file

Can I “clone” a channel and the hook sdp on that or how would recomend?

  • You must to post comments
0
0

I’m I on the right track or taoaly lost, this don’t work as I like.

[code:y4nhorkc]result = FMOD.Factory.System_Create(ref system);
system.setSpeakerMode(FMOD.SPEAKERMODE._7POINT1);
result = system.init(32, FMOD.INITFLAG.NORMAL, (IntPtr)null);
result = system.createSound(@"F:\1.mp3", (FMOD.MODE.SOFTWARE | FMOD.MODE._2D | FMOD.MODE.CREATESTREAM), ref sound1);

result = system.playSound(FMOD.CHANNELINDEX.FREE, sound1, true, ref channel);
result = system.playSound(FMOD.CHANNELINDEX.FREE, sound1, true, ref channel2);

//channel.addDSP(m_dsp);
//channel2.addDSP(m_dsp);

result = channel.setSpeakerMix( 1.0f, 1.0f, 0, 0, 0, 0, 0, 0);
result = channel2.setSpeakerMix(0, 0, 0, 0, 0, 1.0f, 1.0f, 0);

result = channel.setPaused(false);
result = channel2.setPaused(false);[/code:y4nhorkc]

  • You must to post comments
0
0

Hi!

Brett I got this working, but I have here a small “flanger” effect. Is this the correct way to do it?

[code:2dp2te35]
string m_audio = @"C:\MP3\2.mp3";

        result = system.createSound(m_audio, (FMOD.MODE.SOFTWARE | FMOD.MODE._2D | FMOD.MODE.CREATESTREAM), ref soundA);
        ERRCHECK(result);

        result = system.createSound(m_audio, (FMOD.MODE.SOFTWARE | FMOD.MODE._2D | FMOD.MODE.CREATESTREAM), ref soundB);
        ERRCHECK(result);

        result = system.createSound(m_audio, (FMOD.MODE.SOFTWARE | FMOD.MODE._2D | FMOD.MODE.CREATESTREAM), ref soundC);
        ERRCHECK(result);

        result = system.playSound(FMOD.CHANNELINDEX.FREE, soundA, true, ref channelA); 
        result = system.playSound(FMOD.CHANNELINDEX.FREE, soundB, true, ref channelB);   
        result = system.playSound(FMOD.CHANNELINDEX.FREE, soundC, true, ref channelC); 

        result = channelA.setSpeakerMix(1.0F,  1.0F, 0, 0, 0, 0, 0, 0);  //Front
        result = channelB.setSpeakerMix(0, 0, 0, 0, 0, 0, 1.0F, 1.0F);    //Center
        result = channelC.setSpeakerMix(0, 0, 0, 0, 1.0F, 1.0F, 0, 0);      //Back

        result = channelA.setPaused(false); 
        result = channelB.setPaused(false);
        result = channelC.setPaused(false);

[/code:2dp2te35]

I control volume like this:

[code:2dp2te35]
private void SetVolumes()
{
FMOD.RESULT result;

        float mlA=(float)vScrollBar1.Value/1000;
        m_levelsF[0]=mlA;
        m_levelsF[1]=mlA;
        result = channelA.setSpeakerLevels(FMOD.SPEAKER.FRONT_LEFT, m_levelsF, 2);
        result = channelA.setSpeakerLevels(FMOD.SPEAKER.FRONT_RIGHT, m_levelsF, 2);



        float mlB=(float)vScrollBar2.Value/1000;
        m_levelsB[0]=mlB;
        m_levelsB[1]=mlB;
        result = channelB.setSpeakerLevels(FMOD.SPEAKER.SIDE_LEFT, m_levelsB, 2);
        result = channelB.setSpeakerLevels(FMOD.SPEAKER.SIDE_RIGHT, m_levelsB, 2);



        float mlC=(float)vScrollBar3.Value/1000;
        m_levelsC[0]=mlC;
        m_levelsC[1]=mlC;
        result = channelC.setSpeakerLevels(FMOD.SPEAKER.BACK_LEFT, m_levelsC, 2);
        result = channelC.setSpeakerLevels(FMOD.SPEAKER.BACK_RIGHT, m_levelsC, 2);

    }

[/code:2dp2te35]

Adding separate DSP on each output works great.

Is there a way to change the “echo” DSP so I can control “dry/wet” mix volume. I only whant the delayed sound, not an echo.

Thanks!

  • You must to post comments
0
0

Hi!

Yes Brett you are correct I want to play 1 sound but do a different effect on each speaker.

I think I need assistans on how to bulid the dsp network. Do I then only use one system.createSound ? and “System::playDSP” to play the channel ?

So the DSP::setInputMix sets the amount of DSP effect on the channel (like dry/wet mix) then a DSP::setInputLevels will be needed.

Regarding the Chorus, it will proberly work, but the delay time is to short it’s only goes to 100ms, echo have 5000ms. Can you change so I can set chourus delay to more than 100ms ?

Thanks!

  • You must to post comments
0
0

Thanks!

I get it, I think the DSP stuff is very interesting but as you say litle confusing, but I will learn.

Looking forward to the next realease.

How abou Chorus delay, can it be extended?

  • You must to post comments
Showing 6 results
Your Answer

Please first to submit.