Как играть не синусоидальные ноты на Android? MIDI?

1

Я пишу приложение для аккомпанемента, которое постоянно должно воспроизводить определенные заметки (или даже аккорды). У меня есть поток, который определяет, какую заметку мне нужно играть, но я не знаю, с чего начать, что касается фактического воспроизведения. Я знаю, что могу создать аудиозапись и написать синусоидальную волну, но для этого проекта простой тон не сократит его. Поэтому я предполагаю, что мне нужно либо использовать MIDI (может ли это сделать?), Либо каким-то образом взять образец и изменить его шаг на лету, но я не знаю, возможно ли это.

  • 0
    возможный дубликат Android-приложения для сочинения музыки: начинающий
  • 0
    Очень быстрый поиск привел меня к нескольким многообещающим попаданиям, включая вышеупомянутый пост SO или этот stackoverflow.com/questions/4056846/available-music-api
Теги:
audio

1 ответ

1
Лучший ответ

Все, что я могу сказать, это проверить изменение высоты тона (о котором вы, кажется, слышали) и soundpool (что потребует вашей записи), и эти 2 ссылки:

Скорость воспроизведения аудио в Android

Программно увеличивать высоту массива звуковых образцов

похоже, у второй ссылки больше информации.

  • 0
    Благодарю. Хорошо, я могу изменить скорость воспроизведения на некоторый множитель, но как мне это определить, если я хочу сыграть какую-нибудь ноту? Если бы у меня был сэмпл, записанный, скажем, в C5, было бы так же просто, как сделать скачок между 0,5 (сделана одна октава) и 1,0 с шагом 1/12 (так что один прирост - это одна из 12 нот)? множитель = 0,5 + ((1,0 - 0,5) * (т / 12f))
  • 0
    Извини но я понятия не имею
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню