Hola @yecto,
You could do it with inhabit
.
mychords = inhabit [("hola", "[0,4,2]" :: Pattern Double),
("hello", "[0,5,7,12]")
]
d1 $ n (mychords "hello hola") # s "superpiano"
You have to use :: Pattern Double
to tell haskell what kind of pattern you're making, but you only have to do that on one of the values, it can work out the rest.