Dixom Wiki

DSP шпаргалка

Haskell implementation of rb-j's IIR cookbook.  I have turned his text
file into a literate Haskell file.  You can find the original at:

http://www.harmony-central.com/Computer/Programming/Audio-EQ-Cookbook.txt

--Matt Donadio (Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.)

> -----------------------------------------------------------------------------
> -- |
> -- Module      :  DSP.Filter.IIR.IIR
> -- Copyright   :  (c) Matthew Donadio 2003
> -- License     :  GPL
> --
> -- Maintainer  :  Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
> -- Stability   :  experimental
> -- Portability :  portable
> --
> -- Cookbook formulae for audio EQ biquad filter coefficients
> -- by Robert Bristow-Johnson  <Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.;
> --
> -- <http://www.harmony-central.com/Computer/Programming/Audio-EQ-Cookbook.txt>
> --
> -----------------------------------------------------------------------------

Подробнее...

Управление кроссоверами платфомры

В платформе Dixom на данный момент реализовано 14 HiPass и 14 LowPass фильтров каждый фильтр может резать различными типами фильтров до 10 порядка, они состоят из параметров отражённые в таблице №1, и в свою очередь полосы разбиты по различным каналам отражённых в таблице №2, 

  Таблица№1 мин и макс параметры одной полосы эквализации
 Адрес ячейки
Точка ячейки
Вкл
Выкл
Тип фильтра Частота Порядок среза Добротность
от 100 до 114
  0 - HiPass
  1 - LowPass
  0 - Выкл
  1 - Вкл
от 0 до 13
от 20 до 20000
от 0 до 9
от 0.05 до 20
  • Адрес ячейки определяет отношение эквалайзера к выходному каналу, смотри таблицу№2
  • Точка ячейки  опредляет точку ячейки для типа фильтра
  • Вкл/Выкл определяет включен или отключен фильтр на выбранной полосе 0 отключен 1 включен
  • Тип фильтра определяет номер выбранного фильтра
    • 0 фильтр отключен
    • 1 PEAK
    • 2 LOWPASS
    • 3 HIGHPASS
    • 4 BUTTERWORTH_LP
    • 5 BUTTERWORTH_HP
    • 6 BESSEL_LP
    • 7 BESSEL_HP
    • 8 LOWPASS_FIRST
    • 9  HIGHPASS_FIRST
    • 10 LOW_SHELF (не работает)
    • 11 HIGH_SHELF (не работает)
    • 12 BANDPASS (не работает)
    • 13 BANDSTOP (не работает)
  • Частота определяет частоту фильтра
  • Порядок среза определяет порядок среза типа фильтра
  • Добротность определяет ширину усиливаемой или ослабляемой полосы частот

Для управления эквалайзером при помощи консольных команд в Таблице №2 отражён адрес ячейки каждого канала с количество полос, максимальные параметры которые полос отражены в Таблице №1. Для управления с приложения вам эта информация 100% не пригодится. 

Для настройки кроссовера консольной командой необходимо набрать SET CROSS  101 0 1 1200 4 3.1

  • SET EQ внутренняя функция платформы Dixom
  • 100 адрес ячейки 
  • 0 номер полосы
  • 1 фильтр включен
  • 5 тип фильтра PEAK
  • 1200 частота
  • 4 порядок среза
  • 3.1 добротность

Эта команда установит на первом выходном на частоте 1200 HiPass срез фильтром BUTTERWORTH_HP, 4 порядком.

Таблица№2 распределение полос эквализации по каналам
Эквалайзер
Адрес ячейки
Количество полос
 Центральный
100
28
OUTPUT VOL L CH1
101
15
OUTPUT VOL R CH2
102
15
OUTPUT VOL L CH3
103
 15
OUTPUT VOL R CH4
104
 15
OUTPUT VOL L CH5
105
 15
OUTPUT VOL R CH6
106
 15
OUTPUT VOL L CH7
107
 15
OUTPUT VOL R CH8
108
 15
