Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions app/boards/intel_adsp_ace15_mtpm.conf
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ CONFIG_COMP_MFCC=y
CONFIG_COMP_MULTIBAND_DRC=y
CONFIG_FORMAT_CONVERT_HIFI3=n
CONFIG_SAMPLE_KEYPHRASE=y
CONFIG_COMP_PHASE_VOCODER=y
CONFIG_COMP_STFT_PROCESS=y

# SOF / audio modules / mocks
Expand Down
1 change: 1 addition & 0 deletions app/boards/intel_adsp_ace20_lnl.conf
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ CONFIG_COMP_TESTER=m
CONFIG_COMP_SRC_IPC4_FULL_MATRIX=y
CONFIG_FORMAT_CONVERT_HIFI3=n
CONFIG_SAMPLE_KEYPHRASE=y
CONFIG_COMP_PHASE_VOCODER=y
CONFIG_COMP_STFT_PROCESS=y

# SOF / infrastructure
Expand Down
1 change: 1 addition & 0 deletions app/boards/intel_adsp_ace30_ptl.conf
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ CONFIG_FORMAT_CONVERT_HIFI3=n
# tests it can't use extra CONFIGs. See #9410, #8722 and #9386
CONFIG_COMP_GOOGLE_RTC_AUDIO_PROCESSING=m
CONFIG_GOOGLE_RTC_AUDIO_PROCESSING_MOCK=y
CONFIG_COMP_PHASE_VOCODER=y
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if you make it modular by default, then please drop =y from all ACE 3.0+ platforms

CONFIG_COMP_STFT_PROCESS=y

# SOF / infrastructure
Expand Down
1 change: 1 addition & 0 deletions app/boards/intel_adsp_ace30_wcl.conf
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ CONFIG_FORMAT_CONVERT_HIFI3=n
# tests it can't use extra CONFIGs. See #9410, #8722 and #9386
CONFIG_COMP_GOOGLE_RTC_AUDIO_PROCESSING=m
CONFIG_GOOGLE_RTC_AUDIO_PROCESSING_MOCK=y
CONFIG_COMP_PHASE_VOCODER=y
CONFIG_COMP_STFT_PROCESS=y

# SOF / infrastructure
Expand Down
1 change: 1 addition & 0 deletions src/arch/host/configs/library_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ CONFIG_COMP_MFCC=y
CONFIG_COMP_MODULE_ADAPTER=y
CONFIG_COMP_MULTIBAND_DRC=y
CONFIG_COMP_MUX=y
CONFIG_COMP_PHASE_VOCODER=y
CONFIG_COMP_RTNR=y
CONFIG_COMP_SEL=y
CONFIG_COMP_SOUND_DOSE=y
Expand Down
3 changes: 3 additions & 0 deletions src/audio/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,9 @@ if(NOT CONFIG_COMP_MODULE_SHARED_LIBRARY_BUILD)
if(CONFIG_COMP_MUX)
add_subdirectory(mux)
endif()
if(CONFIG_COMP_PHASE_VOCODER)
add_subdirectory(phase_vocoder)
endif()
if(CONFIG_COMP_RTNR)
add_subdirectory(rtnr)
endif()
Expand Down
1 change: 1 addition & 0 deletions src/audio/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@ rsource "module_adapter/Kconfig"
rsource "multiband_drc/Kconfig"
rsource "mux/Kconfig"
rsource "nxp/Kconfig"
rsource "phase_vocoder/Kconfig"
rsource "rtnr/Kconfig"
rsource "selector/Kconfig"
rsource "smart_amp/Kconfig"
Expand Down
2 changes: 2 additions & 0 deletions src/audio/mfcc/mfcc_generic.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
#include <sof/audio/component.h>
#include <sof/audio/audio_stream.h>
#include <sof/math/auditory.h>
#include <sof/math/icomplex16.h>
#include <sof/math/icomplex32.h>
#include <sof/math/matrix.h>
#include <sof/math/sqrt.h>
#include <sof/math/trig.h>
Expand Down
2 changes: 2 additions & 0 deletions src/audio/mfcc/mfcc_hifi4.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
#include <sof/audio/component.h>
#include <sof/audio/audio_stream.h>
#include <sof/math/auditory.h>
#include <sof/math/icomplex16.h>
#include <sof/math/icomplex32.h>
#include <sof/math/matrix.h>
#include <sof/math/sqrt.h>
#include <sof/math/trig.h>
Expand Down
2 changes: 2 additions & 0 deletions src/audio/mfcc/mfcc_setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
#include <sof/audio/component.h>
#include <sof/audio/audio_stream.h>
#include <sof/math/auditory.h>
#include <sof/math/icomplex16.h>
#include <sof/math/icomplex32.h>
#include <sof/math/trig.h>
#include <sof/math/window.h>
#include <sof/trace/trace.h>
Expand Down
15 changes: 15 additions & 0 deletions src/audio/phase_vocoder/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# SPDX-License-Identifier: BSD-3-Clause

if(CONFIG_COMP_PHASE_VOCODER STREQUAL "m" AND DEFINED CONFIG_LLEXT)
add_subdirectory(llext ${PROJECT_BINARY_DIR}/phase_vocoder_llext)
add_dependencies(app phase_vocoder)
else()
add_local_sources(sof phase_vocoder.c)
add_local_sources(sof phase_vocoder_setup.c)
add_local_sources(sof phase_vocoder_common.c)
add_local_sources(sof phase_vocoder-generic.c)

if(CONFIG_IPC_MAJOR_4)
add_local_sources(sof phase_vocoder-ipc4.c)
endif()
endif()
14 changes: 14 additions & 0 deletions src/audio/phase_vocoder/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# SPDX-License-Identifier: BSD-3-Clause

config COMP_PHASE_VOCODER
tristate "Phase Vocoder component"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do you want to make it default m if LIBRARY_DEFAULT_MODULAR=

default n
select MATH_FFT
select MATH_32BIT_FFT
help
Select for phase_vocoder component. The component provides
render speed control in range 0.5-2.0x. The pitch is
preserved in audio waveform stretch or shorten. The module
is using a frequency domain algorithm in STFT domain to
interpolate magnitude and phase of output IFFT frames from
input FFT frames.
11 changes: 11 additions & 0 deletions src/audio/phase_vocoder/llext/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Copyright (c) 2026 Intel Corporation.
# SPDX-License-Identifier: Apache-2.0

sof_llext_build("phase_vocoder"
SOURCES ../phase_vocoder.c
../phase_vocoder_setup.c
../phase_vocoder_common.c
../phase_vocoder-generic.c
../phase_vocoder-ipc4.c
LIB openmodules
)
6 changes: 6 additions & 0 deletions src/audio/phase_vocoder/llext/llext.toml.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#include <tools/rimage/config/platform.toml>
#define LOAD_TYPE "2"
#include "../phase_vocoder.toml"

[module]
count = __COUNTER__
Loading
Loading