Benvenuto, Visitatore. Per favore, effettua il login o registrati.

  Hai perso la tua email di attivazione?

Main Home Help Ricerca Login Registrati

+  Virtual Sound - FORUM
|-+  Computer (& Computerless) Music
| |-+  Questioni Tecniche
| | |-+  Sampling Rate
« precedente successivo »
Pagine: [1] 2 Stampa
Autore Topic: Sampling Rate  (Letto 2764 volte)
Galileo
Full Member
***
Posts: 151


Guarda Profilo
« il: Marzo 07, 2010, 14:59:38 »

Domandina semplice:

dovendo registrare, sintetizzare o quant'altro suoni che successivamente verrano elaborati attraverso varie tecniche non so ad esempio manipolazioni spettrali, distorsioni, filtri insomma in genere manipolazioni fatte comunque attraverso l'uso di software sia come max/msp o anche plug in e sapendo che il risultato finale verrà poi composto montato e masterizzato infine su un cd la cui frerquenza massima di campionamento è se non sbaglio 44100, ha senso avere una sorgente sonora reistrata a frequenze di campionamento maggiori tipo 192000?

ovvero avendo un suono originario più definito in teoria le varie manipolazioni dovrebbero essere più accurate, poi però il tutto verrà comunque riportato a 44100, quindi molte informazioni o dati andranno persi...

1)Ha senso quindi? o mi conviene lavorare direttammente a 44100?
2)Quanto questa scelta dipende dal materiale sonoro su cui si lavora? ( ad esempio se lavoro con suoni la cui frequenza è molto alta..o presentano componenti rilevanti con frequenze vicine ai 22000(vedi Nyqist))?

Galileo
Loggato
Galileo
Full Member
***
Posts: 151


Guarda Profilo
« Risposta #1 il: Marzo 07, 2010, 15:11:44 »

ehm.. se a tutto ciò aggiungiamo anche la profondità in bit, il dithering e l'aliasing  immagino che la domandina non sia poi cosi semplice.......:-) 
Loggato
Maurizio Giri
Amministratore
Hero Member
*****
Posts: 760


Guarda Profilo WWW
« Risposta #2 il: Marzo 08, 2010, 00:45:34 »

Ha assolutamente senso lavorare alla più alta frequenza possibile e, ancora più importante secondo me, alla maggiore profondità in bit.
I suoni digtali sono numeri, e ogni volta che fai un'operazione su questi numeri (filtri, distorsioni etc.) hai inevitabilemente degli errori di arrotondamento. Ad ogni successiva operazione gli errori di arrotondamento si accumulano.
Maggiore è la profondità in bit e minore è questo errore: quindi se fai tutte le operazioni con la massima profondità in bit, e solo alla fine converti a 16 bit, ottieni un risultato migliore.
Anche un'alta frequenza di campionamento è importante, ad esempio, per evitare che qualche operazione generi foldover (superamento della frequenza di Nyquist).
Il prezzo da pagare è una maggiore occupazione della memoria e un maggiore uso della CPU.
Tieni comunque presente che moltissimi programmi audio (incluso maxmsp) fanno tutte le operazioni a 24 bit in virgola mobile, quando non a 32 o a 64

m
Loggato

Galileo
Full Member
***
Posts: 151


Guarda Profilo
« Risposta #3 il: Marzo 08, 2010, 00:57:38 »

Grazie mille, chiarissimo, come sempre.
Loggato
brunozamborlin
Hero Member
*****
Posts: 894



Guarda Profilo
« Risposta #4 il: Aprile 02, 2010, 20:46:55 »

Tieni comunque presente che moltissimi programmi audio (incluso maxmsp) fanno tutte le operazioni a 24 bit in virgola mobile, quando non a 32 o a 64

Max fa tutto a 32bit
Loggato

Maurizio Giri
Amministratore
Hero Member
*****
Posts: 760


Guarda Profilo WWW
« Risposta #5 il: Aprile 02, 2010, 21:58:55 »