OUTPUT VOL L CH9
109
 15
OUTPUT VOL R CH10
110
 15
OUTPUT VOL L CH11
111
 15
OUTPUT VOL R CH12
112
 15
OUTPUT VOL L SPDIF
113
 15
OUTPUT VOL R SPDIF
114
 15

SD

Управление эквалайзерами платфомры

В платформе Dixom на данный момент реализовано 238 полос параметрической эквализации звука, они состоят из параметров отражённые в таблице №1, и в свою очередь полосы разбиты по различным каналам отражённых в таблице №2, 

  Таблица№1 мин и макс параметры одной полосы эквализации
 Адрес ячейки  № полосы Вкл/Выкл Тип фильтра Буст Частота Добротность
от 100 до 114
 от 0 до 28
от 0 до 1
от 0 до 13
от -20 до +20
от 20 до 20000
от 0.05 до 20
  • Адрес ячейки определяет отношение эквалайзера к выходному каналу, смотри таблицу№2
  • № полосы опредляет полосу к выходном каналу максимальное количество полос отражено в таблице№2
  • Вкл/Выкл определяет включен или отключен фильтр на выбранной полосе 0 отключен 1 включен
  • Тип фильтра определяет номер выбранного фильтра
    • 0 фильтр отключен
    • 1 PEAK
    • 2 LOWPASS
    • 3 HIGHPASS
    • 4 BUTTERWORTH_LP
    • 5 BUTTERWORTH_HP
    • 6 BESSEL_LP
    • 7 BESSEL_HP
    • 8 LOWPASS_FIRST
    • 9  HIGHPASS_FIRST
    • 10 LOW_SHELF (не работает)
    • 11 HIGH_SHELF (не работает)
    • 12 BANDPASS (не работает)
    • 13 BANDSTOP (не работает)
  • Буст определяет коэффициент усиления на выбранной частоте фильтра.
  • Частота определяет частоту фильтра
  • Добротность определяет ширину усиливаемой или ослабляемой полосы частот

Для управления эквалайзером при помощи консольных команд в Таблице №2 отражён адрес ячейки каждого канала с количество полос, максимальные параметры которые полос отражены в Таблице №1. Для управления с приложения вам эта информация 100% не пригодится. 

Для настройки эквалайзера консольной командой необходимо набрать SET EQ  100  0  1  2.1  1200  3.1

  • SET EQ внутренняя функция платформы Dixom
  • 100 адрес ячейки 
  • 0 номер полосы
  • 1 фильтр включен
  • 1 тип фильтра PEAK
  • 2.1 буст частоты
  • 1200 частота
  • 3.1 добротность

Эта команда установит на Центральном эквалайзере в первой полосе фильтром PEAK на частоте 1200 буст на 2.1 децибел с добротностью 3.1

Таблица№2 распределение полос эквализации по каналам
Эквалайзер
Адрес ячейки
Количество полос
 Центральный
100
28
OUTPUT VOL L CH1
101
15
OUTPUT VOL R CH2
102
15
OUTPUT VOL L CH3
103
 15
OUTPUT VOL R CH4
104
 15
OUTPUT VOL L CH5
105
 15
OUTPUT VOL R CH6
106
 15
OUTPUT VOL L CH7
107
 15
OUTPUT VOL R CH8
108
 15
OUTPUT VOL L CH9
109
 15
OUTPUT VOL R CH10
110
 15
OUTPUT VOL L CH11
111
 15
OUTPUT VOL R CH12
112
 15
OUTPUT VOL L SPDIF
113
 15
OUTPUT VOL R SPDIF
114
 15

SD

Управление регуляторами громкости

P.S. данные команды относятся к новой версии прошивки которой ещё нет в свободном доступе! Для полного контроля над распределением звуковых линий в платформе Dixom реализовано 232 регулятора громкости. Каждый регулятор громкости может принимать значения от 0 до 60 делений, 0 - минимальная громкость, 60 - максимальная громкость. При помощи такой матрицы регуляторов громкости можно организовать абсолютно любую сцену направив каждый звуковой сигнал именно в тот выход который вам необходим. 

