Jouer une melodie sans delay()

Salut à tous !

Noël approche à grands pas et j'ai décidé de faire un sapin en carton sur lequel je vais fixer une vingtaine de led (2 groupements d'une dizaine de led) que je fais clignoter tout ça controlé par deux transistors branchés sur 2 sorties de ma carte Arduino ça ça marche sans soucis. Mais j'aimerais aussi jouer des melodies à l'aide d'un piezo buzzer le principe serait d'avoir plusieurs mélodies dans le code et de pouvoir passer à une autre en appuyant sur un bouton.

J'ai le code pour jouer une mélodie mais le problème c'est qu'il utilise la fonction delay() ce qui "gele" le fonctionnement du microcontroleur donc mes leds ne clignotent plus comme je veux et je ne peux pas changer immediatement la mélodie.

Pour les leds j'utilise la fonction millis() mais je ne vois pas comment l'appliquer pour jouer les mélodies.

Est ce qu'une ame charitable ici aurait déjà réalisé un montage similaire et pourrait me renseigner ? :)

Sur ce je vous souhaite une bonne soirée !

le principe est de faire changer l'état des LEDS entre deux notes dans la boucle qui gère la mélodie.

Pourquoi faire compliqué quand on peut faire simple ..?

J'y avais pas pensé ça marche nickel merci beaucoup :D