Seguindo, passo a passo, as instruções da aula, o funcionamento estava perfeito quando o código estava assim:
function tocaSom (idElementoAudio) {
    document.querySelector(idElementoAudio).play();
}
const listaDeTeclas = document.querySelectorAll('.tecla');
let contador = 0;
while (contador < listaDeTeclas.length) {
    const tecla = listaDeTeclas[contador]
    const instrumento = tecla.classList[1];
    const idAudio = `#som_${instrumento}`;
    tecla.onclick = function () {
        tocaSom(idAudio);
    };
    contador++;
}Mas, na hora de trocar o laço while pelo laço for, o código parou de funcionar. Os botões não tocam mais som nenhum, nem o console imprime o console.log(idAudio).
for (let contador = 0; contador < listaDeTeclas.lenght; contador++) {
    const tecla = listaDeTeclas[contador];
    const instrumento = tecla.classList[1];
    const idAudio = `#som_${instrumento}`; //template string
    console.log(idAudio)
    tecla.onclick = function () {
        tocaSom(idAudio);
    };
}
Talvez eu só esteja com a vista cansada e deixei passar algum detalhe pequeno mas, a meu ver, depois de todas as correções que tentei fazer, o código ficou idêntico ao da instrutora. :v
 
            