В таблице №1 представлены стандартные настройки всех регуляторов громкости. При сбросе настроек регуляторов громкости они все вернуться в состояние отраженное в этой таблице. 

Таблица №1
MAS
TER
VOL
Стандартные
настройки
ячеек
громкости
OUTPUT
VOL 1-2
60
OUTPUT
VOL 3-4
60
OUTPUT
VOL5-6
60
OUTPUT
VOL 7-8
60
OUTPUT
VOL 9-10 
60
OUTPUT
VOL 11-12
60
OUTPUT
VOL SPDIF
60
L
CH1
60
R
CH2
60
L
CH3
60
R
CH4
60
L
CH5
60
R
CH6
60
L
CH7
60
R
CH8
60
L
CH9
60
R
CH10
60
L
CH11
60
R
CH12
60
L
SPDIF
60
R
SPDIF
60
10
INPUT
VOL
USB
60
USB L
60
60
0
60
0
60
0
60
0
60
0
60
0
60
0
USB R
60
60
0
60
0
60
0
60
0
60
0
60
0
60
INPUT
VOL
BT
0
BT L 
60
60
0
60
0
60
0
60
0
60
0
60
0
60
0
 BT R
60
0
60
0
60
0
60
0
60
0
60
0
60
0
60
INPUT
VOL
AUX
0
AUX L
60
60
0
60
0
60
0
60
0
60
0
60
0
60
0
AUX R
60
0
60
0
60
0
60
0
60
0
60
0
60
0
60
INPUT
VOL
RADIO 
0
RADIO L
60
60
0
60
0
60
0
60
0
60
0
60
0
60
0
RADIO R
60
0
60
0
60
0
60
0
60
0
60
0
60
0
60
INPUT
VOL
SPDIF 
0
SPDIF  L 
60
60
0
60
0
60
0
60
0
60
0
60
0
60
0
SPDIF  R
60
0
60
0
60
0
60
0
60
0
60
0
60
0
60
INPUT
VOL
MIC
0
MIC L
60
60
0
60
0
60
0
60
0
60
0
60
0
60
0
MIC R
60
0
60
0
60
0
60
0
60
0
60
0
60
0
60
INPUT
VOL
BEEP
0
60
60
60
60
60
60
60
60
60
60
60
60
60
60

Для управления громкостью при помощи консольных команд в Таблице №2 отражён адрес каждого регулятора. Для управления с приложения вам эта информация 100% не пригодится. 

Для установки громкости консольной командой необходимо набрать SET VOL 10  20

  • SET VOL - это внутренняя функция платформы Dixom
  • 10 - это  адрес ячейки из таблицы №2 в которой хотим установить громкость
  • 20 - это уровень громкости который необходимо установить (принимает значения от 0 до 60 где 0 это минимальная громкость, 60 максимальная)

для того чтобы отобразить текущий уровень громкости в выбранной ячейке допустим в той же 10-й ячейке наберём команду GET VOL 10

  • GET VOL - это внутренняя функция платформы Dixom
  • 10 - это  адрес ячейки из таблицы №2 в которой хотим узнать уровень громкости

В ответ получим GET VOL 10  20 в котором сказано, что в 10 ячейке установлена громкость 20.

Для закрепления пару задач: допустим нам необходимо чтоб на первом канале CH1 не играло с USB источника звука  по таблице №2 видим что с USB источника через первый канал могут играть ячейки 50 и 64, мы знаем что минимальный уровень громкости это 0 и отправим команду SET VOL 50  а вот на 64 адрес отправлять ничего не нужно, так как по таблице№1 там и так стоит минимальная громкость 0. И ещё одна задачка допустим нужно установит уровень громкости 45 делений на USB источнике звука, в Таблице №2 видим что адрес ячейки у USB источника 11, отправляем команду SET VOL 11 45 

Подкатегории