VAIMP fue creado a partir de un proyecto más grande, llamado VAI. Y de ahí su nombre: VAI-Music Player.
VAI se trataba de un asistente virtual controlado por voz, que en principio tenía funciones básicas como buscar cosas en internet, brindar información acerca del tiempo, abrir programas, etc. Luego se le incorporó un reproductor de música integrado que, además de tener las funciones básicas de un reproductor, también podía ser controlado por voz y hacer cosas como poner una canción determinada, cambiar entre listas de reproducción con sólo decirlo, etc. El problema era que VAI en general no estaba tan bien optimizado como se hubiera querido. Así fue como, debido a la utilidad de su reproductor de música, se decidió crear su propia versión independiente con una gran optimización de por medio con el objetivo de que se pueda utilizar al mismo tiempo que aplicaciones o juegos "pesados" sin que afecte al rendimiento de los mismos.
Hablando de la parte técnica, VAIMP es una aplicación de Windows Presentation Fundation (WPF) escrita en C# y construida con .NET Framework 4.5. Además, hace uso de las siguientes librerías:
- CSCore: es una librería de audio gratis completamente escrita en C#. Aunque todavía sea un proyecto bastante joven, ofrece una gran cantidad de funciones como: reproducción y captura de audio, codificación o decodificación de una gran variedad de códecs, efectos y mucho más!
- DiscordRPC: es una implementación en C# de la librería DiscordRPC, originalmente escrita en C++. Esta librería evita tener que usar la original y, en su lugar, brinda una manera administrada de usar el RichPresence de Discord en el entorno de .NET.
- Html Agility Pack: es un analizador de HTML escrito en C# para leer/escribir DOM y soporta XPATH o XSLT planos.
- Newtonsoft JSON: es un popular framework de JSON de alto rendimiento para .NET.
- Ookii.Dialogs: es una librería de clases para aplicaciones de .NET que provee bastantes ventanas de diálogo comunes. Incluye clases para ventanas de diálogo de tareas, credenciales, progreso, entradas y archivos comunes.
- PortableSettingsProvider: brinda una forma de guardar las configuraciones de las aplicaciones de WPF y WinForms en una ruta personalizada.
- SFML.Net: es el binding oficial de SFML para la familia de lenguajes .NET (C#, VB.Net, C++/CLI, etc.). Está escrita sobre el binding de C, CSFML, para asegurar una compatibilidad máxima entre plataformas.
- TagLib#: es una librería de .NET para la lectura y escritura de metadatos en archivos de medios, incluyendo formatos de video, audio e imagen.