2006-01-20, 08:14
in the current implementation, the voice from the microphone is too weak even when the volume is set to 100 in xbmc. i figured out the reason is that only the center channel is open for voice. there are 2 issues with this:
- in a 5.1 dolby digital system, you can notice that the voice is only from the center channel, while the music from the left and right speakers. the voice and music are not mixed together. it sounds plain.
- the voice level is too low.
a small change is required in cdgvoicemanager.cpp to fix the issue. the code change below turn on front left and right channel for the voice and turn off the rest. i have tested the solution for 2 channel and 5.1 systems. it works great. can any developer submit the change to cvs?
in file cdgvoicemanager.cpp line # 104
// set up the voice stream
//comment out dsmixbinvolumepair dsmbvp = { dsmixbin_front_center, dsbvolume_max };
//comment out dsmixbins dsmb = { 1, &dsmbvp};
// change to all front and center channels
dsmixbinvolumepair dsmbvp[6] = {
{dsmixbin_front_left, dsbvolume_max},
{dsmixbin_front_right, dsbvolume_max},
{dsmixbin_front_center, dsbvolume_max},
{dsmixbin_back_left, dsbvolume_min},
{dsmixbin_back_right, dsbvolume_min},
{dsmixbin_low_frequency, dsbvolume_min}};
dsmixbins dsmb;
dsmb.dwmixbincount = 6;
dsmb.lpmixbinvolumepairs = dsmbvp;
// end of add all channels
- in a 5.1 dolby digital system, you can notice that the voice is only from the center channel, while the music from the left and right speakers. the voice and music are not mixed together. it sounds plain.
- the voice level is too low.
a small change is required in cdgvoicemanager.cpp to fix the issue. the code change below turn on front left and right channel for the voice and turn off the rest. i have tested the solution for 2 channel and 5.1 systems. it works great. can any developer submit the change to cvs?
in file cdgvoicemanager.cpp line # 104
// set up the voice stream
//comment out dsmixbinvolumepair dsmbvp = { dsmixbin_front_center, dsbvolume_max };
//comment out dsmixbins dsmb = { 1, &dsmbvp};
// change to all front and center channels
dsmixbinvolumepair dsmbvp[6] = {
{dsmixbin_front_left, dsbvolume_max},
{dsmixbin_front_right, dsbvolume_max},
{dsmixbin_front_center, dsbvolume_max},
{dsmixbin_back_left, dsbvolume_min},
{dsmixbin_back_right, dsbvolume_min},
{dsmixbin_low_frequency, dsbvolume_min}};
dsmixbins dsmb;
dsmb.dwmixbincount = 6;
dsmb.lpmixbinvolumepairs = dsmbvp;
// end of add all channels