[Закрытая] обработка звука C++

var sortedTable = (from results in resultTable.AsEnumerable()
select (string)results[attributeList]).Distinct().OrderBy(name => name);
5
задан csl 27 October 2009 в 22:10
поделиться

4 ответа

Вы можете использовать любой стандартный API кодеков MP3 для декодирования потока, работы с ним и его повторного сохранения. Например, для этой части вы можете использовать libLAME .

Что касается микширования, вы можете сделать это самостоятельно (например, наивно, добавить два семпла и разделить их на два, что может показаться не очень хорошим) , или найдите для него подходящую библиотеку.

Возможно, вас заинтересует связанный вопрос о переполнении стека в лучшей аудиобиблиотеке c Linux

0
ответ дан 15 December 2019 в 01:05
поделиться

Он не поддерживает MP3 по патентным причинам, но libsndfile - очень хорошая библиотека с открытым исходным кодом (LGPL) для загрузки и сохранения аудио в различных других аудио форматы, включая WAV.

Что касается части наложения, это просто, как только вы загрузили сэмплы в память ... вы просто суммируете каждый сэмпл в файле A с соответствующим сэмплом в файле B (и, возможно, масштабируете полученный немного уменьшите значение выборки путем умножения на константу, если вы беспокоитесь об отсечении).

3
ответ дан 15 December 2019 в 01:05
поделиться

Вы можете попробовать взглянуть на это http://terminatorx.org/ Я смотрел на него, чтобы сделать что-то подобное.

0
ответ дан 15 December 2019 в 01:05
поделиться

Библиотека libsox от sox (а не http: // libsox.sourceforge.net/, который представляет собой нечто совершенно иное), похоже, имеет простой API, который можно использовать. вызвать проблемы при обработке аудио. Например, если эффект смешать левый и правый каналы в один монофонический канал должен был использовать линия

    *obuf++ = (*ibuf++ + *ibuf++)/2;

может искажаться, поскольку промежуточная добавка может переполняться 32 биты. Строка

    *obuf++ = *ibuf++/2 + *ibuf++/2;

решит проблему переполнения. (за счет наименьшего значащий бит).

1
ответ дан 15 December 2019 в 01:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: