make gaussian noise less noisy FSCORE-340

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12720 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2009-03-23 01:59:35 +00:00
parent 377043e0ef
commit f5d97f2fb3
2 changed files with 5 additions and 7 deletions

View File

@ -1871,7 +1871,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_originate(switch_core_session_t *sess
silence = ringback.silence; silence = ringback.silence;
} }
} else { } else {
silence = 400; silence = 600;
} }
if ((ringback.fh || silence || ringback.audio_buffer) && write_frame.codec && write_frame.datalen) { if ((ringback.fh || silence || ringback.audio_buffer) && write_frame.codec && write_frame.datalen) {

View File

@ -181,24 +181,22 @@ SWITCH_DECLARE(void) switch_swap_linear(int16_t *buf, int len)
} }
} }
#if SILENCE_METHOD_ONE #if 1
SWITCH_DECLARE(void) switch_generate_sln_silence(int16_t *data, uint32_t samples, uint32_t divisor) SWITCH_DECLARE(void) switch_generate_sln_silence(int16_t *data, uint32_t samples, uint32_t divisor)
{ {
int16_t x; int16_t x;
uint32_t i; uint32_t i;
int sum_rnd = 0; int sum_rnd = 0;
int16_t rnd2 = (int16_t) switch_micro_time_now(); int16_t rnd2 = (int16_t) switch_micro_time_now() + (int16_t) (intptr_t) data;
assert(divisor); assert(divisor);
for (i = 0; i < samples; i++, sum_rnd = 0) { for (i = 0; i < samples; i++, sum_rnd = 0) {
for (x = 0; x < 6; x++) { for (x = 0; x < 6; x++) {
rnd2 = rnd2 * 31821U + 13849U; rnd2 = rnd2 * 31821U + 13849U;
sum_rnd += rnd2; sum_rnd += rnd2 ;
} }
switch_normalize_to_16bit(sum_rnd); //switch_normalize_to_16bit(sum_rnd);
*data = (int16_t) ((int16_t) sum_rnd / (int) divisor); *data = (int16_t) ((int16_t) sum_rnd / (int) divisor);
data++; data++;