Use SD Card while Pin 11 is being used for PWM
The program you link to does not take over pins 3, 9, 10 and 11, it
takes over Timer 1 and Timer 2, which are used to provide PWM capability
on those pins. This means you cannot do analogWrite() on those pins
anymore, but you still can use them for other purposes, including SPI
access to an SD card.

Note, however, this line of code:

int speakerPin = 11; // Can be either 3 or 11, two PWM outputs connected to Timer 2


This of course will conflict the SPI port using pin 11 as MOSI. You can
fix this conflict simply by setting speakerPin to 3 instead of 11.