Авторизация
Логин:
Пароль:
Регистрация
Забыли свой пароль?
Фото дня

Анализ аудио

21.01.2011

Сам алгоритм БПФ довольно широко распространен в рунете, но вот без зеркального отображения найти его мало где можно

Выдержка из кода:

  SetLength(aa, mCount*2);
  for i:=0 to mCount*2-1 do //Заполняем данными массив
  begin
    aa[i]:= fDataBuf[i div 2];
  end;
  FastFourierTransform(aa, mCount, false);
  lLastVal:= 0;
  for i:=0 to mCount-1 do //Переносим результат БПФ в исходный массив
  begin
  if ((i mod 2) = 0) then begin
        //Здесь именно и задействуем формулу для сворачивания массива в два раза, устраняя тем самым зеркальное отображение.
        lVal:= Round(Sqrt(sqr(aa[i]-aa[mCount*2 - i])+sqr(aa[i+1]+aa[mCount*2 - i +1]))/(mCount*40));
        //Честно говоря mCount*40 в знаменателе - это эмпирический коэффициент для уменьшения амплитуды :)
        //вопрос к математикам, почему алгоритм преобразование так сильно задирает амплитуду и в том числе при обратном преобразовании?
        fDataBuf[i] := lVal;
        lLastVal:= lVal;
        fDataBufDop[i]:= Round((aa[i]-aa[mCount*2 - i]) / (mcount*40));
    end
    else begin
        fDataBuf[i] := lLastVal;
        fDataBufDop[i]:= Round((aa[i]+aa[mCount*2 - i]) / (mcount*40));
    end;
  end;

Если Вам нужны полноценные исходники, то мне не жалко - их есть у меня :)
Собственно у меня изначально было огромное желание написать свой собственный алгоритм сжатия аудио и огромное нежелание использовать для этого БПФ. Но время показало, что простота БПФ уже двести лет как помогает людям жить и ни о чем не беспокоиться, однако моя идея в совокупности с БПФ могла бы принести от 30% дополнительного сжатия для аудио без потери данных, т.е. с возможностью обратного преобразования, но об этом далее в статье о Дискретных Нотных Каналах.

Автор: Терентьев Константин Михайлович.

Страница 2 - 2 из 2
Начало | Пред. | 1 2 | След. | Конец

Рейтинг:  3.1
Количество показов: 14407

Возврат к списку

(Голосов: 2, Рейтинг: 3.1)

Материалы по теме:


Ваше имя:
Смайлики
С улыбкой  Шутливо  Широкая улыбка 
Здорово  Печально  Скептически 
Очень грустно  Со злостью  Удивленно 
Смущенно  Поцелуй  Вопрос 
Восклицание  Идея 
Защита от автоматических сообщений:
Защита от автоматических сообщений Символы на картинке: