Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 12.12.2012
Сообщений: 76
1

Где взять исходники голосовых кодеков?

01.06.2015, 16:04. Показов 1158. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Обращаюсь ко всем форумчанам с такой проблемой: для диплома нужно записывать, передавать через интернет и воспроизводить речь в реальном времени, если можно подскажите пожалуйста где можно взять исходный код кодеков G723 или подобных на java для сжатия голоса, потому что, все что попадалось, либо готовые реализации либо платные исходные коды, а платить деньги за одноразовое использование не вижу смысла. Заранее спасибо за помощь.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.06.2015, 16:04
Ответы с готовыми решениями:

Где взять исходники stl?
Не заголовочные файлы, а реализации. Слышал что в gcc где-то есть, но не нашел.

Где взять исходники mingw?
Кто-нибудь знает? Желательно ссыль на более или менее официальный сайт, сам я здесь ничё не могу...

Где взять исходники ядра?
Здравствуйте все! Поставил с образа ArchLinux, но заранее скажу что дистрибутив не играет роли в...

Где взять исходники реального проекта
Пишу программку скромную (для себя\хобби), но с перспективой, если вдруг сложится устраиваться на...

3
Автоматизируй это!
Эксперт Python
7107 / 4610 / 1215
Регистрация: 30.03.2015
Сообщений: 13,236
Записей в блоге: 29
01.06.2015, 16:22 2
а ты там большие какие то арии петь собрался? Обычная запись голоса в Джава в wav-файл не так уж и много занимает по меркам современного интернета.
0
0 / 0 / 1
Регистрация: 12.12.2012
Сообщений: 76
01.06.2015, 19:30  [ТС] 3
да нет арии петь не собираюсь, просто нужно по условиям задания передавать речь в режиме реального времени, без записи в файл, сделать что - то похожее на скайп
0
10231 / 6609 / 498
Регистрация: 28.12.2010
Сообщений: 21,156
Записей в блоге: 1
01.06.2015, 20:36 4
где можно взять исходный код кодеков G723 или подобных на java для сжатия голоса
кодеки на JAVA не пишутся.

А взять, начать можно из материалов Мастрюкова Димы. К его книге прилагались примеры, например:
что-то с форматированием
[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
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
, output );
   }
}
 
/*-----------------------------------------------------------
* Измерение длины файла
*/
 
long get_file_length ( FILE *file )
{
   long marker;
   long eof_ftell;
 
   marker = ftell( file );
   fseek( file, 0L, SEEK_END );
   eof_ftell = ftell( file );
   fseek( file, marker, SEEK_SET );
   return( eof_ftell - marker );
}


А вообще, вот вам три открытых + тему Алгоритм сжатия аудио ! почитать (третий там).

для диплома нужно записывать, передавать через интернет и воспроизводить речь в реальном времени
А. Уколов. Прототип VoIP телефона. - ПРОграммист, 2010, №3.
Вложения
Тип файла: zip faad2-2_0-rc3.zip (958.6 Кб, 5 просмотров)
Тип файла: zip открытый кодек _cedocida_0.1.6.zip (188.9 Кб, 6 просмотров)
1
01.06.2015, 20:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.06.2015, 20:36
Помогаю со студенческими работами здесь

Подскажите пожалуйста где можно взять исходники для интернет магазина?
Народ, не подскажете ссылку , где можно скачать файлы с кодами, конфигурацией и.т.д. для интернет...

Где найти исходники калькулятора на VB?
Подскажите кто может. Где найти исходники калькулятора на VB Самому долго писать - времени нет.

Где достать исходники вирусов?
В чисто образовательных целях хочу изучить какой нибудь вирус Меня атаковал papadu.exe Но похоже...

Где можно найти исходники на С#?
Чтобы посмотреть на использование циклов, массивов, методов, классов и т.п.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru