[zxspectrum] Re: tape ultra speed

  • From: Luca Bisti <lucbisti@xxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Sun, 30 Jul 2006 19:21:28 +0200


Secondo me e` un limite della capacita` di riproduzione della scheda audio, perche` aumentando la velocita` di riproduzione vanno perse informazioni (il file diventa piu` piccolo). Dovrei trovare il modo di riprodurre il file originale a 44*6 = 265KHz di campionamento invece di 44, in modo da non perdere campionamenti ma bensi` proporli in uscita a velocita` sestupla.

Teorema di Nyquist: se F e' la frequenza di campionamento, la massima frequenza rappresentabile e' F/2. Occhio che lo spettro di un'onda quadra di una certa frequenza occupa in realta' una larghezza frequenziale infinita, il cui massimo e' alla frequenza dell'onda ma con picchi di intensita' decrescente posizionati su multipli interi di tale frequenza. Almeno 3-4 di questi picchi non sono trascurabili dal punto di vista energetico.
In altre parole, se prendi un file WAV a 44100Hz fatto cosi': 0-255-0-255... a picchi alternati consecutivi, in uscita ottieni *idealmente* una sinusoide (non un'onda quadra) a 22100 Hz, sempre che il DAC e lo stadio d'uscita della tua scheda sonora siano all'altezza.
Le schede audio moderne sono capaci di frequenze di campionamento di 96KHz e 192KHz, ma il fatto che tu riesca effettivamente a sputare samples a quella frequenza dipende dal sistema operativo. Windows XP monopolizza completamente la scheda audio, impedendo alle applicazioni di cambiare la frequenza di campionamento dell'hardware. Anche usando DirectSound non e' detto che cio' avvenga, mentre usando l'API ASIO dovremmo stare tranquilli. Nella documentazione ufficiale DirectSound c'e' scritto che Windows reimposta dinamicamente la samplerate dell'hardware a seconda delle caratteristiche degli stream audio generati dalle applicazioni, ma non c'e' da farci troppo affidamento. Su questo comportamento influisce anche il settaggio della qualita' audio nel pannello di controllo di Windows ("qualita' conversione di frequenza" o un nome simile).


Luca


Other related posts: