[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: