Hi,
when you read data from the sound card you are getting raw unscaled data. meaning you are getting the reading from the ADC in 16 bit format. The range will go from -32768 to 32767, to map this to real voltage will be dificult, that full range should map to around 1Vrms, but it will depend on you sound card. It may be a good idea to normilize your measurements and map the full range that you read to a range from -1 to 1.
Another possible problem is that if you use a poor quelity sound car the THD introduced by the card wqill be quite high and could be comparable to the one that you are measuring. Make sure that you test your card's THD.
To read wav files you have top follow the RIFF format, you can find
here and example on how to do this.
I hope this helps.
Juan Carlos
N.I.