Max fa tutto a 32bit

Oops, hai ragione. Avevo in mente i bit di precisione, che in MSP (correggimi se sbaglio, non sono un matematico! Sorriso) dovrebbero essere 24.
I 32 bit in virgola mobile, per quello che ne so, vengono infatti codificati come 1 bit di segno, 8 dit di esponente, e 23 di mantissa, il che da(rebbe) appunto 24 bit di precisione.

m
Loggato

brunozamborlin
Hero Member
*****
Posts: 894



Guarda Profilo
« Risposta #6 il: Aprile 02, 2010, 22:16:58 »

Si esatto  Sorriso

A dire il vero in MSP esiste anche il double-precision ma è un formato supportato solo da pochissimi external (tipo gli "hi-res" di joshua clayton)

un buon esempio dell'importanza di questa differenza viene dalla doc dell'oggetto sfplay~, alla voce "number-of-output-channels":


Like all MSP audio signals, this playback position is a 32-bit single precision floating-point signal. If greater precision is desired, specifying a final argument of 2 creates a second outlet which outputs a second 32-bit single precision floating-point signal containing the single precision roundoff error. Together these signals provide near double precision floating-point accuracy. (Note: after several minutes a single precision floating-point value is no longer sample accurate) Using the two signals together with objects such as the unsupported Max/ MSP high resolution signal processing objects like hr.+~ , one may perform sample-accurate calculations based on file position
Loggato

Mirco Buonomo
Newbie
*
Posts: 19



Guarda Profilo
« Risposta #7 il: Maggio 07, 2010, 22:31:51 »

Allora andiamo con ordine,
La profondità in bit è l'aspetto più importante perché ti dà le informazioni riguardo la dinamica del suono.
La frequenza di campionamento invece, Maurizio permettimi di dissentire, puoi lasciarla tranquillamente a 44100 o usare suoi multipli (88200).
Usare i 48-96-192 è inutile e sbagliato.
Per un motivo molto semplice: queste frequenze di campionamento sono state introdotte per lavorare con il video e non a caso sono multipli dei famosi 24 frame cinematografici.
Matematicamente passare da 88200 a 44100 è semplice no? alla fine i punti che sono stati presi precedentemente durante il campionamento vengono divisi per 2, tutt'altro succede quando si passa da 48 o 96 o 192 a 44, in questo caso il suono viene diviso per un numero con 9 decimali e quindi totalmente rimappato.
Questo fa si che si crea un deterioramento del programma audio dovuto appunto alla conversione (provare per credere).
I programmi professionali (veri) come Sadie, Nuendo o Sonar lavorano a 64 bit di risoluzione interna ed esportano a 32 bit floating point invece Occhiolino
mirco
Loggato

Il limite siamo noi, non le macchine
Maurizio Giri
Amministratore
Hero Member
*****
Posts: 760


Guarda Profilo WWW
« Risposta #8 il: Maggio 08, 2010, 11:03:19 »

Ciao Mirco, ben arrivato.

Il problema di cui parli, cioè della divisione frazionaria per passare ad esempio da 96 KHz a 44.1 si supera abbastanza semplicemente con due operazioni con numeri interi

96 * 147 = 14112
14112 / 320 = 44.1

cosa significa questo?
Che prima si fa un upsampling da 96 KHz a 14112 KHz, aggiungendo 146 campioni di valore 0 tra i campioni successivi del segnale originale.
Questa operazione mantiene lo spettro originale, ma ahimé aggiunge una serie di repliche di tale spettro al di sopra della frequenza di nyquist di partenza (48 KHz): queste repliche vanno filtrate con un opportuno filtro passabasso.
Il filtro non solo deve eliminare le frequenze generate dall'aliasing, ma prevenire che il successivo downsampling generi foldover per tutte le frequenze che si trovano al di sopra della frequenza di nyquist del segnale che vogliamo ottenere. La frequenza di taglio del filtro si dovrà quindi trovare al di sotto della frequenza di nyquist di arrivo (22.05 KHz).

