Народ,
Я борюсь с простой концепцией, связанной с продолжительностью воспроизведения данных PCM.Буду признателен за ваши отзывы.
Разрабатываемое мной приложение воспроизводит гитарные ноты из листа музыки.
Я реализовал алгоритм Яффе-Смита для выщипывания гитары.
https://ccrma.stanford.edu/~jos/Mohonk05/Extended_Karplus_Strong_EKS_Algorithm.html.
Допустим, я вычисляю сэмплы для ноты A (440 Гц) за одну секунду.
При частоте дискретизации 11025 я буду хранить 11025 сэмплов, которые можно отправить на динамики компьютера.как PCM audio.
Для всех уникальных нот на гитаре достаточно времени, чтобы вычислить сэмплы для всех нот.Я думаю, что я буду предварительно вычислять и сохранять их как двоичные данные и просто загружать их при запуске приложения.
Пока все хорошо.
Теперь, скажем, я хочу играть впесня (список различных заметок).Допустим, песню нужно проигрывать со скоростью 100 ударов в минуту.Допустим, мне нужно сыграть ноту A в течение одного удара или 0,6 секунды (60/100).
Пересчет сэмплов в течение 0,6 секунды может занять довольно много времени.
Можно ли просто воспроизвести (11025 * 0,6) сэмплов?Будет ли это побочным эффектом?
Есть ли лучший способ добиться того, что я пытаюсь сделать?
Заранее благодарю за помощь.
С уважением, Питер