0
0

Hello,

I was just wondering if there was a software method for boosting the input recording volume from a microphone. I have tried adding a DSP for compression to the voice channel but it does not seem to have the desired effect. Is there any way to accomplish this in FMOD, or is this a hardware issue?

Thanks.

  • You must to post comments
0
0

Well I have avoided this problem (and compression does work for boosting sound output), however I was wondering about this situation:

[code:3i5ubqld]
FMOD_RESULT result = FMOD_OK;
FMOD_CREATESOUNDEXINFO exinfo;
memset(&exinfo, 0, sizeof(FMOD_CREATESOUNDEXINFO));

exinfo.cbsize           = sizeof(FMOD_CREATESOUNDEXINFO);
exinfo.numchannels      = 1;
exinfo.format           = FMOD_SOUND_FORMAT_PCM16;
exinfo.defaultfrequency = OUTPUTRATE;
exinfo.length           = (exinfo.defaultfrequency * sizeof(short) * exinfo.numchannels) / 2;

FMOD_CREATESOUNDEXINFO exinfo2;
memset(&exinfo2, 0, sizeof(FMOD_CREATESOUNDEXINFO));

exinfo2.cbsize           = sizeof(FMOD_CREATESOUNDEXINFO);
exinfo2.numchannels      = 1;
exinfo2.format           = FMOD_SOUND_FORMAT_PCM16;
exinfo2.defaultfrequency = OUTPUTRATE;
exinfo2.length           = (exinfo2.defaultfrequency * sizeof(short) * exinfo.numchannels) * 5;

result = m_fmodSystem->createSound(0, FMOD_2D | FMOD_SOFTWARE | FMOD_LOOP_NORMAL | FMOD_OPENUSER, &exinfo, &m_VoiceSound);
result = m_fmodSystem->createSound(0, FMOD_2D | FMOD_SOFTWARE | FMOD_LOOP_NORMAL | FMOD_OPENUSER, &exinfo2, &m_PlaybackSound);
if (result != FMOD_OK)
{
    printf("FMOD error! m_fmodSystem->init(%d) %s\n", result, FMOD_ErrorString(result));
    return AUDIO_ERROR;
}

result = m_fmodSystem->recordStart(m_VoiceSound, true);
result = m_fmodSystem->recordStart(m_PlaybackSound, true);

if (result != FMOD_OK)
{
    printf("FMOD error! m_fmodSystem->init(%d) %s\n", result, FMOD_ErrorString(result));
    return AUDIO_ERROR;
}
Sleep(100);
result = m_fmodSystem->playSound(FMOD_CHANNEL_REUSE, m_VoiceSound, false, &m_VoiceChannel);
result = m_fmodSystem->playSound(FMOD_CHANNEL_REUSE, m_PlaybackSound, false, &m_PlaybackChannel);
if (result != FMOD_OK)
{
    printf("FMOD error! m_fmodSystem->init(%d) %s\n", result, FMOD_ErrorString(result));
    return AUDIO_ERROR;
}
result = m_VoiceChannel->setVolume(0);
result = m_PlaybackChannel->setVolume(1);

[/code:3i5ubqld]

When this is done I am unable to sample the spectrum of the voicechannel but I can hear the voice out. My goal would be able to sample the spectrum of the voice input and boost the volume of the voice on output. Is there a way of doing this?

Thanks.

  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.