![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
![]() Вопрос такой.
Код:
var buffermy1 : array of array of Single; b : integer; ...... SetLength(buffermy1, 129); // SetLength(buffermy1, 129, 2); for b := 0 to 128 do SetLength(buffermy1, b, 2); BASS_ChannelGetData(Channel, buffermy1, BASS_DATA_FFT256 or BASS_DATA_FFT_INDIVIDUAL); Так не работает и тормоза. А если так: Код:
buffermy1 : array [0..128, 0..1] of Single; b : integer; ...... BASS_ChannelGetData(Channel, buffermy1, BASS_DATA_FFT256 or BASS_DATA_FFT_INDIVIDUAL); Все прекрасно. Почему первый варифнт не работает. И еще пробовал так- же задать длинну массива, заполнить цифрами, а затем вывести в листбоксы и ве работает, а с BASS не проходит. Где ошибка? |
#2
|
||||
|
||||
![]() Ты передаешь указатель на массив, а не на его первый элемент.
Хотя хз, эта библа то еще зло. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
||||
|
||||
![]() Во итором варианте массив статичен и поэтому: BASS_ChannelGetData(Channel, buffermy1, @BASS_DATA_FFT256 or BASS_DATA_FFT_INDIVIDUAL);
А есть варианты? |
#4
|
||||
|
||||
![]() А что получить то нужно? Дискретное преобразование Фурье? Характеристики звука?
Можно попробовать дискретное вейвлет-преобразование. Оно на порядок проще чем БПФ (собственно пример реализации: https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D 0%BE%D0%B5_%D0%B2%D0%B5%D0%B9%D0%B2%D0%BB%D0%B5%D1 %82-%D0%BF%D1%80%D0%B5%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D 0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5#.D0.90.D0.BB.D0 .B3.D0.BE.D1.80.D0.B8.D1.82.D0.BC_.D0.9C.D0.B0.D0. BB.D0.BB.D0.B0). — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию Последний раз редактировалось M.A.D.M.A.N., 16.12.2014 в 21:55. |
#5
|
||||
|
||||
![]() Цитата:
|
#6
|
||||
|
||||
![]() Да.
Но я на басс.длл уже давным давно забил. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#7
|
||||
|
||||
![]() Цитата:
![]() Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#8
|
||||
|
||||
![]() Ну так есть что по теме? Пока сделал несколко массивов.
Код:
buffermy128 : array [0..128, 0..1] of Single; buffermy256 : array [0..256, 0..1] of Single; buffermy512 : array [0..512, 0..1] of Single; buffermy1024 : array [0..1024, 0..1] of Single; |
#9
|
||||
|
||||
![]() Кто же знает что нужно. Не хочется выделять память заранее, определи массивы через type.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#10
|
||||
|
||||
![]() Дак вы так и не ответили, нужно спектр получить?
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |