If you sample just above the Nyquist frequency, then it looks as though you get amplitude error.
If you simply perform linear interpolation algorithm between the sampled points then you end up with a signal that has an incorrect amplitude, and incorrect frequency (particularly important to note is that the frequency, of the reconstructed signal is above the Nyquist). The crude way of improving things is to use an anti-aliasing filter on the output of your which will get rid of any high frequency aliases.
If you use a more sophisticated filter, based on the assumption that the reconstructed signal cannot contain frequencies above the Nyquist, then you can more accurately reconstruct the original signal. In particular, you can use the Nyquist Shannon interpolation algorithm - which guarantees the correct reconstruction of the original signal provided that the original signal was sampled at more than 2x the Nyquist frequency.
Most modern audio DACs will do this - they use a digital oversampling filter to perform the Nyquist-Shannon interpolation, which is then converted at a very high sample rate (over 6MHz on high-end DACs).