Playing random wav files

g'day all, I am working on a project for my daughter, and I must admit I am ignorant on the coding.  The project is :
Play a random classical music wav file when a button is pressed.  There will be 4 buttons, each representing a period in classical music (baroque, classic, romantic, etc..)  I have wired up breadboard and serial Lcd (seeedstudio), speaker, SD shield (seeed), and have everything working as we want.  But....we are stuck on how to code the push of 1 of 4 buttons to access the sd card to randomly play a wav file under the different categories.  I have successfully played sounds out of the SD shield, and like I said all music plays when accessed from the sd card.  To verify:  4 separate buttons representing a category of music, each category to have 10 songs in  separate dir on SD card, push button...randomly plays 1 wav file then stops.  Push same button or another of the 4 and repeats the random playing of a song (plays song...stops)  would someone be kind enough to help steer in the right direction?

SoftwareSerial.h>
#include <SerialLCD.h>
#include <SD.h> 
#define SD_ChipSelectPin 10 
#include <TMRpcm.h> 
#include <SPI.h>

TMRpcm tmrpcm;  // create an object for use in this sketch

unsigned long time = 0;

SerialLCD slcd(7,8);   // assign soft serial pins

const int buttonPin = 1;   // the number of the pushbutton pin
int buttonState = 0;       // variable for reading the pushbutton status

void setup(){
  
  pinMode(buttonPin, INPUT);  // initialize the pushbutton pin as an input:
  //digitalWrite(buttonPin, HIGH); // turn on pull-up resistor

  slcd.begin();
  tmrpcm.speakerPin = 9; // 9 on Uno

  if (!SD.begin(SD_ChipSelectPin)) { // see if the card is present and can be initialized:
    slcd.print("CHECK CARD");
    delay(1000);
    slcd.clear();
    return; // don't do anything more if not
  }
  else{
    slcd.print("CARD OK");
    delay(1000);
    slcd.clear();
    delay(1000);

    tmrpcm.play("call.wav"); //the sound file "music" will play each time the arduino powers up, or is reset

    slcd.print("WELCOME PLAYERS");
    delay(4000);
    slcd.clear();
  }
}

void loop(){

  slcd.setCursor(0,0);
  slcd.print("SELECT PERIOD");
  slcd.setCursor(0,1);
  slcd.print("1, 2, 3, 4");
  slcd.noDisplay();
  delay(600);
  slcd.display();
  delay(600);
  
  buttonState = digitalRead(buttonPin);  // read the state of the pushbutton value:

  // check if the pushbutton is pressed.
  // if it is, the buttonState is HIGH:
  if (buttonState == HIGH) {    
    // turn LED on:    
    //digitalWrite(ledPin, HIGH);  
  }
  else {
    // turn LED off:
    //digitalWrite(ledPin, LOW);
  }
}

I am so sorry I screwed that one up

g'day all, I am working on a project for my daughter, and I must admit I am ignorant on the coding. The project is :
Play a random classical music wav file when a button is pressed. There will be 4 buttons, each representing a period in classical music (baroque, classic, romantic, etc..) I have wired up breadboard and serial Lcd (seeedstudio), speaker, SD shield (seeed), and have everything working as we want. But....we are stuck on how to code the push of 1 of 4 buttons to access the sd card to randomly play a wav file under the different categories. I have successfully played sounds out of the SD shield, and like I said all music plays when accessed from the sd card. To verify: 4 separate buttons representing a category of music, each category to have 10 songs in separate dir on SD card, push button...randomly plays 1 wav file then stops. Push same button or another of the 4 and repeats the random playing of a song (plays song...stops) would someone be kind enough to help steer in the right direction?

#include <SoftwareSerial.h>
#include <SerialLCD.h>
#include <SD.h> 
#define SD_ChipSelectPin 10 
#include <TMRpcm.h> 
#include <SPI.h>

TMRpcm tmrpcm;  // create an object for use in this sketch

unsigned long time = 0;

SerialLCD slcd(7,8);   // assign soft serial pins

const int buttonPin = 1;   // the number of the pushbutton pin
int buttonState = 0;       // variable for reading the pushbutton status

void setup(){
  
  pinMode(buttonPin, INPUT);  // initialize the pushbutton pin as an input:
  //digitalWrite(buttonPin, HIGH); // turn on pull-up resistor

  slcd.begin();
  tmrpcm.speakerPin = 9; // 9 on Uno

  if (!SD.begin(SD_ChipSelectPin)) { // see if the card is present and can be initialized:
    slcd.print("CHECK CARD");
    delay(1000);
    slcd.clear();
    return; // don't do anything more if not
  }
  else{
    slcd.print("CARD OK");
    delay(1000);
    slcd.clear();
    delay(1000);

    tmrpcm.play("call.wav"); //the sound file "music" will play each time the arduino powers up, or is reset

    slcd.print("WELCOME PLAYERS");
    delay(4000);
    slcd.clear();
  }
}

void loop(){

  slcd.setCursor(0,0);
  slcd.print("SELECT PERIOD");
  slcd.setCursor(0,1);
  slcd.print("1, 2, 3, 4");
  slcd.noDisplay();
  delay(600);
  slcd.display();
  delay(600);
  
  buttonState = digitalRead(buttonPin);  // read the state of the pushbutton value:

  // check if the pushbutton is pressed.
  // if it is, the buttonState is HIGH:
  if (buttonState == HIGH) {    
    // turn LED on:    
    //digitalWrite(ledPin, HIGH);  
  }
  else {
    // turn LED off:
    //digitalWrite(ledPin, LOW);
  }
}