ΣSigmaStudio English

Wav Player

Этот модуль можно использовать для чтения PCM/WAV-файлов из внешней Flash-памяти, подключенной к ADAU145x через SPI. Этот модуль также может выполнять изменение высоты тона (pitch shifting) во время воспроизведения файла.
Wav Player

В следующем списке показаны различные аудиофайлы, поддерживаемые этим модулем.

  1. Аудиосэмплы в формате с фиксированной точкой 8.24 (моно/стерео)
  2. Wav-файл без заголовка (PCM) (моно/стерео)
    1. 8 бит на сэмпл (знаковое целое)
    2. 16 бит на сэмпл (знаковое целое)
    3. 24 бита на сэмпл (знаковое целое)
    4. 32 бита на сэмпл (знаковое целое)
  3. Wav-файл с Wav-заголовком (моно/стерео)
    1. 16 бит на сэмпл (знаковое целое)
    2. 24 бита на сэмпл (знаковое целое)
    3. 32 бита на сэмпл (знаковое целое)

Примечание: 8 бит на сэмпл не поддерживается для Wav-файлов.
Примечание: Изменение высоты тона не поддерживается для стереофайлов.

Flash Programmer можно использовать для записи wav-файлов в SPI-флеш-память с ADAU145x.

Входные пины

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Triggerint- controlНарастающий фронт на входе запускает чтение Wav-файла из SPI-флеш-памяти.
Pin 1: Wav Selectint- controlВыбирает wav-файл из SPI-флеш-памяти. 0 → первый файл, 1 → второй файл и т. д.
Pin 2: Pitch factordec- controlСкорость Wav-плеера. Этот пин будет доступен только при включенном изменении высоты тона.

Выходные пины

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Left Outdecimal - audioЛевый аудиосэмпл
Pin 0: Right Outdecimal - audioПравый аудиосэмпл. Этот пин будет доступен только если количество аудиоканалов установлено на 2.

Алгоритм Grow

Модуль в настоящее время не поддерживает функцию grow/add.

Конфигурации

Нажмите на изображение Конфигурации для настройки SPI-интерфейса модуля.

Конфигурации

GUI Control NameDefault ValueRangeFunction Description
Bit Rate100kHZ 100 kHZ - 100000 kHZ Скорость SPI
SPI Slave Select0 0-6 Выбор Slave Select для SPI. Окно регистров должно быть настроено в соответствии с этим выбором. Пожалуйста, обратитесь к примечанию ниже.
Sub-Address Bytes2 1-4 Количество байтов адреса, исключая команду чтения/записи
SPI ModeMode 3 Mode0/Mode3Режим работы SPI
R/W (Chip Address) Bytes10-255Командные байты (количество байтов, необходимых для команды)
Read Instruction (SPI)00-255Значение инструкции для операции чтения (0x1 для аудиоустройств ADI, обычно 0x3 для eeprom/flash)
Audio File FormatAudio Sample in 8.24Wav without header (PCM)/ Wav with header/Audio Sample in 8.24 formatВыбор формата аудиофайла
Number of Channels21/2Количество каналов в аудиофайле, хранящемся в SPI-флеш-памяти.
Bits Per Sample168/16/24/32Количество бит на сэмпл в аудиофайле, хранящемся в SPI-флеш-памяти.
Number of Audio Files11-16Количество аудиофайлов, записанных в SPI-флеш-память.
LoopbackDisabledEnabled/DisabledВключение/отключение петли (loopback).
Pitch ShiftingDisabledEnabled/DisabledВключение/отключение изменения высоты тона.
Start Address1*00 - 16777216 (16 MBytes)Начальный адрес аудиофайла 1 в SPI-флеш-памяти. (в байтах)
Length1*1920001 - 16777216 (16 MBytes)Длина аудиофайла 1 в SPI-флеш-памяти. (в байтах)

Примечание: Элементы управления Length и Start Address будут повторяться столько раз, сколько указано в 'Number of Audio Files'. Любое изменение этих параметров конфигурации требует перекомпиляции.

Примечание: Пожалуйста, убедитесь, что длина указана точно в байтах. Если для записи файла в SPI EEPROM используется модуль Flash Programmer, проверьте размер wav-файла в свойствах Windows и введите его в поле длины.

