Opus codec with STM32WB5MMGHTR
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-01-18 11:46 PM
Hi,
I have been trying to add opus codec in my project. But I cannot able to build after adding the opus file. If anyone successfully added opus with their project help me out. I mostly get errors on 'Neon' which is used for FFT. As I searched neon is for cortex A, but the STM32WB5MMGHTR is cortex M based. I'm also adding my config file code for opus here
#ifndef CONFIG_H
#define CONFIG_H
/* Variable leng arays */
#define VAR_ARRAYS
/* Comment out the next line for floating-point code */
#define FIXED_POINT 1
#define OPUS_BUILD 1
#endif /* CONFIG_H */
Help me to add opus library with my project.
Solved! Go to Solution.
- Labels:
-
STM32CubeMX
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-01-31 07:14 AM
Hello All,
It looks like there is a missing file (.pdsc file =Pack Description Format) in the he folder "X-CUBE-OPUS.zip.
Our team are working to resolve the issue.
Thank you for your feedback and sorry for the inconvenience.
Thanks
Imen
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-01-31 09:14 PM - edited ‎2024-02-01 12:53 AM
Hi Imen.D,
Thanks for the update. If possible can you share the "X-CUBE-OPUS.zip" when the issue got resolved.
Thanks & Regards,
Laksh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-02-06 10:43 PM
Hi Imen.D,
Any update on this issue??
Thanks and regards,
Laksh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-02-07 09:54 PM - edited ‎2024-02-08 01:17 AM
Hi,
I integrated opus in my project.
Things I did:
1. I opened example project which present inside the "X-CUBE-OPUS.zip" and explored what are the files included from the opus library. To check this I read ".cproject" and ".project" from the example file, then I added those files in my project.
2. After that I checked the compiler options from the project build settings and I made changes in my project compiler options with that.
3. Also, I checked build output for "fpu" based compiler options and set in my project. Opus needs "-mfpu=fpv4-sp-d16" "-mfloat-abi=hard" options to get compiled. (Before adding this option verify your controller has support for FPU).
After all the above changes in my code I got compiled successfully.
Thanks and regards,
Laksh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-02-09 05:26 AM - edited ‎2024-02-09 05:30 AM
Hi Laksh,
I am getting similar errors. Can you add the ".cproject" and ".project" files of your project here so I can compare?
Thanks & Regards
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-02-11 09:54 PM - edited ‎2024-02-11 09:58 PM
Hi Cavitcem,
I'm not using "STM32CubeIDE" I'm using "Visual Studio Code" for my project and I'm using CMake to link the files and Ninja for build. Anyway I'll share the example .cproject and .project from "X-CUBE-OPUS.zip".
Also, I have added the Opus folder structure and files that I have included in my project.
//Opus Folder
.
├── celt
│ ├── arch.h
│ ├── arm
│ │ ├── armcpu.h
│ │ ├── armopts.s.in
│ │ ├── fft_arm.h
│ │ ├── fixed_arm64.h
│ │ ├── fixed_armv4.h
│ │ ├── fixed_armv5e.h
│ │ ├── kiss_fft_armv4.h
│ │ ├── kiss_fft_armv5e.h
│ │ ├── mdct_arm.h
│ │ └── pitch_arm.h
│ ├── bands.c
│ ├── bands.h
│ ├── celt.c
│ ├── celt_decoder.c
│ ├── celt_encoder.c
│ ├── celt.h
│ ├── celt_lpc.c
│ ├── celt_lpc.h
│ ├── cpu_support.h
│ ├── cwrs.c
│ ├── cwrs.h
│ ├── ecintrin.h
│ ├── entcode.c
│ ├── entcode.h
│ ├── entdec.c
│ ├── entdec.h
│ ├── entenc.c
│ ├── entenc.h
│ ├── fixed_debug.h
│ ├── fixed_generic.h
│ ├── float_cast.h
│ ├── kiss_fft.c
│ ├── _kiss_fft_guts.h
│ ├── kiss_fft.h
│ ├── laplace.c
│ ├── laplace.h
│ ├── mathops.c
│ ├── mathops.h
│ ├── mdct.c
│ ├── mdct.h
│ ├── mfrngcod.h
│ ├── modes.c
│ ├── modes.h
│ ├── os_support.h
│ ├── pitch.c
│ ├── pitch.h
│ ├── quant_bands.c
│ ├── quant_bands.h
│ ├── rate.c
│ ├── rate.h
│ ├── stack_alloc.h
│ ├── static_modes_fixed_arm_ne10.h
│ ├── static_modes_fixed.h
│ ├── static_modes_float_arm_ne10.h
│ ├── static_modes_float.h
│ ├── vq.c
│ └── vq.h
├── CMakeLists.txt
├── Inc
│ ├── opus_custom.h
│ ├── opus_defines.h
│ ├── opus.h
│ ├── opus_multistream.h
│ ├── opus_projection.h
│ └── opus_types.h
├── silk
│ ├── A2NLSF.c
│ ├── ana_filt_bank_1.c
│ ├── API.h
│ ├── arm
│ │ ├── biquad_alt_arm.h
│ │ ├── LPC_inv_pred_gain_arm.h
│ │ ├── macros_arm64.h
│ │ ├── macros_armv4.h
│ │ ├── macros_armv5e.h
│ │ ├── NSQ_del_dec_arm.h
│ │ ├── NSQ_neon.h
│ │ ├── SigProc_FIX_armv4.h
│ │ └── SigProc_FIX_armv5e.h
│ ├── biquad_alt.c
│ ├── bwexpander_32.c
│ ├── bwexpander.c
│ ├── check_control_input.c
│ ├── CNG.c
│ ├── code_signs.c
│ ├── control_audio_bandwidth.c
│ ├── control_codec.c
│ ├── control.h
│ ├── control_SNR.c
│ ├── debug.c
│ ├── debug.h
│ ├── dec_API.c
│ ├── decode_core.c
│ ├── decode_frame.c
│ ├── decode_indices.c
│ ├── decode_parameters.c
│ ├── decode_pitch.c
│ ├── decode_pulses.c
│ ├── decoder_set_fs.c
│ ├── define.h
│ ├── enc_API.c
│ ├── encode_indices.c
│ ├── encode_pulses.c
│ ├── errors.h
│ ├── fixed
│ │ ├── apply_sine_window_FIX.c
│ │ ├── arm
│ │ │ └── warped_autocorrelation_FIX_arm.h
│ │ ├── autocorr_FIX.c
│ │ ├── burg_modified_FIX.c
│ │ ├── corrMatrix_FIX.c
│ │ ├── encode_frame_FIX.c
│ │ ├── find_LPC_FIX.c
│ │ ├── find_LTP_FIX.c
│ │ ├── find_pitch_lags_FIX.c
│ │ ├── find_pred_coefs_FIX.c
│ │ ├── k2a_FIX.c
│ │ ├── k2a_Q16_FIX.c
│ │ ├── LTP_analysis_filter_FIX.c
│ │ ├── LTP_scale_ctrl_FIX.c
│ │ ├── main_FIX.h
│ │ ├── noise_shape_analysis_FIX.c
│ │ ├── pitch_analysis_core_FIX.c
│ │ ├── process_gains_FIX.c
│ │ ├── regularize_correlations_FIX.c
│ │ ├── residual_energy16_FIX.c
│ │ ├── residual_energy_FIX.c
│ │ ├── schur64_FIX.c
│ │ ├── schur_FIX.c
│ │ ├── structs_FIX.h
│ │ ├── vector_ops_FIX.c
│ │ └── warped_autocorrelation_FIX.c
│ ├── gain_quant.c
│ ├── HP_variable_cutoff.c
│ ├── init_decoder.c
│ ├── init_encoder.c
│ ├── Inlines.h
│ ├── inner_prod_aligned.c
│ ├── interpolate.c
│ ├── lin2log.c
│ ├── log2lin.c
│ ├── LPC_analysis_filter.c
│ ├── LPC_fit.c
│ ├── LPC_inv_pred_gain.c
│ ├── LP_variable_cutoff.c
│ ├── MacroCount.h
│ ├── MacroDebug.h
│ ├── macros.h
│ ├── main.h
│ ├── NLSF2A.c
│ ├── NLSF_decode.c
│ ├── NLSF_del_dec_quant.c
│ ├── NLSF_encode.c
│ ├── NLSF_stabilize.c
│ ├── NLSF_unpack.c
│ ├── NLSF_VQ.c
│ ├── NLSF_VQ_weights_laroia.c
│ ├── NSQ.c
│ ├── NSQ_del_dec.c
│ ├── NSQ.h
│ ├── pitch_est_defines.h
│ ├── pitch_est_tables.c
│ ├── PLC.c
│ ├── PLC.h
│ ├── process_NLSFs.c
│ ├── quant_LTP_gains.c
│ ├── resampler.c
│ ├── resampler_down2_3.c
│ ├── resampler_down2.c
│ ├── resampler_private_AR2.c
│ ├── resampler_private_down_FIR.c
│ ├── resampler_private.h
│ ├── resampler_private_IIR_FIR.c
│ ├── resampler_private_up2_HQ.c
│ ├── resampler_rom.c
│ ├── resampler_rom.h
│ ├── resampler_structs.h
│ ├── shell_coder.c
│ ├── sigm_Q15.c
│ ├── SigProc_FIX.h
│ ├── sort.c
│ ├── stereo_decode_pred.c
│ ├── stereo_encode_pred.c
│ ├── stereo_find_predictor.c
│ ├── stereo_LR_to_MS.c
│ ├── stereo_MS_to_LR.c
│ ├── stereo_quant_pred.c
│ ├── structs.h
│ ├── sum_sqr_shift.c
│ ├── table_LSF_cos.c
│ ├── tables_gain.c
│ ├── tables.h
│ ├── tables_LTP.c
│ ├── tables_NLSF_CB_NB_MB.c
│ ├── tables_NLSF_CB_WB.c
│ ├── tables_other.c
│ ├── tables_pitch_lag.c
│ ├── tables_pulses_per_block.c
│ ├── tuning_parameters.h
│ ├── typedef.h
│ ├── VAD.c
│ └── VQ_WMat_EC.c
└── src
├── analysis.c
├── analysis.h
├── mapping_matrix.h
├── mlp.c
├── mlp_data.c
├── mlp.h
├── opus.c
├── opus_decoder.c
├── opus_encoder.c
├── opus_multistream.c
├── opus_multistream_decoder.c
├── opus_multistream_encoder.c
├── opus_private.h
├── repacketizer.c
└── tansig_table.h
8 directories, 213 files
Thanks and Regards,
Laksh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-02-11 10:57 PM
Hi Laksh,
I successfully integrated the Opus library into my project.
Thanks & Regards
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-07-10 04:35 PM
Hello friend,
Can you share the project that you integrated Opus codec?
I am trying to integrate with STM32H730, but I have many compilation errors. It looks about Language standard, cause when I change from C11 to C90 the compilation errors about Opus disapperar, but errors about other libraries that I use in my project are generated. So I don't know what is the way to go.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-07-10 04:36 PM
Hi friend,
Do you have a new version (corrected version) of the Opus code package to provide to us?
- « Previous
-
- 1
- 2
- Next »