It uses sudo, rtcwake and pulseaudio.
Add the following line to the /etc/sudoers file; replace "username" with your username:
username ALL=(ALL:ALL) NOPASSWD:/usr/sbin/rtcwake
This is simply a script to be run as user. If you want it in your $PATH, copy it to ~/.locl/bin/
. This is optional.
vlc-alarm-clock -a <path_to_audio_file> -m <month> -d <day> -t <hh:mm>
where hh:mm
is 24-hour format; year is simply always the current year.