0 / 0 / 1
Регистрация: 12.12.2012
Сообщений: 76
|
|
1 | |
Где взять исходники голосовых кодеков?01.06.2015, 16:04. Показов 1158. Ответов 3
Метки нет (Все метки)
Добрый день. Обращаюсь ко всем форумчанам с такой проблемой: для диплома нужно записывать, передавать через интернет и воспроизводить речь в реальном времени, если можно подскажите пожалуйста где можно взять исходный код кодеков G723 или подобных на java для сжатия голоса, потому что, все что попадалось, либо готовые реализации либо платные исходные коды, а платить деньги за одноразовое использование не вижу смысла. Заранее спасибо за помощь.
0
|
01.06.2015, 16:04 | |
Ответы с готовыми решениями:
3
Где взять исходники stl? Где взять исходники mingw? Где взять исходники ядра? Где взять исходники реального проекта |
0 / 0 / 1
Регистрация: 12.12.2012
Сообщений: 76
|
|
01.06.2015, 19:30 [ТС] | 3 |
да нет арии петь не собираюсь, просто нужно по условиям задания передавать речь в режиме реального времени, без записи в файл, сделать что - то похожее на скайп
0
|
01.06.2015, 20:36 | 4 | |||||
А взять, начать можно из материалов Мастрюкова Димы. К его книге прилагались примеры, например: что-то с форматированием
[C]/*-----------------------------------------------------------
Алгоритм компандирования 8-битовых звуковых файлов. Демонстрационная программа. Данный текст не представляет собой plug-and-play объект. Он не поддерживает реальных форматов звуковых файлов и подразумевает работу только с данными дискретизации, не включая заголовка файла. */ #include <stdio.h> #include <math.h> /*----------------------------------------------------------- Процедура сжатия выполняет три шага: инициализация выходного потока, построение таблицы перекодировки, кодирование данных */ void CompressFile( FILE *input, BIT_FILE *output, int bits ) { int table[256]; int steps, value; int i, j; int c; /* * Сначала в выходной поток выдается количество битов, которые * будет использовать компандер, и размер несжатых данных. */ steps = ( 1 << ( bits - 1 ) ); OutputBits( output, (unsigned long) bits, 8 ); OutputBits( output, (unsigned long) get_file_length( input ), 32 ); /* * Построение таблицы кодирования. Каждому значению уровня сигнала * ставится в соответствие выходной код, при этом используется * экспоненциальная функция. */ for ( i = steps ; i > 0; i-- ) { value = (int)( 128.0 * ( pow ( 2.0, (double)i/steps ) - 1.0 ) + 0.5 ); for ( j = value ; j > 0 ; j-- ) { table[j + 127] = i + steps - 1; table[128 - j] = steps - i; } } /* * Далее следует простое перекодирование. */ while ( ( c = getc( input ) ) != EOF ) OutputBits( output, (unsigned long) table[ c ], bits ); } /*----------------------------------------------------------- Процедура декодирования выполняет три шага: получение количества битов кода и длины исходного файла, построение таблицы перекодировки, декодирование данных */ void ExpandFile ( BIT_FILE *input, FILE *output ) { int steps, bits, value, last_value; int i, c; int table[256]; long count; /* Получение количества битов кода */ bits = (int) InputBits( input, 8 ); /* Заполнение таблицы перекодировки */ steps = ( 1 << ( bits - 1 ) ); last_value = 0; for ( i = 1; i <= steps; i++ ) { value = (int) ( 128.0 * ( pow ( 2.0, (double)i/steps ) - 1.0 ) + 0.5 ); table[steps+i-1] = 128 + ( value + last_value ) / 2; table[steps-i] = 127 - ( value + last_value ) / 2; last_value = value; } /* Получение длины исходного файла и декодирование */ for ( count = InputBits( input, 32 ); count > 0 ; count-- ) { c = (int) InputBits( input, bits ); putc ( table
А вообще, вот вам три открытых + тему Алгоритм сжатия аудио ! почитать (третий там).
1
|
01.06.2015, 20:36 | |
01.06.2015, 20:36 | |
Помогаю со студенческими работами здесь
4
Подскажите пожалуйста где можно взять исходники для интернет магазина? Где найти исходники калькулятора на VB? Где достать исходники вирусов? Где можно найти исходники на С#? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |