Altavoz
Altavoz
El Wiimote dispone de un altavoz piezoeléctrico de baja calidad. Se suele usar para añadir pequeños efectos sonoros que deben ser transmitidos directamente desde el host.

El funcionamiento del altavoz no está excesivamente documentado por lo que su uso actualmente no es óptimo ni fiable ni aprovecha al máximo sus capacidades.
Es posible controlar los siguientes parámetros:
- Volumen al que se reproducirá el sonido.
- Codificación del sonido enviado.
- Frecuencia de muestreo.
Admite dos codificaciones: PCM de 8 bits con signo y ADPCM de 4 bits.
A la hora de establecer la codificación y frecuencia de muestreo hay que tener en cuenta que la información se enviará directamente desde el host, con el consiguiente uso de las comunicaciones Bluetooth. Las muestras de sonido deben enviarse al ritmo adecuado para que el Wiimote disponga del siguiente conjunto de datos cuando sea necesario.
La forma más eficiente de usar el altavoz parece ser con codificación PCM de 8 bits a 2kHz de muestreo y enviando los datos en paquetes de 20bytes (1 cada 10 milisegundos).
Codificaciones
Al representar el sonido de forma digital hay que convertir una forma de onda en una secuencia de números que indique su amplitud en distintos instantes temporales, esto se consigue mediante una operación denominada muestreo.

Los valores muestreados deben almacenarse en bits (cuantizado), lo cual introduce cierta inexactitud ya que no todas las magnitudes son traducibles a formato digital. Por ejemplo, si se están usando 4 bits para representar números enteros sin signo y una de las muestras vale 3,1 se le asignará el valor 0011 (3 en decimal). El método que usa este procedimiento para digitalizar señales se denomina PCM (Pulse Code Modulation).
Una mejora sería convertir a bits la diferencia entre dos muestras y no el valor total de cada muestra, a este procedimiento se le denomina DPCM (PCM diferencial) y permite obtener mayor calidad con un mismo número de bits.
Tanto en PCM como en DPCM los valores que se usan para cuantizar son fijos (para 4 bits serían 0, 1, 2, 3...), una segunda mejora pasaría por hacerlos variables. Este procedimiento lo utiliza el ADPCM (PCM adaptativo), en él cada valor almacenado representa el valor de una muestra pero condicionado a los valores anteriores atendiendo a algún algoritmo de adaptación.
Puede encontrarse más información sobre el muestreo de señales, PCM, DPCM y ADPCM en: