|
0 / 0 / 1
Регистрация: 12.12.2012
Сообщений: 76
|
|
Где взять исходники голосовых кодеков?01.06.2015, 16:04. Показов 1338. Ответов 3
Метки нет (Все метки)
Добрый день. Обращаюсь ко всем форумчанам с такой проблемой: для диплома нужно записывать, передавать через интернет и воспроизводить речь в реальном времени, если можно подскажите пожалуйста где можно взять исходный код кодеков G723 или подобных на java для сжатия голоса, потому что, все что попадалось, либо готовые реализации либо платные исходные коды, а платить деньги за одноразовое использование не вижу смысла. Заранее спасибо за помощь.
0
|
|
| 01.06.2015, 16:04 | |
|
Ответы с готовыми решениями:
3
Где взять исходники stl?
Где взять исходники ядра? |
|
0 / 0 / 1
Регистрация: 12.12.2012
Сообщений: 76
|
|
| 01.06.2015, 19:30 [ТС] | |
|
да нет арии петь не собираюсь, просто нужно по условиям задания передавать речь в режиме реального времени, без записи в файл, сделать что - то похожее на скайп
0
|
|
|
|
||||||||
| 01.06.2015, 20:36 | ||||||||
А взять, начать можно из материалов Мастрюкова Димы. К его книге прилагались примеры, например: что-то с форматированием
[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 | |
|
Помогаю со студенческими работами здесь
4
Подскажите пожалуйста где можно взять исходники для интернет магазина? Где найти исходники калькулятора на VB? Где достать исходники вирусов? Где можно найти исходники на С#? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|