## 3 Materials and Methods
### The Virtually Enhanced Senses System
#### 3.1.3 Geometry-Based Virtual Acoustic Space  
The output mode described in this section is intended to provide information from points 1 and 3-6 of Section 3.1.1, taking advantage of several perceptual and cognitive factors. In opposition to low-level sensory substitution, high-level information (e.g., the size, form, and composition of objects) is encoded in acoustic stimuli. Also, it exploits the natural capabilities of hearing, such as sound source localization and material discrimination. The stimuli are generated in virtual volumes fixed to the user body, e.g., the hand or head, to allow intuitive active perception in a motor-sensory loop schema. In this regard, we start from the premise that simple object geometries could be intuitively assimilated by the user's kinesthetic sense, as could be seen in the Haptic Radar project. Redundancy in these rudimentary extended touch and acoustic sensations is then used to reinforce distance perception beyond arm reach (points 1, 3, 5 and 6 of Section 3.1.1). Furthermore, it pursues the perception of distance in different directions, which is a  
Figure 2: (**a**) Elements of a virtual scenario (**b**) Development of a virtual replica of a real scenario. Up-to-down, the room is recorded with a 3D camera and then is rebuilt with primitives. feature related to vision that is of key importance in the development of a mental representation of the environment [29; 33] (point 6). This output mode is further divided into three sub-modes which can be simultaneously executed: Projected VAS, Aural VAS, and Flashlight. The first sub-mode, Projected VAS (PVAS), is a variation of the VAS project [19]. Instead of a stereo-vision device, PVAS uses data of the virtual scenario. This allows one to model the material of each element, filter which of them trigger acoustic feedback, customize the detection range of virtual sensors, etc. Also, the spawning process of the audio sources differs from the original system. Analogously to VAS, this output mode generates an array of virtual sound sources located over the surfaces in front of the user. Particularly, it makes use of a virtual field of view of configurable range (Figure 3) which originates between the user's eyes. The sound sources are spawned sequentially over the surfaces within the field of view. The primitives which comprise all the elements of the scenario are mapped to an acoustic material. For this output mode, several impact sounds were recorded as split-second mono audio tracks, each one linked to a specific acoustic material. Once a sound source is spawned over an element's surface, it reproduces an audio track corresponding to that primitive's material, and is deleted afterwards. The audio sources are positioned according to an array of MxN elements. Each one of these elements provides a spawn position within the PVAS field of view, \(p_{i,j}\), and an audio track corresponding to the material of the primitives, \(a_{i,j}(t)\) (Figure 4). Figure 4: Projected VAS. (**a**) Spawn positions of virtual audio sources. (**b**) S(t) acoustic output corresponding to (**a**), k = 4, in the first low-resolution image (T\({}_{1}\)). Figure 3: Projected and Aural VAS. When generating the PVAS acoustic output S(t), the array is accessed sequentially each \(T_{S}\). millisecond. The acoustic output prior to Resonance Audio's processing (e.g., HRTF) corresponds to the expression  
\[S(t)=\sum_{n=0}^{\infty}a_{i(n),j(n)}(t-nT_{S})\ n\in\mathbb{N}_{0} \tag{1}\]  
The array is accessed according to a linear congruential generator which verifies the Hull-Dobell theorem. Therefore, each element \(a_{i,j}\) is called once per iteration of \(NxM\) elements, i.e., acoustic image. The equations used are  
\[x_{n+1}=(x_{n}+K)\ mod\ (NM)\ x_{0},\ K\in\mathbb{N}\ :\gcd(K,\ NM)=1 \tag{2}\]  
\[i(n)=\left(\left|\frac{x_{n}}{N}\right|mod\ M\right)+1\ j(n)=((x_{n})\ mod\ N)+1 \tag{3}\]  
This algorithm is a low pass spatial filter of the acoustic image which provides a resolution-latency tradeoff schema.