Конфигурации

Поддержка различных Slave Select

Если Slave Select равен 0 и MP0 используется как выбор кристалла, настройка в элементах управления регистрами не требуется. В противном случае конкретный многоцелевой пин должен быть настроен для работы в качестве slave select в окне регистров. (Hardware Configuration → ICx - ADAU145x Register Controls → MULTIPURPOSE/ AUXADC)

Поддержка различных Slave Select

  1. Slave Select Channel → 'Slave Select Channel x'
  2. MPx pin mode → 'Slave Select for Master SPI port'
  3. MPx pin function → 'Multipurpose function'



В следующей таблице показано соответствие между параметром модуля и окном управления регистрами.

'Slave Select' в окне конфигурации 'Slave Select Channel' в управлении регистрами
1 Slave Select Channel 0
2 Slave Select Channel 1
3 Slave Select Channel 2
4 Slave Select Channel 3
5 Slave Select Channel 4
6 Slave Select Channel 5

Поддержка нескольких файлов

Количество wav-файлов можно настроить в окне 'Control Port Properties'. Начальный адрес и длина для каждого wav-файла должны быть настроены в окне 'Control Port Properties'. Поддержка нескольких файлов

Wav-файл можно динамически выбирать с внешнего пина. Поддержка нескольких файлов

Изменение высоты тона (Pitch Shifting)

Опцию изменения высоты тона можно включить для управления скоростью воспроизведения Wav-файла. Изменение высоты тона (Pitch Shifting)

В приведенном выше примере коэффициент/скорость изменения высоты тона установлен на 1.5 (обратите внимание, что это должно быть в формате с фиксированной точкой 8.24). Таким образом, файл воспроизводится со скоростью 1.5. Предположим, что EEPROM/Flash содержит синусоидальный тон 500 Гц. Воспроизведение будет синусоидальным тоном 750 Гц (1.5 * 500).

Информация о DSP-параметрах

GUI Control NameCompiler NameFunction Description
StartAddress1WavPlayerAlg1sample1_startМассив начальных адресов аудиофайлов в SPI-флеш-памяти
Length1WavPlayerAlg1sample1_endМассив конечных адресов аудиофайлов в SPI-флеш-памяти (рассчитывается как StartAddress + Length)


Здесь,

  • Зеленый - Имя алгоритма
  • Красный - Номер экземпляра (изменяется для каждого экземпляра)
  • Синий - Имя параметра
  • Коричневый - Номер файла (изменяется для каждого файла)

Поддерживаемые ИС

  1. ADAU145x

Wav Player в SigmaStudio: настройка и параметры

Wav Player — это модуль Master Control Port в среде SigmaStudio, предназначенный для чтения PCM/WAV-файлов из внешней SPI-флеш-памяти, подключенной к процессору ADAU145x семейства SigmaDSP. Помимо базового воспроизведения, модуль поддерживает изменение высоты тона (pitch shifting) в реальном времени, что расширяет его применение в интерактивных аудиосистемах. Модуль работает с аудиосэмплами в формате с фиксированной точкой 8.24 (моно/стерео), а также с WAV-файлами как с заголовком, так и без него (PCM). Поддерживаются сэмплы с разрядностью 8, 16, 24 и 32 бита на сэмпл (знаковое целое), при этом для файлов с WAV-заголовком разрядность 8 бит недоступна. Важно учитывать, что изменение высоты тона не поддерживается для стереофайлов. Для записи аудиофайлов в SPI-флеш-память используется утилита Flash Programmer. Управление воспроизведением осуществляется через три входных пина: Trigger запускает чтение файла по нарастающему фронту, Wav Select выбирает нужный файл (0 — первый, 1 — второй и так далее), а Pitch factor задает скорость проигрывания и доступен только при включенном pitch shifting. Выходные пины Left Out и Right Out выдают аудиосэмплы; правый канал появляется только при конфигурации с двумя каналами. Настройка модуля в проекте SigmaStudio выполняется через GUI-конфигурацию SPI-интерфейса. Ключевые параметры включают Bit Rate (скорость SPI, до 100000 кГц), SPI Slave Select (выбор чипа), Sub-Address Bytes и R/W Command Bytes для адресации, а также Read Instruction (обычно 0x3 для EEPROM/Flash).