ソニック¶
Sonic
Sonicコンポーネントは、WAVストリームのオーディオパラメータを調整できる多次元フィルタとして機能します。 この機能は、たとえば次のような場合に役立ちます。 ユーザーが選択可能なレートでオーディオ録音の再生速度を上げます。
The Sonic component acts as a multidimensional filter that lets you adjust audio parameters of a WAV stream. This functionality may be useful to e.g. increase playback speed of an audio recording by a user selectable rate.
次のパラメータを調整できます:
The following parameters can be adjusted:
- 速度
speed- ピッチ
pitch- 補間タイプ
interpolation type
最初の2つのパラメーターの調整は、調整率を提供する浮動小数点値で表されます。 たとえば、オーディオサンプルの速度を2倍にするには、sonic_set_pitch_and_speed_info(el, 1.0, 2.0)
を呼び出します。 速度をそのまま維持するには、sonic_set_pitch_and_speed_info(el, 1.0, 1.0)
を呼び出します。
The adjustments of the first two parameters are represented by float values that provide the rate of adjustment. For example, to increase the speed of an audio sample by 2 times, callsonic_set_pitch_and_speed_info(el, 1.0, 2.0)
. To keep the speed as it is, callsonic_set_pitch_and_speed_info(el, 1.0, 1.0)
.
補間タイプには、高速で精度の低い線形補間、または低速で精度の高いFIR補間のいずれかを選択できます。
For the interpolation type you may select either faster but less accurate linear interpolation, or slower but more accurate FIR interpolation.
アプリケーション例¶
Application Example
このAPIの実装は、audio_processing/pipeline_sonicの例で示されています。
Implementation of this API is demonstrated in audio_processing/pipeline_sonic example.
APIリファレンス¶
API Reference
関数¶
Functions
-
esp_err_t
sonic_set_info
(audio_element_handle_t self, int rate, int ch)¶ ソニックが処理するオーディオサンプルレートとチャンネル数を設定します。
Sets the audio sample rate and the number of channels to be processed by the sonic.
- Return
- ESP_OK ESP_FAIL
- Parameters
self
: オーディオ要素ハンドルself
: Audio element handlerate
: ストリームデータのサンプルレートrate
: The sample rate of stream datach
: ストリームデータのチャネル数ch
: The number channels of stream data
-
esp_err_t
sonic_set_pitch_and_speed_info
(audio_element_handle_t self, float pitch, float speed)¶ ソニックが処理するオーディオのピッチと速度を設定します。
Sets the audio pitch and speed to be processed by the sonic.
- Return
- ESP_OK ESP_FAIL
- Parameters
self
: オーディオ要素ハンドルself
: Audio element handlepitch
: オーディオファイルのピッチのスケールファクター。 0は元のピッチを意味します。 範囲は[0.2 4.0]です。pitch
: Scale factor of pitch of audio file. 0 means the original pitch. The range is [0.2 4.0].speed
: オーディオファイルの速度の倍率。 0は元の速度を意味します。 範囲は[0.1 8.0]です。speed
: Scale factor of speed of audio file. 0 means the original speed. The range is [0.1 8.0].
-
audio_element_handle_t
sonic_init
(sonic_cfg_t *config)¶ sonic用のオーディオエレメントハンドルを作成します。
Creates an Audio Element handle for sonic.
- Return
- ソニックオーディオエレメントハンドル
The sonic audio element handle
- Parameters
config
: ソニック構成config
: The sonic configuration
構造体¶
Structures
-
struct
sonic_info_t
¶ sonicがファイルを処理するために必要なオーディオファイルと設定パラメータに関する情報。
Information on audio file and configuration parameters required by sonic to process the file.
Public Members
-
int
samplerate
¶ オーディオファイルのサンプルレート(Hz)
Audio file sample rate (in Hz)
-
int
channel
¶ オーディオファイルチャンネルの数(Mono = 1、Dual = 2)
Number of audio file channels (Mono=1, Dual=2)
-
int
resample_linear_interpolate
¶ 単純な線形補間を使用するフラグ。 1は、単純な線形補間を使用することを示します。 0は、単純な線形補間を使用していないことを示します。
Flag of using simple linear interpolation. 1 indicates using simple linear interpolation. 0 indicates not using simple linear interpolation.
-
float
pitch
¶ オーディオファイルのピッチのスケールファクター。 「pitch」の値が0.3の場合、sonicによって処理されるオーディオファイルのピッチは元のファイルよりも低くなります。 「pitch」の値が1.3の場合、sonicによって処理されたオーディオファイルのピッチは元のファイルよりも30%高くなります。
Scale factor of pitch of audio file. If the value of ‘pitch’ is 0.3, the pitch of audio file processed by sonic islower than the original. If the value of ‘pitch’ is 1.3, the pitch of audio file processed by sonic is 30% higher than the original.
-
float
speed
¶ オーディオファイルの速度の倍率。 「speed」の値が0.3の場合、sonicによって処理されるオーディオファイルの速度は元のファイルより70%遅くなります。 「speed」の値が1.3の場合、sonicによって処理されるオーディオファイルの速度は元のファイルよりも30%速くなります。
Scale factor of speed of audio file. If the value of ‘speed’ is 0.3, the speed of audio file processed by sonic is 70% slower than the original. If the value of ‘speed’ is 1.3, the speed of audio file processed by sonic is 30% faster than the original.
-
int
-
struct
sonic_cfg_t
¶ ソニック構成。
Sonic configuration.