To keep it visual, a scene (tscn/scn) with a sampleplayer can be added as autoload, then:
#if the sampleplayer is root on autoloaded scene (check remote inspector tree)
has_node check first may be good.
Or better, add it to a group too, then on the buttons:
get_tree().call_group(0, "global_sample_group", "play","mysample")
This will work even if the global is not loaded (like for tests) so you wont have to check
has_node all the time.
There are many other ways to work with groups.