Как начать сочинять музыку visualizer в C++? [закрытый]

Я думаю, у вас есть проблемы с тем, как он выполняется

Your Example:
const array1 = [1, 2, 3, 4];
const reducer = (previous, current) => previous + current;

// 1 + 2 + 3 + 4
console.log(array1.reduce(reducer));
// expected output: 10

// 5 + 1 + 2 + 3 + 4
console.log(array1.reduce(reducer, 5));`enter code here`
// expected output: 15

Как вы говорите, почему он не уменьшается при первом применении .reduce.

поэтому, когда вы применяете .reduce, он не изменяет исходный массив, а возвращает вновь созданный массив. Таким образом, редуктор применяется к вновь созданному массиву, а не к исходному массиву (array1)

Таким образом, вы можете проверить вывод с помощью следующий код может очистить ваше сомнение:

const array1 = [1, 2, 3, 4];
const reducer = (accumulator, currentValue) => 
{
 console.log("Data is"+accumulator +' '+ currentValue); 
 return accumulator + currentValue;
}

// 1 + 2 + 3 + 4
console.log(array1.reduce(reducer));
// expected output: 10

// 5 + 1 + 2 + 3 + 4
console.log(array1.reduce(reducer, 5));
// expected output: 15

где аккумулятор - это значение, которое он возвращает из функции редуктора. currentValue - текущее значение вашего массива.

20
задан Emil H 4 May 2009 в 13:20
поделиться

7 ответов

Если вы используете C ++ / CLI, вот пример , в котором используется WPF четыре (то есть фурье;) отображение.

Он ссылается на этот сайт ] ( заархивировано ), в котором содержится значительная информация о том, о чем вы спрашиваете, вот схема с конкретной страницы;

Как мы разделяем звук на частоты? Наши уши делают это механические средства, математики делают это используя преобразования Фурье, и компьютеры делают это с помощью БПФ.

  1. Физика звука
    • Гармонический осциллятор
  2. Выборка звуков
  3. Анализ Фурье
  4. Комплексные числа
  5. Цифровое преобразование Фурье
  6. БПФ

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

14
ответ дан 30 November 2019 в 01:18
поделиться

С моей точки зрения ... проверить этот сайт: http://nehe.gamedev.net/

действительно хорошая информация и учебные пособия по использованию OpenGL

. Edit: http://www.opengl.org/code/

-3
ответ дан 30 November 2019 в 01:18
поделиться

Для части анализа музыки вы должны изучить основу ряда Фурье, а затем выбрать бесплатную реализацию алгоритма DFFT (цифрового быстрого преобразования Фурье).

0
ответ дан 30 November 2019 в 01:18
поделиться

Вы пытаетесь написать свой собственный аудио / музыкальный проигрыватель? Возможно, вам следует попробовать написать плагин для существующего плеера, чтобы вы могли сосредоточиться на графике, а не на мелочах кодеков, dsp и устройств вывода звука.

Я знаю, что WinAMP и Foobar имеют API для плагинов визуализации. Я уверен, что Windows Media Player и iTunes также имеют их. Просто выберите медиаплеер и начните читать. Некоторые из них могут даже иметь существующие плагины OpenGL, с которых вы можете начать, чтобы вы могли сосредоточиться на чистом OpenGL.

1
ответ дан 30 November 2019 в 01:18
поделиться

Если вы только после некоторого базового 3D или ускоренного 2D, то я бы порекомендовал приобрести копию " Beginning OpenGL Game Programming [Dave Astle] ", которая охватывает основы OpenGL в C ++.

0
ответ дан 30 November 2019 в 01:18
поделиться

Вы можете найти реализацию алгоритмов БПФ и другая полезная информация в Числовые рецепты в книге C . Книга бесплатная AFAIK. Существует также книга Числовые рецепты в C ++ .

0
ответ дан 30 November 2019 в 01:18
поделиться

Мой подход к созданию BeatHarness ( http://www.beatharness.com ):

  • записывают звук в реальном времени
  • имеют поток, который запускает БПФ для звука, чтобы получить интенсивность частот
  • вычислить громкость звука для левого и правого канала
  • отфильтровать частоты в полосах (бас, средние тона, высокие частоты)

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

5
ответ дан 30 November 2019 в 01:18
поделиться
Другие вопросы по тегам:

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