Оперативный аудио анализ в Linux

я хотел бы сделать следующее: предположив, что 10 RDL выполняют 10 различных хранимых процедур, назначьте каждой хранимой процедуре скрытый параметр. давайте назовем это @report_number (например). Поэтому для первого отчета в хранимой процедуре добавьте предложение where для включения and @report_number = 1, что должно технически остановить хранимую процедуру, как только она увидит, что передано другое число (скажем, 2 для отчета 2) ... и так далее, и так далее ..

@report_number назначается в отдельном наборе данных.
например,

report1 - значение = 1

report2 - значение = 2

.

.

.

report10 - значение = 10

, поэтому, когда пользователь запускает отчет 1, значение 1 для @report_number передается в этот набор данных. Остальные наборы данных не должны запускать связанную с ним процедуру как они не будут иметь ожидаемого значения в предложении where.

Надеюсь, что это имело смысл.

11
задан MAckerman 31 March 2009 в 21:27
поделиться

5 ответов

Марсий был бы отличным выбором для этого, он создан именно для такого рода задач.

Для настройки инструмента вам нужно иметь алгоритм, который оценивает фундаментальную частота (F0) звука. Для этого существует ряд алгоритмов, один из самых новых и лучших. - это алгоритм YIN, разработанный Аленом де Шевенем. Я недавно добавил алгоритм ИНЬ в Marsyas, и использовать его очень просто.

Вот базовый код, который вы бы использовали в Marsyas:

  MarSystemManager mng;

  // A series to contain everything
  MarSystem* net = mng.create("Series", "series");

  // Process the data from the SoundFileSource with AubioYin
  net->addMarSystem(mng.create("SoundFileSource", "src"));
  net->addMarSystem(mng.create("ShiftInput", "si"));
  net->addMarSystem(mng.create("AubioYin", "yin"));

  net->updctrl("SoundFileSource/src/mrs_string/filename",inAudioFileName);

  while (net->getctrl("SoundFileSource/src/mrs_bool/notEmpty")->to<mrs_bool>()) {
    net->tick();
    realvec r = net->getctrl("mrs_realvec/processedData")->to<mrs_realvec>();
    cout << r(0,0) << endl;
  }

Этот код сначала создает объект Series, к которому мы будем добавлять компоненты. В серии каждый из компонентов получает последовательно выходные данные предыдущей системы MarSystem. Затем мы добавляем SoundFileSource, который вы можете кормить в файле .wav или .mp3 в. Затем мы добавляем объект ShiftInput, который выводит перекрывающиеся фрагменты звука, которые затем передаются в объект AubioYin, который оценивает основную частоту этого фрагмента звука.

Затем мы сообщаем SoundFileSource, что мы хотим прочитать файл вAudioFileName.

Оператор while затем повторяется до тех пор, пока SoundFileSource не исчерпается. данные. Внутри пока В цикле мы берем данные, обработанные сетью, и выводим элемент (0,0), который является оценка основной частоты.

Это еще проще, если вы используете привязки Python для Marsyas.

4
ответ дан 3 December 2019 в 08:31
поделиться

Это руководство должно помочь. Не используйте ALSA для своего приложения. Используйте высокоуровневый API. Если Вы решаете, что требуется использовать ДЖЕКА, http://jackaudio.org/applications имеет три инструментальных тюнера, которые можно использовать в качестве примера кода.

5
ответ дан 3 December 2019 в 08:31
поделиться

ALSA является видом стандарта по умолчанию для Linux теперь на основании драйверов ядра, включаемых в ядро и обесцениваемое OSS. Однако существуют альтернативы пространству пользователя ALSA, как разъем, который, кажется, нацелен на приложения типа профессионала низкой задержки. Это - API, кажется, имеет более хороший API, хотя я не использовал его, мое кратковременное воздействие API ALSA заставило бы меня думать, что почти что-либо было бы лучше.

2
ответ дан 3 December 2019 в 08:31
поделиться

Смелость включает функцию частотной характеристики и имеет встроенные фильтры FFT.

0
ответ дан 3 December 2019 в 08:31
поделиться

http://clam-project.org/ CLAM - это полноценная программная среда для исследований и разработки приложений в области аудио и музыки. Он предлагает концептуальную модель, а также инструменты для анализа, синтеза и обработки аудиосигналов.

У них отличный API, красивый графический интерфейс и несколько готовых приложений, в которых вы можете увидеть все.

3
ответ дан 3 December 2019 в 08:31
поделиться
Другие вопросы по тегам:

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