How do I calculate the SNR of a noisy signal without having the noise?
If the noise is additive, and your signals are in sync (i.e. same number of samples, and temporal aligned). You need to subtract your original signal from your Noisy signal - which will give you the additive noise. You can then calculate the power of this and compare it to the clean version of your signal to compute the SNR 

In Matlab this should just be:  

Noise = NoisySignal - OriginalSignal; %//Should give a vector or Matrix depending on what stereo or mono.
SNR = snr(OriginalSignal,Noise) %// should give the single SNR reading in dB.



However, in a case where the signals are not in sync, it becomes much harder, and in general, we consider it a mix of different elements that could have caused the distortion (or lose in sync), and usually a combination of SAR (Signal to Artefact Ratio), SIR (Signal to Interference Ratio) and SDR (Signal to Distortion Ratio) are used instead. The SIR is very similar to SNR in this case.