======================================================================================== Notes from DL1YCF (Start) ======================================================================================== The material put into piHPDSR is meant as a minimal model for the ease of the user, it is generally recommended to use "installed" versions of RNNoise compiled with CPU-specific optimisations etc. The RNNoise code within pihpsdr comes from https://github.com/xiph/rnnoise.git A new "Makefile" has been provided that just compiles the files needed with standard optimisation levels. This means, that only the file rnnoise/Makefile within the pihpsdr directory differ from those in https://github.com/xiph/rnnoise.git. The RNNnoise model is not contained in the above repository but downloaded during installation of rnnoise. The model is originally contained in the files rnnoise/src/rnnoise_data.c (originally, 80 MByte) rnnoise/src/rnnoise_data.h (1 KByte) The file rnnoise_data.c (80 MByte) is not only larger that the recommended maximum file size in github (50 MByte), its compilation runs out of memory on RaspPis with only 1 GByte of main memory. Therefore it has been split into six parts. This means, rnnoise_data.c has been changed (it is now only 16 KByte long) and most of its contents have been moved to the following six header files: rnnoise/src/rnnoise_data_1.h (16 MByte) rnnoise/src/rnnoise_data_2.h (13 MByte) rnnoise/src/rnnoise_data_3.h (12 MByte) rnnoise/src/rnnoise_data_4.h (14 MByte) rnnoise/src/rnnoise_data_5.h (11 MByte) rnnoise/src/rnnoise_data_6.h ( 9 MByte) The following six *.c files, each of this is < 100 Bytes long, each include one of these header files and can be compiled separately: rnnoise/src/rnnoise_data_1.c rnnoise/src/rnnoise_data_2.c rnnoise/src/rnnoise_data_3.c rnnoise/src/rnnoise_data_4.c rnnoise/src/rnnoise_data_5.c rnnoise/src/rnnoise_data_6.c These changes now make it possible to compile pihpsdr with rnnnoise on a RaspPi or a RaspPi ComputeModul with only 1 GByte of main memory. Consequences: Upgrading the model (that is, adapting a new file rnnoise/src/rnnoise_data.c) is somewhat involved. Upgrading rnnoise itself (*.h and *.c files in rnnoise/src other than rnnoise_data.c and rnnoise_data.h) is straightforward. ======================================================================================== Notes from DL1YCF (End) ========================================================================================