Воспроизведение wav с заданной миллисекунды

Тема в разделе "Arduino & Shields", создана пользователем SEsin, 18 июн 2020.

  1. b707

    b707 Гуру

    если есть возможность перенести проект на Дуе или Тинси - посмотрите библиотеку, на которую я дал ссылку в #18
     
  2. parovoZZ

    parovoZZ Гуру

    Очевидно, что в PCM файле нет временных отметок. Поэтому чтобы перенестись к нужному месту, необходимо отсчитывать такты квантования.
     
  3. Ariadna-on-Line

    Ariadna-on-Line Гуру

    https://audiocoding.ru/articles/2008-05-22-wav-file-structure/
    ВременнЫх меток там нет. Паровоз прав.
    Если файл не замудренный (формат позволяет вводить доп. поля, но большинство плееров их игнорит) , там - заголовок 44 байт и сами данные. Производится парсинг заголовка, из него высчитывается время звучания. По длине блока данных, остаётся пропорционально вычислить позицию семпла и точно попасть на границу раздела семплов. Особой сложности нет, но требуется точность в арифметике. Вот пример создания заголовка на Визуал Бейсике (англ.).
    http://www.topherlee.com/software/pcm-tut-wavformat.html
    Без ОЗУ, размером сравнимым с самим файлом, скакать туда-сюда по цепи байт - весьма проблематично. Это работа скорее для электронщика чем программиста.
     
    Последнее редактирование: 21 июн 2020