Makezine Arduino theremin code

This was a cool project to make, but the author didn't not have the code attached to his post, so I made my own code for his design
Webpage- http://makezine.com/projects/arduino-theremin/

#include <NewPing.h>
#include <Servo.h> 
#define PING_PIN  2  // Arduino pin tied to both trigger and echo pins on the ultrasonic sensor.
#define MAX_DISTANCE 300 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.
NewPing sonar(PING_PIN, PING_PIN, MAX_DISTANCE); // NewPing setup of pin and maximum distance.

Servo myservo;  // create servo object to control a servo 

int val;    // variable to read the value from the analog pin 

int prPin = 0; // Pin where the photo resistor is connected to

int prReading; // The analog reading from the photoresistor

int buzzerPin = 3; // Connect Buzzer to Pin 4

long buzzerFreq; // The frequency to buzz the buzzer

// You can experiment with these values:
long BUZZ_FREQ_MAX = 2500; // Maximum frequency for the buzzer

long PR_MAX = 1023; // Maximum value for the photoresistor



void setup() {
  Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results.
 pinMode(buzzerPin, OUTPUT); // set a pin for buzzer output
  myservo.attach(10);  // attaches the servo on pin 10 to the servo object 
} 

void loop() {
     prReading = analogRead(prPin); // Values 0-1023

    buzzerFreq = (prReading * BUZZ_FREQ_MAX) / PR_MAX;

    buzz(buzzerPin, buzzerFreq, 10);
    
  delay(30);                     // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
  unsigned int uS = sonar.ping(); // Send ping, get ping time in microseconds (uS).
  Serial.print("Ping: ");
  Serial.print(uS / US_ROUNDTRIP_CM); // Convert ping time to distance and print result (0 = outside set distance range, no ping echo)
  Serial.println("cm");
unsigned int cm = uS / US_ROUNDTRIP_CM;
 
   
   if(cm >= 45) {            // You can change values to suite 
     val= 115;
   }  
   if(cm <= 39) {
     val= 170;
   }  
   if(cm <= 37) {
     val= 170;
   }  
   if(cm <= 33) {
     val= 170;
   }  
   if(cm <= 29) {
     val= 170;
   }  
   if(cm <= 27) {
     val= 170;
   }
  if( cm <= 25) {
    val = 170;
  }  
   if(cm <= 24) {
     val= 165;
   }
   if(cm <= 22) {
     val= 160;
   }  
   if(cm <= 20) {
     val= 155;
   }  
   if(cm <= 18) {
     val= 150;
   }  
   if(cm <= 16) {
     val= 145;
   }
    if(cm <= 14) {
     val= 140;
   }  
   if(cm <= 12) {
     val= 135;
   }  
   if(cm <= 10) {
     val= 130;
   }  
   if(cm <= 8) {
     val= 125;
   }  
   if(cm <= 6) {
     val= 120;
   }  
   if(cm <= 4) {
     val= 115;
   }
   
  myservo.write(val);                  // sets the servo position according to the scaled value 
  delay(50);                         // waits for the servo to get there 
} 

void buzz(int targetPin, long frequency, long length) {

    long delayValue = 1000000/frequency/2;

    long numCycles = frequency * length/ 1000;

    for (long i=0; i < numCycles; i++){

        digitalWrite(targetPin,HIGH);

        delayMicroseconds(delayValue);

        digitalWrite(targetPin,LOW);

        delayMicroseconds(delayValue);

    }}