# Design and Application of the BiVib Audio-Tactile Piano Sample Library
## 3 Application of the BiVib Library
### Sample Reproduction  
Experiments and applications requiring the use of calibrated data need exact reconstruction of the measured signals at the reproduction side: acoustic pressure for binaural sounds, and acceleration for keyboard vibrations. Obviously the reproduction must take place on a set-up in which neither autonomous sounds nor vibrations are present. For instance, the reproduction of vibrations could take place on a weighted MIDI keyboard (such as those found in digital pianos), while binaural sounds may be rendered through headphones. Figure 4 (left) shows one such setting, in which a commercial digital piano is augmented through the setup schematized as in Figure 4 (right). Note that the bottom of the digital piano has been reinforced by substituting the keybed with a thicker wooden panel, to form what we will call a _haptic_ digital piano from here.  
Knowledge of the recording equipment's nominal specifications enable this reconstruction. Such specifications are summarized in a companion document in the 'Documentation' folder. Two examples are listed below:  
* Vibration accelerations in m/s\({}^{2}\) are calculated from the vibration samples by making use of the nominal sensitivity values of the audio interface and accelerometer: voltage values are reconstructed from the recorded digital signals (represented by values between \(-1\) and \(1\)) by means of the line input sensitivity of the audio interface, whose full scale level (0 dBFS) was set to \(+19\) dBu (reference voltage 0.775 V) for recording. Finally, voltage values are transformed into proportional acceleration values through the sensitivity constant of the accelerometer, equal to \(10.2\) mV/m/s\({}^{2}\) at 25 \({}^{\circ}\)C, with a flat (\(\pm 5\%\)) frequency response in the range 10-15,000 Hz. As an example, the digital value 0.001 is equivalent to: \[20\times\log_{10}(|0.001|)=-60\,\mathrm{dBFS}\] (1) and the corresponding voltage value is calculated based on the 0 dBFS level (\(+19\) dBu, with 0.775 V reference) as follows: \[0.775\times 10^{((19-60)/20)}=6.9\,\mathrm{mV}.\] (2) Finally, the matching acceleration value is obtained as: \[\frac{6.9\,\mathrm{mV}}{10.2\,\mathrm{mV}/\mathrm{m}/\mathrm{s}^{2}}=0.677\, \mathrm{m}/\mathrm{s}^{2}.\] (3)
* Analogously, acoustic pressure values in Pa are obtained from the binaural samples by making use of the relevant nominal specification values of the microphone input chain (microphone, pre-amplifier if present, audio interface input). For the upright piano: microphone sensitivity of 20 mV/Pa, audio interface input gain set to \(+26\) dB for an equivalent 0 dBFS level of \(-16\) dBu (reference 0.775 V). For the grand piano: microphone sensitivity 50 mV/Pa, preamplifier gain \(-0.35\) dB, and audio interface input gain set to \(+40\) dB for an equivalent 0 dBFS level of \(-19\) dBu (reference 0.775 V). As an example, the digital value 0.001, equivalent to \(-60\) dBFS as seen in Equation (1), translates to the following voltages: \[0.775\times 10^{((-16-60)/20)}=0.12\,\mathrm{mV}\] (4)  
Figure 4: **Left**: haptic digital piano customization for use with binaural and vibratory (BiVib). **Right**: schematic of a possible reproduction setting. Pictures from [20].  
for the upright piano, or \[0.775\times 10^{((-19-60+0.35)/20)}=0.09\,\mathrm{mV}\] (5) for the grand piano. The equivalent acoustic pressures are then computed as: \[\frac{0.12\,\mathrm{mV}}{20\,\mathrm{mV}/\mathrm{Pa}}=0.006\,\mathrm{Pa}\,\,( \mathrm{about}\,49.5\,\mathrm{dB}\,\mathrm{SPL})\] (6) for the upright piano, or \[\frac{0.09\,\mathrm{mV}}{50\,\mathrm{mV}/\mathrm{Pa}}=0.0018\,\mathrm{Pa}\,\,( \mathrm{about}\,39\,\mathrm{dB}\,\mathrm{SPL})\] (7) for the grand piano.  
Once the original measurements have been reconstructed, physical quantities are, in principle, ready for presentation of sounds through headphones and vibrations through tactile actuators, holding the issues and limitations that are listed in the next section.