Loading Makefile +4 −1 Original line number Diff line number Diff line Loading @@ -71,6 +71,9 @@ LDLIBS += -lm # Clang sanitizer compiler options CCCLANG = clang ifeq "$(CLANG)" "0" CC = $(CCCLANG) endif ifeq "$(CLANG)" "1" CC = $(CCCLANG) CFLAGS += -fsanitize=memory Loading Loading @@ -166,7 +169,7 @@ DEPS = $(addprefix $(OBJDIR)/,$(SRCS_LIBCOM:.c=.P) $(SRCS_LIBDEBUG:.c=.P) $(SRCS .PHONY: all clean all: $(CLI_APIENC) $(CLI_APIDEC) $(CLI_APIREND) $(CLI_APIPOSTREND) all: $(CLI_APIENC) $(CLI_APIDEC) $(CLI_APIREND) $(CLI_APIPOSTREND) $(CLI_AMBICONVERT) $(OBJDIR): $(QUIET)mkdir -p $(OBJDIR) Loading apps/ambi_converter.c +2 −2 Original line number Diff line number Diff line Loading @@ -78,8 +78,8 @@ int main( int argc, char *argv[] ) if ( argc != 5 ) { printf( "----------------------------------------------------------------------------------\n" ); printf( "Usage:\n" ); printf( "./ambi_converter input_file output_file input_convention output_convention\n" ); printf( "\n" ); printf( "Usage: ambi_converter input_file output_file input_convention output_convention\n" ); printf( "\n" ); printf( "input_convention and output convention must be an integer number in [0,5]\n" ); printf( "the following conventions are supported:\n" ); Loading readme.txt +42 −19 Original line number Diff line number Diff line Loading @@ -33,12 +33,13 @@ These files represent the 3GPP EVS Codec Extension for Immersive Voice and Audio Services (IVAS) floating-point C simulation. All code is writtten in ISO/IEC C99. The system is implemented as four separate programs: in ISO/IEC C99. The system is implemented as five separate programs: IVAS_cod IVAS Encoder IVAS_dec IVAS Decoder IVAS_rend IVAS External Renderer ISAR_post_rend ISAR Post Renderer ambi_converter Ambisonics format converter For encoding using the coder program, the input is a binary audio file (*.8k, *.16k, *.32k, *.48k) and the output is a binary Loading Loading @@ -246,10 +247,15 @@ EVS mono is default, for IVAS choose one of the following: -stereo, -ism, -sba, The encoder produces TS26.445 Annex.2.6 Mime Storage Format, (not RFC4867 Mime Format). default output bitstream file format is G.192 -pca : activate PCA in SBA format FOA at 256 kbps -obj_edit File : Object editing instructions file or NULL for built-in example -level level : Complexity level, level = (1, 2, 3), will be defined after characterisation. Currently, all values default to level 3 (full functionality). -q : Quiet mode, limit printouts to terminal, default is deactivated -rtpdump <N> : RTPDump output, hf_only=1 by default. The encoder will packetize the bitstream frames into TS26.253 Annex A IVAS RTP Payload Format packets and writes those to the output file. In EVS mono operating mode, TS26.445 Annex A.2.2 EVS RTP Payload Format is used. Optional N represents number of frames per RTP packet -scene_orientation : Scene orientation trajectory file. Only used with rtpdump output. -device_orientation : Device orientation trajectory file. Only used with rtpdump output. The usage of the "IVAS_dec" program is as follows: Loading @@ -275,9 +281,10 @@ Options: -------- -VOIP : VoIP mode: RTP in G192 -VOIP_hf_only=0 : VoIP mode: EVS RTP Payload Format hf_only=0 in rtpdump -VOIP_hf_only=1 : VoIP mode: EVS RTP Payload Format hf_only=1 in rtpdump -VOIP_hf_only=1 : VoIP mode: EVS or IVAS RTP Payload Format hf_only=1 in rtpdump The decoder may read rtpdump files containing TS26.445 Annex A.2.2 EVS RTP Payload Format. The SDP parameter hf_only is required. EVS RTP Payload Format or rtpdump files containing TS26.253 Annex A IVAS RTP Payload Format. The SDP parameter hf_only is required. Reading RFC4867 AMR/AMR-WB RTP payload format is not supported. -Tracefile TF : VoIP mode: Generate trace file named TF. Requires -no_delay_cmp to be enabled so that trace contents remain in sync with audio output. Loading Loading @@ -306,8 +313,10 @@ Options: -exof File : External orientation trajectory File for simulation of external orientations -dpid ID : Directivity pattern ID(s) (space-separated list of up to 4 numbers can be specified) for binaural output configuration -aeid ID : Acoustic environment ID (number >= 0) for BINAURAL_ROOM_REVERB output config. -obj_edit : Enable objects editing -aeid ID | File : Acoustic environment ID (number > 0) or alternatively, it can be a text file where each line contains "ID duration" for BINAURAL_ROOM_REVERB output configuration. -obj_edit File : Object editing instructions file or NULL for built-in example -level level : Complexity level, level = (1, 2, 3), will be defined after characterisation. -om File : Coded metadata File for BINAURAL_SPLIT_PCM OutputConf Currently, all values default to level 3 (full functionality). Loading @@ -323,7 +332,9 @@ Options: -------- -i File : Input audio File (WAV, raw PCM or scene description file) -if Format : Audio Format of input file (e.g. 5_1 or HOA3 or META, use -l for a list) -im Files : Metadata files for ISM (one file per object) or MASA inputs META is related to the Scene description file, see scripts/testv/renderer_config_format_readme.txt -im Files : Metadata files for ISM/MASA/OMASA/OSBA/BINAURAL_SPLIT_PCM (one file per object). For OMASA input, ISM files must be specified first. -o File : Output audio File -of Format : Audio Format of output file Alternatively, it can be a custom loudspeaker layout File Loading @@ -339,12 +350,9 @@ Options: left or l or 90->left, right or r or -90->right, center or c or 0 ->middle -exof File : External orientation trajectory File for simulation of external orientations -dpid ID : Directivity pattern ID(s) (space-separated list of up to 4 numbers can be specified) for binaural output configuration -aeid ID : Acoustic environment ID (number > 0) or a sequence thereof in the format [ID1:duration1,ID2:duration2...] without braces and spaces, with ':' character separating ID from duration and ',' separating ID and duration pairs, where duration is specified in frames for BINAURAL_ROOM_REVERB output configuration. specified) for binaural outputs -aeid ID | File : Acoustic environment ID (number > 0) alternatively, it can be a text file where each line contains "ID duration" for BINAURAL_ROOM_REVERB output. -lp Position : Output LFE position. Comma-delimited triplet of [gain, azimuth, elevation] where gain is linear (like --gain, -g) and azimuth, elevation are in degrees. If specified, overrides the default behavior which attempts to map input to output LFE channel(s) Loading @@ -355,7 +363,8 @@ Options: -g : Input gain (linear, not in dB) to be applied to input audio file -l : List supported audio formats -smd : Metadata Synchronization Delay in ms, Default is 0. Quantized by 5ms subframes. -om File : Coded metadata File for BINAURAL_SPLIT_PCM output format -om File : Coded metadata File (only for BINAURAL_SPLIT_PCM output) -prbfi File : BFI File (only for BINAURAL_SPLIT_PCM output) -level level : Complexity level, level = (1, 2, 3), will be defined after characterisation. Currently, all values default to level 3 (full functionality). -q : Quiet mode, limit printouts to terminal, default is deactivated Loading Loading @@ -403,6 +412,21 @@ omitted, the LFE input is downmixed to all channels with a factor of 1/N. Positi the LFE channel. Maximum number of supported loudskpeakers N is 16. An example custom loudspeaker layout file is available: ls_setup_16ch_8+4+4.txt The usage of the "ambi_converter" program ------------------------------------------ Usage: ambi_converter input_file output_file input_convention output_convention input_convention and output convention must be an integer number in [0,5] the following conventions are supported: 0 : ACN-SN3D 1 : ACN-N3D 2 : FuMa-MaxN 3 : FuMa-FuMa 4 : SID-SN3D 5 : SID-N3D Either the input or the output convention must always be ACN-SN3D! RUNNING THE SELF TEST Loading Loading @@ -659,4 +683,3 @@ If a parameter is not specified, that parameter is not edited. An empty line in not editing any parameter in the item. Example files are available in folder /scripts/object_edit. Loading
Makefile +4 −1 Original line number Diff line number Diff line Loading @@ -71,6 +71,9 @@ LDLIBS += -lm # Clang sanitizer compiler options CCCLANG = clang ifeq "$(CLANG)" "0" CC = $(CCCLANG) endif ifeq "$(CLANG)" "1" CC = $(CCCLANG) CFLAGS += -fsanitize=memory Loading Loading @@ -166,7 +169,7 @@ DEPS = $(addprefix $(OBJDIR)/,$(SRCS_LIBCOM:.c=.P) $(SRCS_LIBDEBUG:.c=.P) $(SRCS .PHONY: all clean all: $(CLI_APIENC) $(CLI_APIDEC) $(CLI_APIREND) $(CLI_APIPOSTREND) all: $(CLI_APIENC) $(CLI_APIDEC) $(CLI_APIREND) $(CLI_APIPOSTREND) $(CLI_AMBICONVERT) $(OBJDIR): $(QUIET)mkdir -p $(OBJDIR) Loading
apps/ambi_converter.c +2 −2 Original line number Diff line number Diff line Loading @@ -78,8 +78,8 @@ int main( int argc, char *argv[] ) if ( argc != 5 ) { printf( "----------------------------------------------------------------------------------\n" ); printf( "Usage:\n" ); printf( "./ambi_converter input_file output_file input_convention output_convention\n" ); printf( "\n" ); printf( "Usage: ambi_converter input_file output_file input_convention output_convention\n" ); printf( "\n" ); printf( "input_convention and output convention must be an integer number in [0,5]\n" ); printf( "the following conventions are supported:\n" ); Loading
readme.txt +42 −19 Original line number Diff line number Diff line Loading @@ -33,12 +33,13 @@ These files represent the 3GPP EVS Codec Extension for Immersive Voice and Audio Services (IVAS) floating-point C simulation. All code is writtten in ISO/IEC C99. The system is implemented as four separate programs: in ISO/IEC C99. The system is implemented as five separate programs: IVAS_cod IVAS Encoder IVAS_dec IVAS Decoder IVAS_rend IVAS External Renderer ISAR_post_rend ISAR Post Renderer ambi_converter Ambisonics format converter For encoding using the coder program, the input is a binary audio file (*.8k, *.16k, *.32k, *.48k) and the output is a binary Loading Loading @@ -246,10 +247,15 @@ EVS mono is default, for IVAS choose one of the following: -stereo, -ism, -sba, The encoder produces TS26.445 Annex.2.6 Mime Storage Format, (not RFC4867 Mime Format). default output bitstream file format is G.192 -pca : activate PCA in SBA format FOA at 256 kbps -obj_edit File : Object editing instructions file or NULL for built-in example -level level : Complexity level, level = (1, 2, 3), will be defined after characterisation. Currently, all values default to level 3 (full functionality). -q : Quiet mode, limit printouts to terminal, default is deactivated -rtpdump <N> : RTPDump output, hf_only=1 by default. The encoder will packetize the bitstream frames into TS26.253 Annex A IVAS RTP Payload Format packets and writes those to the output file. In EVS mono operating mode, TS26.445 Annex A.2.2 EVS RTP Payload Format is used. Optional N represents number of frames per RTP packet -scene_orientation : Scene orientation trajectory file. Only used with rtpdump output. -device_orientation : Device orientation trajectory file. Only used with rtpdump output. The usage of the "IVAS_dec" program is as follows: Loading @@ -275,9 +281,10 @@ Options: -------- -VOIP : VoIP mode: RTP in G192 -VOIP_hf_only=0 : VoIP mode: EVS RTP Payload Format hf_only=0 in rtpdump -VOIP_hf_only=1 : VoIP mode: EVS RTP Payload Format hf_only=1 in rtpdump -VOIP_hf_only=1 : VoIP mode: EVS or IVAS RTP Payload Format hf_only=1 in rtpdump The decoder may read rtpdump files containing TS26.445 Annex A.2.2 EVS RTP Payload Format. The SDP parameter hf_only is required. EVS RTP Payload Format or rtpdump files containing TS26.253 Annex A IVAS RTP Payload Format. The SDP parameter hf_only is required. Reading RFC4867 AMR/AMR-WB RTP payload format is not supported. -Tracefile TF : VoIP mode: Generate trace file named TF. Requires -no_delay_cmp to be enabled so that trace contents remain in sync with audio output. Loading Loading @@ -306,8 +313,10 @@ Options: -exof File : External orientation trajectory File for simulation of external orientations -dpid ID : Directivity pattern ID(s) (space-separated list of up to 4 numbers can be specified) for binaural output configuration -aeid ID : Acoustic environment ID (number >= 0) for BINAURAL_ROOM_REVERB output config. -obj_edit : Enable objects editing -aeid ID | File : Acoustic environment ID (number > 0) or alternatively, it can be a text file where each line contains "ID duration" for BINAURAL_ROOM_REVERB output configuration. -obj_edit File : Object editing instructions file or NULL for built-in example -level level : Complexity level, level = (1, 2, 3), will be defined after characterisation. -om File : Coded metadata File for BINAURAL_SPLIT_PCM OutputConf Currently, all values default to level 3 (full functionality). Loading @@ -323,7 +332,9 @@ Options: -------- -i File : Input audio File (WAV, raw PCM or scene description file) -if Format : Audio Format of input file (e.g. 5_1 or HOA3 or META, use -l for a list) -im Files : Metadata files for ISM (one file per object) or MASA inputs META is related to the Scene description file, see scripts/testv/renderer_config_format_readme.txt -im Files : Metadata files for ISM/MASA/OMASA/OSBA/BINAURAL_SPLIT_PCM (one file per object). For OMASA input, ISM files must be specified first. -o File : Output audio File -of Format : Audio Format of output file Alternatively, it can be a custom loudspeaker layout File Loading @@ -339,12 +350,9 @@ Options: left or l or 90->left, right or r or -90->right, center or c or 0 ->middle -exof File : External orientation trajectory File for simulation of external orientations -dpid ID : Directivity pattern ID(s) (space-separated list of up to 4 numbers can be specified) for binaural output configuration -aeid ID : Acoustic environment ID (number > 0) or a sequence thereof in the format [ID1:duration1,ID2:duration2...] without braces and spaces, with ':' character separating ID from duration and ',' separating ID and duration pairs, where duration is specified in frames for BINAURAL_ROOM_REVERB output configuration. specified) for binaural outputs -aeid ID | File : Acoustic environment ID (number > 0) alternatively, it can be a text file where each line contains "ID duration" for BINAURAL_ROOM_REVERB output. -lp Position : Output LFE position. Comma-delimited triplet of [gain, azimuth, elevation] where gain is linear (like --gain, -g) and azimuth, elevation are in degrees. If specified, overrides the default behavior which attempts to map input to output LFE channel(s) Loading @@ -355,7 +363,8 @@ Options: -g : Input gain (linear, not in dB) to be applied to input audio file -l : List supported audio formats -smd : Metadata Synchronization Delay in ms, Default is 0. Quantized by 5ms subframes. -om File : Coded metadata File for BINAURAL_SPLIT_PCM output format -om File : Coded metadata File (only for BINAURAL_SPLIT_PCM output) -prbfi File : BFI File (only for BINAURAL_SPLIT_PCM output) -level level : Complexity level, level = (1, 2, 3), will be defined after characterisation. Currently, all values default to level 3 (full functionality). -q : Quiet mode, limit printouts to terminal, default is deactivated Loading Loading @@ -403,6 +412,21 @@ omitted, the LFE input is downmixed to all channels with a factor of 1/N. Positi the LFE channel. Maximum number of supported loudskpeakers N is 16. An example custom loudspeaker layout file is available: ls_setup_16ch_8+4+4.txt The usage of the "ambi_converter" program ------------------------------------------ Usage: ambi_converter input_file output_file input_convention output_convention input_convention and output convention must be an integer number in [0,5] the following conventions are supported: 0 : ACN-SN3D 1 : ACN-N3D 2 : FuMa-MaxN 3 : FuMa-FuMa 4 : SID-SN3D 5 : SID-N3D Either the input or the output convention must always be ACN-SN3D! RUNNING THE SELF TEST Loading Loading @@ -659,4 +683,3 @@ If a parameter is not specified, that parameter is not edited. An empty line in not editing any parameter in the item. Example files are available in folder /scripts/object_edit.