Présentation du CZP-1
Le CZP-1 est une synthèse virtuelle de la célèbre Casio CZ‑101, implémentée entièrement dans le navigateur. L’interface propose un panneau Library contenant les sections Banks et Programs. Le dispositif s’allume via le bouton Power et nécessite que le mode silencieux du navigateur soit désactivé, condition explicitée dans le guide du 24 septembre 2026.
Chargement des banques depuis JSON
Les données de patch proviennent d’un fichier JSON fourni par l’utilisateur – dans le cas présent, le fichier « Boards of Casio » téléchargé depuis le lien Google Drive partagé par oliveoil22. En sélectionnant un emplacement vide dans le menu déroulant Banks puis le bouton « Load bank from JSON file », le moteur du CZP‑1 remplace le programme interne par les 64 patchs contenus dans le fichier. Chaque patch correspond à un message SysEx « syx » du CZ‑101, décodé par le script JavaScript du synthétiseur et stocké sous forme d’objets JSON. Cette conversion permet d’utiliser le même jeu de sons sans recourir à un format binaire propriétaire.
Partage d'URL et persistance dans le navigateur
Le CZP‑1 propose également un bouton « Share » dans la sous‑section Programs. L’action génère une URL où les données du programme sont encodées en base64 directement dans le paramètre de requête. Aucun serveur ne conserve ces informations ; le décodage s’effectue côté client à l’ouverture de l’URL. Cette approche garantit la portabilité entre appareils et navigateurs, tant que le mode navigation privée n’est pas activé. Les banques chargées sont enregistrées dans le localStorage du navigateur, ce qui assure la disponibilité entre les sessions et la synchronisation entre onglets : chaque onglet lit le même espace de stockage et peut afficher des banques différentes grâce à l’indexation interne.
Limites et différences sonores
Le principal écart entre les sons originaux de la vidéo et ceux reproduits par le CZP‑1 réside dans l’absence d’effets de post‑traitement (reverb, chorus) que oliveoil22 avait appliqués à ses patches. Le moteur audio du CZP‑1 ne possède pas de chaîne d’effets dédiée, ce qui explique les variations de timbre notées par l’auteur. De plus, le système dépend de la compatibilité du navigateur avec le Web MIDI : les utilisateurs peuvent connecter un clavier externe, mais la latence varie selon le driver du système d’exploitation. Enfin, le stockage en local ne persiste pas si l’utilisateur efface le cache ou utilise le mode incognito, ce qui supprime les banques précédemment chargées.