The XVF 8 uses the XMOS xcore.ai processor and supports a range of integrated and accessory voice communication applications. This document discusses: •...
UA - Required Components • An XK-VOICE-SQ66 development kit board. • An XMOS XTAG with associated ribbon cables (Provided in the XK-VOICE-SQ66 development kit pack- age). • A setup or development machine (Windows, Mac OS or Linux are supported). This machine must have at least two USB connections.
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. . : XK-VOICE-SQ66 development kit in UA con guration . Open an XTC tools terminal window on the development computer. Verify that the XTAG has been...
INTDEV Required Components • An XK-VOICE-SQ66 development kit board. • An XMOS XTAG with associated ribbon cables (Provided in the XK-VOICE-SQ66 development kit pack- age). • A setup or development machine (Windows, Mac OS or Linux are supported). This must support USB connections and have the ability to write onto SD memory cards.
Raspberry Pi. The rmware is installed using the XMOS XTAG adapter supplied with the XK-VOICE-SQ66 development kit. . Connect an XTAG- debug adapter to the setup computer via USB, and connect it to the XK-VOICE-SQ66 development kit using the supplied ribbon cable.
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide The output from this should be of the following form: Note: If the XTAG- is not properly connected to the development machine, then...
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. . : XVF 8 demo example layout To calibrate the volume of the loudspeaker for optimal performance, a test le such as the...
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. . : Audacity example . . . UA Audio Con guration In the UA con guration, Audacity may be used to visually play and record signals from the device. The sample rate must be set to match the XVF 8 in the Project Rate (Hz) selection in the bottom left.
Page 13
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide If this does not resolve the issues, it is permissible to lower the loudspeaker volume. If loudspeaker volume is adjusted, or if there is any other change in environment, ensure that the AEC has reconverged before pro- ceeding by playing several seconds of far-end audio again.
. Connect the XVF 8 board to the host PC using a USB cable. . If some USB driver has been installed for the XMOS DFU Factory (Interface ) as described in DFU ap- setup, the device must be disabled by using Device Manager: plication a.
Page 15
Manager . Download the third-party installation tool Zadig from https://zadig.akeo.ie/. . Open Zadig and select XMOS Control (Interface ) from the list of devices. If the device is not present, ensure Options -> List All Devices is checked. . Select libusb-win from the list of drivers.
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Connecting to the XVF 8 Device To use the host application, login to the host machine, either directly, via a VNC connection or and to open a terminal command line.
Page 17
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide • The square con guration (-sqr) uses a microphone array with a 66mm distance along each side as shown below. Note: These con gurations are selected by a multiplexer on the XK-VOICE-SQ66 development kit when the device boots.
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide MIC[ .. ] which are used in the rmware and when using . The mapping of the logical indexes and the physical microphones on the XK-VOICE-SQ66 development kit is shown in the table below: Table .
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. . : Azimuth angle in square con guration Using azimuth data For Direction of Arrival indication The auto selection algorithm will switch between beams rapidly in some circumstances. The two focused beams update relatively slowly, but the free running beam is designed to be sensitive so that it can rapidly pick up the speech signal for a new talker entering the soundscape.
Page 20
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Table . : Audio manager mux options Category Sources : Silence : Silence : Raw microphone data - before ampli cation , , , : Speci c microphones accessed by index, no...
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. .6: Output Selection Multiplexers For example, to set the left output to the th raw microphone signal (without gain applied), issue the command This will set the left channel to output the th ( -indexed) microphone signal of the present.
Page 22
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide and to turn it off use Note: The selects a port and subsequent commands only act on that pin.
Tuning the Application The measured performance of the XVF 8 depends very heavily on the electrical and acoustic environment of the end product that it is incorporated into. In order to achieve optimal performance, including the ability to pass product certi cation tests, it is necessary to perform a con guration and tuning process to adapt the rmware to the end product’s form factor and hardware design.
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide • Access to the IEEE 6 - reference signals is useful for representative clear speech signals. Alterna- tive speech signals may be found from the ITU, in particular the les associated with Recommendation...
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide • : This parameter informs the audio pipeline how much external gain has been applied to the AEC reference signal. The value that this parameter should take is coupled to the volume control of the device;...
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. . : Top-level schematic showing the input and output paths of the XVF 8 Fig. . , numbered points correspond to the suggested order of testing.
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide . . . Output Path This test will attempt to verify that a signal injected into the XVF 8 is output faithfully from the XVF 8 and successfully output by the device.
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Note: As the microphone signals are decimated to 6 kHz within the XVF 8 ’s audio manager, the micro- phone signals require upsampling on a 8 kHz bus - ensure that the AUDIO_MGR_OP_UPSAMPLE ags have been reset after previous testing if using a 8 kHz XVF 8 con guration.
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Microphone Gain Similarly, the parameter is provided to control a gain block placed in the input path from the microphones. The same gain is applied to all four microphones. To tune...
Page 30
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. . : A more detailed representation of the reference input path for the XVF 8 , showing both path A where the signal is routed through the XVF 8...
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. . : Screenshot showing example output of Fig. . shows a sample delay between microphones and the reference signal. This system is causal, but only just.
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide stance forces a signi cant change in the AEC. When the AEC reaches convergence (which is expected to take less than seconds), read the AEC coef - cients from the device: This operation generates separate les <...
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide • is the parameter that sets this desired output power. The signal power of the free-running beam is measured and compared to the value of , and is adjusted to attempt to meet it.
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Play a representative voice sample such as as the reference input on a loop for around 6 seconds. Capture the device output; these will be the AEC residuals generated.
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. . : Illustration of the method by which may be determined . . . MGSCALE parameter controls additional noise suppression that is applied during periods of far-end activity.
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide (continued from previous page) Play a representative far-end signal such as on loop as the refer- ence input. Provide a just-noticeable stationary near-end noise signal. Observe the device output, including the spectrogram.
Page 37
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. .8: Top-level diagram of a system where the audio host and control host are the same device Local Device For this route, it is assumed that the host device is also the device that is providing audio to the XVF 8 , through e.g.
Page 38
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. . : Top-level diagram of a system where the audio host and control host are separate devices Remote Device For this route, it is assumed that a rd device is acting as the audio source (here termed the “audio host”).
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide PP_GAMMA_E and PP_GAMMA_ENL The objective of tuning these two parameters is the removal of echoes to pass Teams EQUEST and ECC speci cations. Ensure that this tuning step takes place in an ane- choic or mildly reverberant environment, with an RT6 less than .
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide noise further. Reducing this parameter may introduce or increase distortion in near-end speech; ensure that a balance is struck between speech quality and stationary noise suppression. Note next the presence of non-stationary noise.
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide usually speci ed as a ratio between this value and the averaged value obtained with the near-end signal at a range of low levels.
Page 42
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide • • • • Warning: All the parameters in the les above must be set; failure to do this can lead to unexpected behaviour of the device, such as uninitialized start-up values.
Page 43
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide # Exactly GPIO_NUM_INPUT_PINS pins should be defined here lists the settings of all the GPO pins and ports. The XVF 8 device has one 8-bit port designated for GPO.
Page 44
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide (continued from previous page) # GPO_LED_RED_PIN # GPO_LED_GREEN_PIN Note: When the default parameters are changed, it is necessary to rebuild the application and reload onto the XVF 8 as described in the following section.
XMOS tools XTC Tools . .x : This is the XMOS toolchain which allows users to compile, link, deploy and debug applica- tions on all XMOS processors. The XTC Tools can be downloaded from https://www.xmos.ai/software-tools/...
This section describes how to use the second package. Release packages can be obtained from https://www.xmos.ai/ or your XMOS representative. Load ZIP archive onto your development platform and expand the archive into a convenient directory. The contents of the source release package are shown below: The user modi able code is found in the folder.
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Table . : Build-time combinable parameters Parameter Options Abbreviation Notes Device con guration INT-Device -intdev -lr 6 I S LR clock rate Select sampling rate for I S interface;...
Prerequisites To build the XVF 8 application, open a command-line terminal and ensure that the XMOS tools are con g- ured in the environment. This can be checked by typing: which should display the tools version information. If this does not happen please consult the section of https://www.xmos.ai/software-tools/...
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Installing the Executable Image Two methods exist to install on the XVF 8 hardware the executable image created in the previous section, using the tools that are suppled in the XTC Tools suite.
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Using a SPI Boot File The SPI boot process is documented in the XVF 8 datasheet. An example python script is provided in...
6 Some Acoustic Design Guidelines This chapter presents a brief guide to a number of introductory acoustic considerations that designers should take into account when integrating the XVF 8 into their end product. It should be stressed that a more ideal acoustic design will result in fewer compromises needing to be made whilst con guring the XVF 8 .
Page 52
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide The aperture de nes the low frequency limit, based on the ability to measure a phase difference between the microphones. So when the wavelength is much larger than the array aperture, the phase (and signal) at each microphone is nearly identical and its impossible to differentiate between the two signals.
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. 6. : Sample coherence plot between two microphones, where the blue line is real data and the red line is a theoretical coherence between two perfect microphones recording diffuse noise Loudspeaker(s) The loudspeaker, power ampli er and DAC are considered together as the playback path of the product.
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide as far away as feasible. Isolation may take the form of mechanical decoupling from the rest of the enclosure and/or the use of soundproo ng material between loudspeakers and the microphones. Additionally, product enclosures should be designed in such a manner as not to introduce non-linear effects;...
. Connect the XVF 8 board to the host PC using a USB cable. . If some USB driver has been installed for the XMOS Control (Interface ) as described in xvf_host appli- setup, the device must be disabled by using Device Manager: cation a.
Manager . Download the third-party installation tool Zadig from https://zadig.akeo.ie/. . Open Zadig and select XMOS DFU Factory (Interface ) from the list of devices. If the device is not present, ensure Options -> List All Devices is checked. . Select WinUSB from the list of drivers.
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide • M is minor • P is patch is the path to the .xe application to convert. is the path to the binary to generate.
The DFU upload operation allows the user to read the factory and upgrade images of the XVF 8 -UA. This feature is useful for debugging purposes, for example to provide XMOS with the exact rmware used on a device. The command to do that is the following:...
8 APPENDIX – Control Commands There are a number of control commands available for use with the XVF 8 . These are detailed using the option of the Host Application, but may also be found below for reference. Note that all parameters in this appendix will be reset to their default values on a device reset.
Page 60
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Table 8. – continued from previous page Command name Read / Params Param Description Write format AEC_NUM_MICS READ Number of microphone inputs into the AEC...
Page 61
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Table 8. – continued from previous page Command name Read / Params Param Description Write format PP_MIN_NS READ / Gain- oor for stationary noise suppres- WRITE sion.
Page 62
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Table 8. – continued from previous page Command name Read / Params Param Description Write format PP_ATTNS_SLOPE READ / Determines the extra amount of suppres-...
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Device Metadata Commands These commands focus on querying the device’s metadata, e.g. software version, boot status, and build information. Table 8. : Metadata control commands...
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Audio Manager Commands These commands are targeted toward setting and retrieving various options around the audio path into and out of the device, including setting I S loopback modes and debug “packed” IO modes. Includes diagnostic data on idle times for both the audio manager core and the I S core.
Page 65
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Table 8. – continued from previous page Command name Read / Params Param Description Write format AUDIO_MGR_OP_L READ / uint8 <category>, <source>; Sets category and WRITE source for L output channel.
XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide GPIO Commands These commands set up and manipulate various functions of the device’s GPO and GPI services. Table 8. : GPIO control commands...
Page 67
, All Rights Reserved. XMOS Ltd. is the owner or licensee of this design, code, or Information (collectively, the “Information”) and is providing it to you “AS IS” with no warranty of any kind, express or implied and shall have no liability in relation to its use.