1
resposta

duvido sobre idElementoAudio

function tocaSom (idElementoAudio) { document.querySelector(idElementoAudio).play(); }

const listaDeTeclas = document.querySelectorAll('.tecla');

// para for (let contador = 0; contador < listaDeTeclas.length; contador++) {

const tecla = listaDeTeclas[contador];
const instrumento = tecla.classList[1];
const idAudio = `#som_${instrumento}`//template string

tecla.onclick = function () {
    tocaSom(idAudio);    
}

tecla.onkeydown = function () {
    tecla.classList.add('ativa');
}

}

''function tocaSom (idElementoAudio) {
document.querySelector(idElementoAudio).play();''

neste codigo unica coisa que realmente nao entendi foi esse idElementoAudio como ela se encaixa 
1 resposta

esse id ai pelo que eu entendi e para vc ter acesso as teclas, pois ele é uma variável e esta guardando informações especificas para vc conseguir acessar mais de uma tecla ao mesmo tempo.

por exemplo:

const instrumento = tecla.classList[1];

aqui vc esta guardando a informação da telca.classList[1] em uma variável instrumento talvez seja o pom entao instumento ficatia com o valor de pom dentro dela

const idAudio = `#som_${instrumento}`//template string

e aqui vc esta vc esta colocando dentro da variável a template string que esta usando a variável anterior instrumento ou seja teoricamente seu resultado fica assim #som_pom ou outro nome dependendo da telca que apertar, a medida que seguir o curso essa informação faz mais sentido.

qual quer duvida no meu comentario pode prguntar.