Appendix J: Capturing Packed Samples - XMOS VocalFusion XVF3510 User Manual

Table of Contents

Advertisement

APPENDIX J: CAPTURING PACKED SAMPLES

To assist with system integration, the XVF3510 provides the ability to pack multiple 16kHz channels
into a 48kHz output. The following section describes the usage of packed signals.
All packed functions provide a snapshot of a 16kHz signals over a 48kHz output . If the output stream
is not 48kHz, it will not work because the 3x bandwidth is needed for packing the 16kHz signals. They
all also require that no volume scaling be applied on the host otherwise it will break the marker
sequence resulting in the captured audio being unable to be unpacked. There are two packing
mechanisms however for typical usage where a full capture of the pipeline is needed, PACKED_ALL
is recommended.
CAPTURING PACKED_ALL SIGNALS
PACKED_ALL packs 3 channels into a single channel (mic, ref, pipeline out) so requires two output
channels to capture all 6 signals of interest. When using -UA it uses the bit resolution of the USB output
interface (even if you output to I2S on the -UA device) or assumes 32b it you are using -INT where the
output interface is always I2S. The sequence is as follows:
}
top bitres-1 bits of mic sample with LSbit marker '0'
}
top bitres-1 bits of ref sample with LSbit marker '1'
}
top bitres-1 bits of pipeline oit sample with LSbit marker '1'
The unpacker_packed_all.pyscript looks for 0, 0, 1 for the LS bit to check for a packed_all
sequence, else it will report an error. This packing will work with 16b, 24b and 32b USB bit width. It is
not bit-perfect (it loses 1b for the marker). It can work on a Mac if you use a 16b or 24b output resolution
on -UA device. Since microphones signal levels are quite low from the output of the decimators, it is
recommended to use at least 24b resolution to keep the quantisation noise floor down with respect to
signal.
EXAMPLE: CAPTURING ALL PIPELINE INPUT AND OUTPUT SIGNALS OVER A 48KHZ USB
INTERFACE
The goal here is to capture the pipeline input and output to provide visibility on what signals are actually
entering the pipeline and what processed output was generated. This can be useful when checking
the microphone and reference signals are correctly routed, as well as checking signal delay issues
causing poor AEC performance.
First, set the USB output interface resolution to 24b. This is important because mic signals in a quiet
room (35dBA) may be quantised away in a 16b audio capture. Also, 24b audio has been found to
work on most hosts.
Second, configure the audio crossbar to output PACKED_ALL on USB output channels 0 and 1.
This can be done by setting the parameters in the data partition. To do this, navigate to the data-
partition directory of the Release package. Note, it recommended to make a copy of the default
.json config file for future reference.
To
create
the
input/set_packed_all_on_usb_out.txt Add the following contents to this file.
vfctrl_usb SET_IO_MAP 0 16
vfctrl_usb SET_IO_MAP 1 16
Note that the IO map source 16 is set for both USB output channels. Source 16 automatically resolves
the channel indices so this will result in a stereo output containing a packed capture of all six discrete
channels of interest.
XM-014232-PC
"packed
output
to
USB"
commands
in
file
84

Advertisement

Table of Contents
loading

This manual is also suitable for:

Vocalfusion xvf3510-intVocalfusion xvf3510-ua

Table of Contents