Buena duda, hay una respuesta que se puede usar en la 1.8, algo compleja, pero igual te sirve...
Primero tendrías que lograr detectar que un jugador lleve en la mano el arco con ese nombre (Esta es la parte compleja)
Luego, que al detectar cada arco, se active un reloj (uno diferente cada arco), que active un command block con un /testfor @e[type=Arrow]
Y que cada vez que lo detecte emita un sonido (De creeper, Ghast, etc)
Y te sugiero poner un pequeño reloj que mate a la flecha cada cierto tiempo (/kill @e[type=Arrow]) Para que no lagee ni se quede detenido el sistema 
cual es la parte dificil exactamente?
3 comandos, en un reloj de fill, usados en ese orden:
/scoreboard players set @a pistola 0
/scoreboard players set @a pistola 1 {SelectedItem:{id:"minecraft:bow",display:{name:"Pistola"}}}
/execute @a[score_pistola_min=1] ~ ~ ~ /execute @e[type=Arrow,r=0] ~ ~ ~ playsound sonido para pistola
para añadir mas armas:
/scoreboard players set @a escopeta 0
/scoreboard players set @a escopeta 1 {SelectedItem:{id:"minecraft:bow",display:{name:"Escopeta"}}}
/execute @a[score_escopeta_min=1] ~ ~ ~ /execute @e[type=Arrow,r=0] ~ ~ ~ playsound sonido para escopeta
explicacion:
1 - resetea todo el mundo el score de pistola
2- les pone a 1 el score a los que tengan pistola en la mano
3 - hace que si tienes un arco en la mano, hagas que cualquier flecha a un radio de 0 (dentro tuyo) te haya un playsound (para que escuches el sonido)
lo de que el sistema no laguee.. realmente no es necesario, pero si quieres eliminar las flechas no necesarias:
/scoreboard players set @e[tyoe=Arrow] ground 1 {inGround:1b}
/kill @e[score_ground_min=1]
esto mata solo a flechas que esten clavadas o en el suelo o en una pared, es decir, nunca se te borrara una flecha en medio del aire, y en cuanto toquen el suelo (es imposible que toquen ya a nadie) desaparecen