Полоса октавы и дробный ленточный фильтр октавы
octaveFilter
Система object™ выполняет полосу октавы или дробную полосу октавы, фильтрующую независимо через каждый входной канал. Полоса октавы является диапазоном частот, где самая высокая частота является дважды самой низкой частотой. Полоса октавы и дробные ленточные фильтры октавы обычно используются, чтобы подражать, как люди чувствуют громкость. Фильтры октавы лучше всего изучены, когда просматривается на логарифмическом масштабе, который модели, как человеческое ухо взвешивает спектр.
Выполнять полосу октавы или дробную фильтрацию полосы октавы на вашем входе:
Создайте octaveFilter
объект и набор его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.
octFilt = octaveFilter
создает Системный объект, octFilt
, это выполняет полосу октавы, фильтрующую независимо через каждый входной канал.
octFilt = octaveFilter(
устанавливает свойство CenterFrequency на centerFreq
)centerFreq
.
octFilt = octaveFilter(
устанавливает свойство Bandwidth на centerFreq
,bw
)bw
.
octFilt = octaveFilter(___,
наборы каждое свойство Name,Value
)Name
к заданному Value
. Незаданные свойства имеют значения по умолчанию.
octFilt = octaveFilter(1000,'1/3 octave','SampleRate',96000)
создает Системный объект, octFilt
, с центральной частотой 1 000 Гц, 1/3 пропускной способностью фильтра октавы и частотой дискретизации 96 000 Гц.Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их и release
функция разблокировала их.
Если свойство является настраиваемым, можно изменить его значение в любое время.
Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (MATLAB).
FilterOrder
— Порядок фильтра октавы
(значение по умолчанию) | даже целое числоПорядок фильтра октавы, заданного как ровное целое число.
Настраиваемый: нет
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
CenterFrequency
— Центральная частота фильтра октавы (Гц)
(значение по умолчанию) | положительная скалярная величинаЦентральная частота октавы просачивается Гц, заданный как положительная скалярная величина.
Максимальная центральная частота является значением, которое заставляет ребро верхней полосы быть равным частоте Найквиста, Fs/2. Частоты выше этого значения насыщаются.
Минимальная центральная частота является значением, которое заставляет ребро нижней полосы быть равным 1 Гц. Частоты ниже этого значения квантуются к значению, которое соответствует ребру нижней полосы, равному 1 Гц.
Настраиваемый: да
Типы данных: single
| double
Bandwidth
— Отфильтруйте пропускную способность (октавы)'1 octave'
(значение по умолчанию) | '2/3 octave'
| '1/2 octave'
| '1/3 octave'
| '1/6 octave'
| '1/12 octave'
| '1/24 octave'
| '1/48 octave'
Отфильтруйте пропускную способность в октавах, заданных как '1 octave'
, '2/3 octave'
, '1/2 octave'
, '1/3 octave'
, '1/6 octave'
, '1/12 octave'
, '1/24 octave'
, или '1/48 octave'
.
Настраиваемый: да
Типы данных: char |
string
Oversample
— Сверхдискретизируйте переключательfalse
(значение по умолчанию) | true
Сверхдискретизируйте переключатель, заданный как false
или true
.
false
– Фильтр октавы запускается на уровне входной частоты дискретизации.
true
– Фильтр октавы достигает два раза входной частоты дискретизации. Сверхдискретизация минимизирует эффекты деформирования частоты, введенные билинейным преобразованием. Интерполятор полуполосы FIR реализует сверхдискретизацию перед фильтрацией октавы. Полуполоса decimator уменьшает частоту дискретизации назад до входного уровня выборки после фильтрации октавы.
Настраиваемый: нет
Типы данных: логический
SampleRate
— Введите частоту дискретизации (Гц)
(значение по умолчанию) | положительная скалярная величинаВведите частоту дискретизации в Гц, заданном как положительная скалярная величина.
Настраиваемый: да
Типы данных: single
| double
audioIn
— Аудиовход к фильтру октавыАудиовход к фильтру октавы, заданному как матрица. Столбцы матрицы обработаны как независимые звуковые каналы.
Типы данных: single
| double
audioOut
— Аудиовыход от фильтра октавыАудиовыход от фильтра октавы, возвращенного как матрица тот же размер как audioIn
.
Типы данных: single
| double
Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj
, используйте этот синтаксис:
release(obj)
createAudioPluginClass | Создайте аудио сменный класс, который реализует функциональность Системного объекта |
visualize | Визуализируйте и подтвердите ответ фильтра |
isStandardCompliant | Проверьте, что создание фильтра октавы является совместимым ANSI S1.11-2004 |
getFilter | Возвратите biquad объект фильтра с набором расчетных параметров |
getANSICenterFrequencies | Получите список допустимых частот центра ANSI S1.11-2004 |
parameterTuner | Настройте параметры объекта при потоковой передаче |
configureMIDI | Сконфигурируйте связи MIDI между аудио объектным и MIDI-контроллером |
disconnectMIDI | Отключите средства управления MIDI от аудио объекта |
getMIDIConnections | Получите связи MIDI аудио объекта |
clone | Создайте объект дублированной системы |
isLocked | Определите, используется ли Системный объект |
release | Высвободите средства и позвольте изменения в значениях свойств Системного объекта и введите характеристики |
reset | Сбросьте внутренние состояния Системного объекта |
step | Запустите алгоритм Системного объекта |
octaveFilter
поддерживает дополнительные аналитические функции фильтра. Смотрите Анализируют Создание фильтра Октавы для деталей.
Используйте octaveFilter
спроектировать 1/3 ленточный фильтр октавы, сосредоточенный на уровне 1 000 Гц. Обработайте звуковой сигнал с помощью создания фильтра октавы.
Создайте dsp.AudioFileReader
объект.
samplesPerFrame = 1024; reader = dsp.AudioFileReader('RockGuitar-16-44p1-stereo-72secs.wav','SamplesPerFrame',samplesPerFrame);
Создайте octaveFilter
объект. Используйте частоту дискретизации читателя как частота дискретизации фильтра октавы.
centerFreq = 1000; bw = '1/3 octave'; Fs = reader.SampleRate; octFilt = octaveFilter(centerFreq,bw,'SampleRate',Fs);
Визуализируйте ответ фильтра и проверьте, что он соответствует в маске класса 0 стандарта ANSI S1.11-2004.
visualize(octFilt,'class 0')
Создайте спектр анализатор, чтобы визуализировать исходный звуковой сигнал и звуковой сигнал после фильтрации полосы октавы.
scope = dsp.SpectrumAnalyzer( ... 'SampleRate',Fs, ... 'PlotAsTwoSidedSpectrum',false, ... 'FrequencyScale','Log', ... 'FrequencyResolutionMethod','WindowLength', ... 'WindowLength',samplesPerFrame, ... 'Title','Octave-Band Filtering', ... 'ShowLegend',true, ... 'ChannelNames',{'Original signal','Filtered signal'});
Обработайте звуковой сигнал в цикле аудиопотока. Визуализируйте отфильтрованное аудио и исходное аудио. Как лучшая практика, выпустите Системные объекты, когда завершенный.
while ~isDone(reader) x = reader(); y = octFilt(x); scope([x(:,1),y(:,1)]) end release(octFilt) release(reader) release(scope)
Создайте фильтр октавы. Визуализируйте ответ фильтра и подтвердите это, это - совместимый класс 2.
octFilt = octaveFilter('CenterFrequency',1000); visualize(octFilt,'class 2')
Анализируйте фильтр с помощью fvtool
.
fvtool(octFilt,'Fs',octFilt.SampleRate)
octaveFilter
поддержка объектов несколько методов анализа фильтра. Для получения дополнительной информации используйте help
в командной строке:
help octaveFilter.helpFilterAnalysis
The following analysis methods are available for discrete-time filter System objects: fvtool - Filter visualization tool info - Filter information freqz - Frequency response phasez - Phase response zerophase - Zero-phase response grpdelay - Group delay response phasedelay - Phase delay response impz - Impulse response impzlength - Length of impulse response stepz - Step response zplane - Pole/zero plot cost - Cost estimate for implementation of the filter System object measure - Measure characteristics of the frequency response order - Filter order coeffs - Filter coefficients in a structure firtype - Determine the type (1-4) of a linear phase FIR filter System object tf - Convert to transfer function zpk - Convert to zero-pole-gain ss - Convert to state space representation isallpass - Verify if filter System object is allpass isfir - Verify if filter System object is FIR islinphase - Verify if filter System object is linear phase ismaxphase - Verify if filter System object is maximum phase isminphase - Verify if filter System object is minimum phase isreal - Verify if filter System object is minimum real issos - Verify if filter System object is in second-order sections form isstable - Verify if filter System object is stable realizemdl - Filter realization (Simulink diagram) specifyall - Fully specify fixed-point filter System object settings cascade - Create a FilterCascade System object Second-order sections: scale - Scale second-order sections of BiquadFilter System object scalecheck - Check scaling of BiquadFilter System object reorder - Reorder second-order sections of BiquadFilter System object cumsec - Cumulative second-order section of BiquadFilter System object scaleopts - Create an options object for second-order section scaling sos - Convert to second-order-sections (for IIRFilter System objects only) Fixed-Point (Fixed-Point Designer Required): freqrespest - Frequency response estimate via filtering freqrespopts - Create an options object for frequency response estimate noisepsd - Power spectral density of filter output due to roundoff noise noisepsdopts - Create an options object for output noise PSD computation Multirate Analysis: polyphase - Polyphase decomposition of multirate filter System object gain (CIC decimator) - Gain of CIC decimator filter System object gain (CIC interpolator) - Gain of CIC interpolator filter System object For decimator, interpolator, or rate change filter System objects the analysis tools perform computations relative to the rate at which the filter is running. If a sampling frequency is specified, it is assumed that the filter is running at that rate. Help for octaveFilter.helpFilterAnalysis is inherited from superclass DSP.PRIVATE.FILTERANALYSIS
Создайте банк ленточного фильтра октавы, который соответствует ANSI S1.11-2004. Передайте белый шум через набор фильтров и смотрите получившуюся степень в каждой полосе.
Создайте фильтр октавы с настройками по умолчанию.
octFilt = octaveFilter;
Получите вектор допустимых центральных частот, учитывая центральную частоту octFilt
. Создайте набор фильтров октавы с помощью допустимых центральных частот.
centerFrequencies = getANSICenterFrequencies(octFilt); for i = 1:11 octaveFilterBank{i} = octaveFilter(centerFrequencies(i),'FilterOrder',12); end
Используйте getFilter
чтобы возвратить biquad объекты фильтра для каждого просачиваются ваш набор фильтров октавы. Визуализируйте набор фильтров октавы с линейной шкалой частоты. Визуализируйте набор фильтров октавы с логарифмической шкалой частоты. Логарифмическая шкала частоты заставляет центральные частоты казаться равномерно распределенными.
fvtool(octaveFilterBank{1}, ... octaveFilterBank{2}, ... octaveFilterBank{3}, ... octaveFilterBank{4}, ... octaveFilterBank{5}, ... octaveFilterBank{6}, ... octaveFilterBank{7}, ... octaveFilterBank{8}, ... octaveFilterBank{9}, ... octaveFilterBank{10}, ... octaveFilterBank{11}, ... 'Fs',octaveFilterBank{1}.SampleRate, ... 'FrequencyScale','Log');
Создайте белый шумовой сигнал. По определению белый шум имеет плоскую силу спектральная плотность.
whiteNoiseGenerator = dsp.ColoredNoise(0,1024); whiteNoise = whiteNoiseGenerator();
Передайте белый шумовой сигнал через банк ленточного фильтра октавы.
for i = 1:11 filteredWhiteNoise(:,i) = octaveFilterBank{i}(whiteNoise); end
Вычислите и постройте степень в каждой октаве.
for i = 1:11 powerPerBand(i) = bandpower(filteredWhiteNoise(:,i)); end bar(powerPerBand) title('Power Distribution of Octave-Band Filter Bank') set(gca,'XTickLabel',{round(centerFrequencies)}) xlabel('Center Frequency of Octave-Band Filter (Hz)') ylabel('Normalized Power')
Мощность полосы увеличивается фактором приблизительно двух, потому что пропускная способность октавы увеличивается фактором два. Распределение электроэнергии набора фильтров октавы подражает, как более высокие частоты восприняты громче в белом шуме. Можно использовать наборы фильтров октавы, чтобы взвесить спектр для воспринятой громкости.
Обработайте речевой сигнал использование различных полос октавы от банка ленточного фильтра октавы.
Спроектируйте 1/2 фильтр октавы с предполагаемой центральной частотой 800 Гц. Используйте isStandardCompliant
найти самую близкую совместимую центральную частоту.
octFilt = octaveFilter(800,'1/2 octave'); [complianceStatus,suggestedCenterFrequency] = isStandardCompliant(octFilt,'class 0')
complianceStatus = logical 0 suggestedCenterFrequency = 841.3951
Измените центральную частоту octFilt
возразите против предложенной центральной частоты, возвращенной isStandardCompliant
. Получите список допустимых частот центра ANSI S1.11-2004, учитывая ваш заданный octFilt
центральная частота.
octFilt.CenterFrequency = suggestedCenterFrequency; Fo = getANSICenterFrequencies(octFilt);
Создайте считывающее устройство звукового файла и средство записи аудио устройства.
fileReader = dsp.AudioFileReader('Counting-16-44p1-mono-15secs.wav'); deviceWriter = audioDeviceWriter('SampleRate',fileReader.SampleRate);
Создайте осциллограф, чтобы визуализировать отфильтрованные и неотфильтрованные сигналы.
scope = dsp.SpectrumAnalyzer(... 'PlotAsTwoSidedSpectrum',false,... 'FrequencyScale','Log',... 'Title','Octave-Band Filtering',... 'ShowLegend',true,... 'ChannelNames',{'Original signal','Filtered signal'});
В цикле аудиопотока обработайте звуковой сигнал с помощью ленточного фильтра октавы. Варьируйтесь центральная частота, чтобы услышать эффект. Как лучшая практика, выпустите свои объекты после обработки.
index = 12; octFilt.CenterFrequency = Fo(index); count = 1; while ~isDone(fileReader) x = fileReader(); y = octFilt(x); scope([x,y]) deviceWriter(y); if mod(count,100)==0 octFilt.CenterFrequency = Fo(index); index = index+1; end count = count+1; end release(scope) release(deviceWriter) release(fileReader)
Удалите аддитивный шум из аудио тональной шкалы с помощью octaveFilter
.
Создайте audioOscillator
и audioDeviceWriter
объекты со свойствами по умолчанию. Создайте octaveFilter
объект с центральным набором частоты к 100 Гц.
osc = audioOscillator; deviceWriter = audioDeviceWriter; octFilt = octaveFilter(100);
В цикле аудиопотока слушайте тон, созданный вашим аудио генератором. Тон содержит аддитивный Гауссов шум.
for i = 1:400 x = osc(); x1 = x + 0.1*randn(512,1); deviceWriter(x1); if rem(i,100)==0 osc.Frequency = osc.Frequency*2; end end
Создайте спектр анализатор, чтобы просмотреть ваши отфильтрованные и неотфильтрованные сигналы.
scope = dsp.SpectrumAnalyzer( ... 'PlotAsTwoSidedSpectrum',false, ... 'FrequencyScale','Log', ... 'FrequencyResolutionMethod','WindowLength', ... 'Title','Octave-Band Filtering', ... 'ShowLegend',true, ... 'SpectralAverages',10, ... 'ChannelNames',{'Original signal','Filtered signal'});
Сбросьте частоту своего аудио генератора к его значению по умолчанию, 100 Гц.
osc.Frequency = 100;
В цикле аудиопотока отфильтруйте поврежденный тон с помощью ленточного фильтра октавы. Когда тональная частота изменений в цикле, измените центральную частоту своего фильтра октавы, чтобы соответствовать. Как лучшая практика, выпустите свое аудио устройство, однажды сделанное.
for i = 1:400 x = osc(); x1 = x + 0.1*randn(512,1); x2 = octFilt(x1); deviceWriter(x2); if rem(i,100)==0 osc.Frequency = osc.Frequency*2; octFilt.CenterFrequency = octFilt.CenterFrequency*2; end scope([x1,x2]) end release(deviceWriter) release(scope)
Спроектируйте фильтр октавы шестого порядка 1/3 с частотой дискретизации 96 кГц.
octFilt = octaveFilter('FilterOrder',6, ... 'Bandwidth','1/3 octave', ... 'SampleRate',96e3);
Задайте центральные частоты по стандарту ANSI S1.11-2004. Центральные частоты, заданные стандартом, зависят от Bandwidth
и SampleRate
свойства.
centerFrequencies = getANSICenterFrequencies(octFilt)
centerFrequencies = 1×41
104 ×
0.0004 0.0005 0.0006 0.0008 0.0010 0.0013 0.0016 0.0020 0.0025 0.0032 0.0040 0.0050 0.0063 0.0079 0.0100 0.0126 0.0158 0.0200 0.0251 0.0316 0.0398 0.0501 0.0631 0.0794 0.1000 0.1259 0.1585 0.1995 0.2512 0.3162 0.3981 0.5012 0.6310 0.7943 1.0000 1.2589 1.5849 1.9953 2.5119 3.1623 3.9811
Установите центральную частоту фильтра октавы к 19,953 кГц и визуализируйте ответ с маской податливости 'класса 0'.
octFilt.CenterFrequency = centerFrequencies(38);
visualize(octFilt,'class 0')
Красная маска на графике задает границы для ответа величины фильтра. Ответ величины этого фильтра выходит за предел верхней границы маски податливости приблизительно 6,6 кГц. Один способ противостоять этому состоит в том, чтобы увеличить порядка фильтра так, чтобы спад фильтра был более крутым.
Чтобы принести создание фильтра октавы в податливость, установите порядка фильтра октавы на 8.
octFilt.FilterOrder = 8;
Другая опция, чтобы принести создание фильтра октавы в податливость должна установить Oversample
свойство к true
. Это проектирует и запускает фильтр в дважды заданном SampleRate
уменьшать эффекты билинейного преобразования во время стадии проектирования.
octFilt.FilterOrder = 6; octFilt.Oversample = true;
Спроектируйте фильтр октавы шестого порядка 2/3 с частотой дискретизации на 96 кГц.
octFilt = octaveFilter('FilterOrder',6, ... 'Bandwidth','2/3 octave', ... 'SampleRate',96e3);
Задайте центральные частоты по стандарту ANSI S1.11-2004. Центральные частоты, заданные стандартом, зависят от Bandwidth
и SampleRate
свойства.
centerFrequencies = getANSICenterFrequencies(octFilt)
centerFrequencies = 1×20
104 ×
0.0004 0.0006 0.0010 0.0016 0.0025 0.0040 0.0063 0.0100 0.0158 0.0251 0.0398 0.0631 0.1000 0.1585 0.2512 0.3981 0.6310 1.0000 1.5849 2.5119
Установите центральную частоту фильтра октавы к ~6 Гц и визуализируйте ответ с маской податливости 'класса 0'.
octFilt.CenterFrequency = centerFrequencies(2);
visualize(octFilt,'class 0')
Красная маска на графике задает границы для ответа величины фильтра. Ответ величины этого фильтра понижается нижняя граница маски податливости между 5.5 и 7,5 Гц.
Низкочастотные фильтры в наборе фильтров октавы очень низко нормировали центральные частоты, и фильтры, спроектированные для них, имеют полюса, которые находятся почти на модульном круге. Чтобы сделать этот ANSI фильтра совместимым, это должно проектироваться и работаться с более низкой частотой дискретизации.
Чтобы принести создание фильтра октавы в податливость, установите частоту дискретизации на 48 кГц.
octFilt.SampleRate = 48e3;
Создайте dsp.AudioFileReader
читать в покадровом аудио. Создайте audioDeviceWriter
записать аудио в вашу звуковую карту. Создайте octaveFilter
обработать аудиоданные. Вызовите visualize
построить частотную характеристику фильтра октавы.
frameLength = 1024; fileReader = dsp.AudioFileReader('RockDrums-44p1-stereo-11secs.mp3', ... 'SamplesPerFrame',frameLength); deviceWriter = audioDeviceWriter('SampleRate',fileReader.SampleRate); octFilt = octaveFilter('SampleRate',fileReader.SampleRate); visualize(octFilt)
Вызовите parameterTuner
открыть пользовательский интерфейс для настроек параметров octaveFilter
при потоковой передаче.
parameterTuner(octFilt)
В цикле аудиопотока:
Читайте в системе координат аудио из файла.
Примените фильтрацию октавы.
Запишите систему координат аудио к вашему аудио устройству для слушания.
При потоковой передаче настройки параметров октавы фильтруют и слушают эффект.
while ~isDone(fileReader) audioIn = fileReader(); audioOut = octFilt(audioIn); deviceWriter(audioOut); drawnow limitrate % required to update parameter end
Как лучшая практика, выпустите свои объекты, однажды сделанные.
release(deviceWriter) release(fileReader) release(octFilt)
Частота band edge относится к более низкому или верхнему ребру полосы пропускания полосового фильтра.
center frequency of an octave filter является геометрическим средним значением частот ребра нижней и верхней полосы.
createAudioPluginClass
и configureMIDI
функции сопоставляют настраиваемые свойства octaveFilter
к стоящим с пользователем параметрам:
Свойство | Область значений | Отображение | Модули |
---|---|---|---|
CenterFrequency | [3, 22000] | журнал | Гц |
Bandwidth | '1 octave' , '2/3 octave' , '1/2 octave' , '1/3 octave' , '1/6 octave' , '1/12 octave' , '1/24 octave' , или '1/48 octave' | Ваша область значений MIDI-контроллера дискретизируется на семь уровней, соответствуя семи | –– |
octaveFilter
Системный объект использует заданную центральную частоту и пропускную способность фильтра в октавах, чтобы определить нормированные ребра полосы [2].
Объект вычисляет частоты ребра верхней и нижней полосы:
f c является нормированной центральной частотой, заданной CenterFrequency
свойство.
b является пропускной способностью октавы, заданной Bandwidth
свойство. Например, если Bandwidth
задан как '1/3 octave'
, значение b равняется 3.
G является постоянным преобразованием:
octaveFilter
Системный объект реализует цифровой метод разработки полосового фильтра высшего порядка, заданный в [1].
В этом методе разработки желаемый цифровой полосовой фильтр сопоставляет с аналоговым прототипом lowpass Баттерворта, который затем сопоставлен назад с цифровым полосовым фильтром:
Аналоговый Фильтр Баттерворта выражается как каскад секций второго порядка:
где:
N является порядком фильтра, заданным FilterOrder
свойство.
Аналоговый Фильтр Баттерворта сопоставлен с цифровым фильтром с помощью полосовой версии билинейного преобразования:
где
Это отображение приводит к следующей замене:
Аналоговый прототип оценен:
Поскольку s второго порядка в z, полосовая версия билинейного преобразования является четвертым порядком в z.
[1] Orfanidis, Софокл Дж. Введение в обработку сигналов. Englewood Cliffs, NJ: Prentice Hall, 2010.
[2] Акустическое общество Америки. Американская национальная стандартная спецификация для аналога полосы октавы и Дробной Полосы октавы и цифровых фильтров. ANSI S1.11-2004. Мелвилл, Нью-Йорк: акустическое общество Америки, 2009.
Указания и ограничения по применению:
Системные объекты в Генерации кода MATLAB (MATLAB Coder)
Octave Filter | dsp.BiquadFilter
| multibandParametricEQ
| octaveFilterBank
| weightingFilter
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.