Dopo di che si procede al downsampling prendendo un campione ogni 320, e si ottiene il segnale alla frequenza di 44.1 KHz.

La qualità della conversione dipende quindi dalla qualità del filtro passa-basso che viene applicato dopo l'upsampling e, qui ti do ragione, nella maggior parte dei casi questo genera pesanti distorsioni e un degrado generale del segnale.
Programmi diversi hanno diversi algoritmi di conversione e danno risultati di diversa qualità.
Un programma open-source come Audacity, ad esempio, fa un'ottima conversione, di gran lunga superiore a quella fatta da Nuendo che, da questo punto di vista, è veramente terribile (almeno stando alle misurazioni riportate in questo sito).

Probabilmente dal punto di vista di un fonico, è meglio evitare problemi e, se deve fare un CD, usare solo frequenze di campionamento 44.1 e 88.2 (tieni presente però che nel secondo caso i problemi relativi all'eliminazione del foldover rimangono).
Dal punto di vista di un "manipolatore di suoni" o compositore elettroacustico che dir si voglia, però, penso che sia meglio avere il maggiore spazio possibile in frequenza, in modo da ottenere suoni puliti (senza foldover) anche con le modulazioni più strane, e poi convertire con un programma efficace.

m
Loggato

Mirco Buonomo
Newbie
*
Posts: 19



Guarda Profilo
« Risposta #9 il: Maggio 08, 2010, 23:54:15 »

Ciao Maurizio grazie per il benvenuto Sorriso,
da un punto di vista strettamente tecnico dopo la corretta spiegazione del sistema di conversione che hai dato non credo che si debba aggiungere altro ma voglio fare una breve osservazione:
innanzitutto non credo che il nel voler preservare la qualità del suono ci sia tanta differenza tra il punto di vista di un fonico e quello di un compositore, poi ritengo che a comandare sia il supporto finale e finora non ho mai avuto problemi di foldover che giustificassero il lavorare a frequenze di campionamento (soprattutto in fase di registrazione di strumenti acustici) superiori ai 44.1, se poi, come tu giustamente hai detto all'inizio, con frequenze di campionamento più alte abbiamo un maggior carico di RAM e CPU mi chiedo se "il gioco vale la candela".

ps: si Nuendo non è un granchè per le conversioni, meglio Wavelab, che poi l'ultima versione adesso è anche per mac, finalmente per gli utenti mac un programma professionale per il mastering.
Loggato

Il limite siamo noi, non le macchine
Maurizio Giri
Amministratore
Hero Member
*****
Posts: 760


Guarda Profilo WWW
« Risposta #10 il: Maggio 09, 2010, 23:04:59 »

Occhio che io parlo di compositore elettroacustico non di compositore di quartetti d'archi, cioè parlo di un compositore che crea e manipola i suoni (anche il primo messaggio di questo thread parla di manipolazioni spettrali, distorsioni, filtri etc.)
In questi casi il foldover è sempre dietro l'angolo.
Ti faccio un esempio: ho realizzato un suono FM volutamente molto "crudo", e ho registrato un frammento a 192K, poi ho convertito quel frammento da 192 a 44.1K e infine ho registrato lo stesso frammento direttamente a 44.1K. Nei link qui sotto trovi i tre file, credo che chiariscano abbastanza bene il punto (soprattutto l'ultimo!).

registrazione a 192K: http://www.giri.it/samplerateconversion/FM_192K.aif
conversione da 192 a 44.1: http://www.giri.it/samplerateconversion/FM_192K_to_44K.aif
registrazione a 44.1K: http://www.giri.it/samplerateconversion/FM_44K.aif

m

Loggato

Mirco Buonomo
Newbie
*
Posts: 19



Guarda Profilo
« Risposta #11 il: Maggio 10, 2010, 01:34:28 »

aaahhhh terribile l'ultimo!
si si hai chiarito benissimi, cmq anch'io intendevo un compositore di elettroacustica (oltre a fare il fonico è quello che provo, studiando, ad essere anch'io Occhiolino ), ma toglimi una coriosità Maurizio questi suoni che mi hai fatto sentire con cosa li hai generati?
Cioè mi hai detto che li hai registrati, non direttamente generati alle date frequenze, quindi con qualcosa tipo un synth esterno o un altro computer o da un programma all'altro, giusto?
No ti chiedo questo perché registrando synth hardware o ricampionando synth all' interno dello stesso programma alla stessa frequenza di campionamento no mi era mai successa una cosa del genere.
Oddio solo una volta si ma era voluto, con uno sweep fino a 30.000 Grossa risata
Loggato

Il limite siamo noi, non le macchine
Maurizio Giri
Amministratore
Hero Member
*****
Posts: 760


Guarda Profilo WWW
« Risposta #12 il: Maggio 10, 2010, 13:28:07 »

Scusa, intendevo "registrato su disco". E' un semplice synth virtuale con sintesi FM che ho volutamente impostato per generare, con le note acute, frequenze superiori a quelle gestibili con 44100 Hz di campionamento.
Semplificando, il discorso è questo: se hai un oscillatore con una una forma d'onda a 16 armoniche (neanche tante), significa che la 16ma armonica ha una frequenza che è 16 volte la fondamentale.
A 44100 Hz, se chiamo DO3 il do centrale, ho un problema di foldover già al FA5, dal momento che FA5 = 1396.9 Hz e la 16ma armonica è a 22350 Hz. Certo potrei usare meno armoniche visto che un suono a 22350 Hz non è udibile, ma questo snaturerebbe il suono per le note più gravi, dove invece la 16ma armonica si sente.
Inoltre applicare un filtro passabasso, poniamo, a 22000 Hz non servirebbe a niente, perché il foldover è generato direttamente dall'oscillatore e quindi il filtro verrebbe applicato "troppo tardi".
Viceversa con una frequenza di campionamento di 192000 Hz, con lo stesso oscillatore puoi arrivare fino a FA#7 (una nota sovracuta), poi con un buon algoritmo di conversione puoi riportare tutto a 44100 senza (troppi) danni.

m
Loggato

Mirco Buonomo
Newbie
*
Posts: 19



Guarda Profilo
« Risposta #13 il: Maggio 10, 2010, 14:25:03 »

si chiarissimo, in questo caso diventa necessario avere più banda possibile.
Pensando alla registrazione ho erroneamente inteso riferirsi a strumenti acustici/elettrici sempre esterni al computer, quindi nell'accezione più classica del termine.
Bella chiacchierata comunque, mi ha fatto venire un po' nolstalgia delle lezioni al conservatorio, alla prox e grazie
mirco

ps: hai letto il post sulla spazializzazione? lo sò che ve ne occuperete con Alessandro nel prossimo testo ma che dici anticipiamo un po' i tempi, giusto qualche dritta, dai dai dai  Grossa risata
Loggato

Il limite siamo noi, non le macchine
Maurizio Giri
Amministratore
Hero Member
*****
Posts: 760


Guarda Profilo WWW
« Risposta #14 il: Maggio 11, 2010, 16:22:07 »

purtroppo il capitolo sulla spazializzazione è ancora in versione alfa. Comunque il link sugli oggetti ambisonic che ti ha dato Batti mi sembra ottimo.

m
Loggato

Pagine: [1] 2 Stampa 
« precedente successivo »
Salta a:  


Login con username, password e lunghezza della sessione

Powered by MySQL Powered by PHP © Copyright 1996 - 2008 - ConTempoNet Edizioni Musicali ® - P.IVA: 05174251008
Tutti i diritti riservati - Tutti i marchi sono registrati -
È vietata la riproduzione, anche parziale, dei testi e delle immagini.
Powered by SMF 1.1.15 | SMF © 2006-2008, Simple Machines
Traduzione Italiana a cura di SMItalia
XHTML 1.0 Valido! CSS Valido!