Frequenza di un suono

Qui si parla del + e del -. Se per colpa della matematica ti hanno bandito dalla birreria, qui puoi sfogarti.
Avatar utente
edriv
Messaggi: 1638
Iscritto il: 16 feb 2006, 19:47
Località: Gradisca d'Isonzo
Contatta:

Frequenza di un suono

Messaggio da edriv »

Qualche dubbio su come viene visto matematicamente il suono.

Parto da una domanda semplice, poi magari ne aggiungo altre.
A quanto ne so, un suono (con "suono" non intendo un suono costante, tipo un fischio, ma anche un'intera canzone, come Dragostea Din Tei) si trasmette come una variazione di pressione nell'aria che si espande. Fin qui è giusto?

A questo punto chiedo: come funziona un microfono?
Cioè supponiamo di avere un microfono attaccato al registratore di suoni di windows (w linux) che mi registra tutto su un file WAV. Che numeri segna sto dannato microfono? Segna la pressione dell'aria misurata in un certo istante (e gli istanti saranno a cadenza regolare), in una opportuna unità di misura? Si può sapere più dettagliatamente che unità di misura è, in particolare:
- i valori memorizzati sono interi? con o senza segno?
- a cosa corrisponde, dal punto di vista fisico, il valore 0?
Avatar utente
julio14
Messaggi: 1208
Iscritto il: 11 dic 2006, 18:52
Località: Berlino

Messaggio da julio14 »

Credo dipenda dal software in questione... le differenze riguardanti le domande che fai, credo abbiano un'importanza più pratica che teorica. Provo comunque ad azzardare una risposta.
Prima di tutto bisogna specificare che il suono è un'onda, in cui (a grande linee) la frequenza è correlata all'altezza e l'ampiezza al volume. Ora, un computer lavora sempre e solo con valori interi, che poi a seconda dell'uso possono codificare anche altri numeri, ma alla base abbiamo semplicemente numeri interi binari, quindi suppongo che la sequenza di dati registrati dal microfono sia formata da interi. Anzi, ad essere pignoli neanche interi, ma una sequenza di impulsi che noi interpretiamo come 0 e 1, quindi non ha molto senso chiedersi se sono interi o meno, ha senso interpretarli nel modo più comodo, cioè interi.
A questo punto si può codificare l'onda in vari modi. Quello più semplice mi pare, detto k il numero associato all'ampiezza dell'onda massima registrabile dal microfono, impostare k come il numero registrato a pressione normale, i valori registrabili andranno quindi da 0 a 2k. Quindi 0 dovrebbe essere il valore minimo che assume un'onda di ampiezza maggiore o uguale a quella massima registrabile dal microfono.
È però anche possibile che il programma codifichi anche i numeri negativi, a quel punto bisogna semplicemente traslare la codifica di prima, mettendo 0 come pressione a silenzio e valori da -k a +k. In ogni caso, servono cifre sufficienti a codificare 2k+1 numeri, per questo dicevo che a livello teorico non cambia molto. È solo una questione di codifica.
Avatar utente
Agi_90
Messaggi: 331
Iscritto il: 21 mar 2007, 22:35
Località: Catania
Contatta:

Re: Frequenza di un suono

Messaggio da Agi_90 »

edriv ha scritto:Qualche dubbio su come viene visto matematicamente il suono.

Parto da una domanda semplice, poi magari ne aggiungo altre.
A quanto ne so, un suono (con "suono" non intendo un suono costante, tipo un fischio, ma anche un'intera canzone, come Dragostea Din Tei) si trasmette come una variazione di pressione nell'aria che si espande. Fin qui è giusto?

A questo punto chiedo: come funziona un microfono?
Cioè supponiamo di avere un microfono attaccato al registratore di suoni di windows (w linux) che mi registra tutto su un file WAV. Che numeri segna sto dannato microfono? Segna la pressione dell'aria misurata in un certo istante (e gli istanti saranno a cadenza regolare), in una opportuna unità di misura? Si può sapere più dettagliatamente che unità di misura è, in particolare:
- i valori memorizzati sono interi? con o senza segno?
- a cosa corrisponde, dal punto di vista fisico, il valore 0?
Di microfoni ne esistono un po' di tipi che funzionano in modo (penso) diverso; di sicuro ce ne sono due tipi: a condensatore e dinamico, la sostanza è che convertono il suono in una corrente alternata; questa corrente alternata riproduce l'andamento ondulatorio del suono. Il pc digitalizza quest'onda registrando il valore istantaneo di quest'onda ogni tot; la frequenza di campionamento è proprio questo, nel CD di solito è 44.1 KHz mentre nei master è 192 KHz se non sbaglio. Il valore dell'altezza dell'onda è registrato come un numero con virgola mobile che ha precisione 8, 16, 32 bit,...; con segno. Sull'unità di misura non so dirti, credo che riguardi più la corrente che il suono di per sé.

EDIT: ops non m'ero accorto della risposta di julio :oops:
[url]http://www.agiblog.it/[/url]
Io abolirei e bannerei a vita tutti quelli che postano cose del tipo "ciao io ho fatto questo problema e ho risolto così, non sono strafigo?"
Avatar utente
julio14
Messaggi: 1208
Iscritto il: 11 dic 2006, 18:52
Località: Berlino

Messaggio da julio14 »

uh agi mi fai fare abbastanza figure di m... io quello che ho detto l'ho più o meno tutto supposto(=inventato) :D
Avatar utente
edriv
Messaggi: 1638
Iscritto il: 16 feb 2006, 19:47
Località: Gradisca d'Isonzo
Contatta:

Messaggio da edriv »

No beh... comunque non mi sono spiegato bene :)

Julio mi dice che il suono (che io, come ho detto prima, intendo come un'intera canzone tipo Dragostea Din Tei) è un'onda. A questo punto chiedo: cos'è (matematicamente) un'onda?

Se qualcuno mi risponde "una funzione continua periodica da R in R" dico già che non sono d'accordo: la canzone Dragostea Din Tei non è periodica, infatti la parte iniziale è completamente diversa da quella finale.

Inoltre, un'altra proprietà caratteristica delle onde (io in testa alla parola "onda" associo l'onda del mare, e la funzione seno), oltre ad essere periodica, sembra essere che alterna momenti di cresta a momenti di ventre. Domanda: questa proprietà è una caratteristica essenziale del suono? Ovvero, ha senso chiedersi che rumore fa la funzione |sin x| ?
Julio scrive:
le differenze riguardanti le domande che fai, credo abbiano un'importanza più pratica che teorica
Finchè si tratta solo di questioni tipo unità di misura (ovvero, moltiplicare per un fattore), come memorizzare dei valori float o interi in binario o stronzate del genere, sono d'accordo.
Ma queste differenze hanno una "piccola" importanza solo finchè si è d'accordo su un'idea di fondo: come convertire una sequenza di sbalzi di pressione in una sequenza di numeri (o di impulsi elettrici, se si preferisce)
La risposta più ovvia sarebbe: registrare (campionare) i valori della pressione (ad esempio, in N/m), e poi riscalarli come si vuole.
spiglerg
Messaggi: 95
Iscritto il: 01 giu 2008, 21:05
Località: Roma
Contatta:

Messaggio da spiglerg »

edriv ha scritto:No beh... comunque non mi sono spiegato bene :)

Julio mi dice che il suono (che io, come ho detto prima, intendo come un'intera canzone tipo Dragostea Din Tei) è un'onda. A questo punto chiedo: cos'è (matematicamente) un'onda?

Se qualcuno mi risponde "una funzione continua periodica da R in R" dico già che non sono d'accordo: la canzone Dragostea Din Tei non è periodica, infatti la parte iniziale è completamente diversa da quella finale.
A parte il tipo di microfono ed il formato in cui viene memorizzato, il suono (digitalizzato) e' una sequenza di ampiezze che caratterizzano l'energia dell'onda ogni tot istanti. La sequenza puo' essere considerata sia come successione di intensita' che come successione di offset, indicanti la variazione di intensita'.
Ora, qualsiasi suono e' esprimibile come somma di onde sinusoidali di ampiezza/fase differenti, e dunque e' periodico (di periodo il mcm dei vari periodi). Rimando a wikipedia per trasformata di Fourier e teorema di Shannon : http://en.wikipedia.org/wiki/Nyquist%E2 ... ng_theorem http://en.wikipedia.org/wiki/Fourier_transform
Avatar utente
edriv
Messaggi: 1638
Iscritto il: 16 feb 2006, 19:47
Località: Gradisca d'Isonzo
Contatta:

Messaggio da edriv »

spiglerg ha scritto: A parte il tipo di microfono ed il formato in cui viene memorizzato, il suono (digitalizzato) e' una sequenza di ampiezze che caratterizzano l'energia dell'onda ogni tot istanti. La sequenza puo' essere considerata sia come successione di intensita' che come successione di offset, indicanti la variazione di intensita'.
Se rileggi bene la mia domanda, capisci che io ho chiesto cosa si intende, durante il campionamento, come "energia". Ho supposto che fosse la pressione dell'aria, misurato proporzionalmente ai classici N/m. È giusto o no?
Ora, qualsiasi suono e' esprimibile come somma di onde sinusoidali di ampiezza/fase differenti, e dunque e' periodico (di periodo il mcm dei vari periodi). Rimando a wikipedia per trasformata di Fourier e teorema di Shannon : http://en.wikipedia.org/wiki/Nyquist%E2 ... ng_theorem http://en.wikipedia.org/wiki/Fourier_transform
Qua ho l'impressione che stai tirando fuori robona a sproposito...
In particolare:
Ora, qualsiasi suono e' esprimibile come somma di onde sinusoidali di ampiezza/fase differenti
Questo vale per tutte le funzioni periodiche. Quindi stai cercando di dire che le funzioni periodiche sono periodiche. Bene.
dunque e' periodico (di periodo il mcm dei vari periodi)
Qual è il mcm di 1 e pi greco?
Qual è il mcm di infiniti valori? (lo sviluppo in serie di Fourier in genere ha infinite componenti...)

Inoltre forse nella risposta non hai considerato questo:
Se qualcuno mi risponde "una funzione continua periodica da R in R" dico già che non sono d'accordo: la canzone Dragostea Din Tei non è periodica, infatti la parte iniziale è completamente diversa da quella finale.
Cioè... non ho ben capito a cosa volevi arrivare con la tua risposta
:wink:
Avatar utente
Desh
Messaggi: 212
Iscritto il: 29 ott 2007, 21:58

Messaggio da Desh »

Dovrebbe essere circa così.

Ci sono diversi tipi di microfono, che tendenzialmente in un modo o nell'altro trasformano la pressione su una membrana in un segnale elettrico. In uscita da un sistema (microfono+amplificatore) hai una tensione del tipo $ V(t)=V_0+u(P(t)) $, dove u(P(t)) è una funzione della pressione dell'aria all'istante t, con $ u(Patm)=0 $. A questo punto hai un segnale analogico, in cui il livello $ V_0 $ rappresenta la tensione di offset, cioè la tensione in uscita "a riposo".

a questo punto c'è il discorso della digitalizzazione a cui accennavano prima, concettualmente la funzione V(t) viene trasformata in una successione di valori, prendendo dei punti della funzione ad intervalli regolari. Come hai già notato è abbastanza facile visualizzare la cosa quando V(t) è periodica, mentre per suoni più complicati no.
ha senso chiedersi che rumore fa la funzione |sin x|?
Più o meno. Il processo di prima funziona anche al contrario, cioè possiamo generare un segnale elettrico del tipo $ V(t)=V_0+A*sin(\omega t) $ e darlo in pasto ad un altoparlante, che lo trasforma nella corrispondente onda di pressione, e noi sentiamo il suono "puro" di frequenza $ \omega $. (Tutto questo trascurando i mille discorsi sulla risposta in frequenza dell'altoparlante, i filtri formati dalle capacità parassite e via di seguito).
[url=http://www.eigenlab.tk/]eigenLab[/url]
spiglerg
Messaggi: 95
Iscritto il: 01 giu 2008, 21:05
Località: Roma
Contatta:

Messaggio da spiglerg »

Scusa, mi sono espresso male. :P
Non so precisamente con che unita' di misura debbano essere intesi i campionamenti, ma non credo che un semplice microfono sia sufficientemente accurato per fornire la pressione effettiva dell'aria (o quantomeno lo si dovrebbe calibrare molto bene). L'``energia`` dovrebbe essere una qualche misura proporzionale (al massimo entro certi limiti) a questa pressione.

Per la ``robona a sproposito`` non sono d'accordo: quei link trattano l'effettiva codifica dei segnali in modo digitale (al di la' del semplice mezzo di memorizzazione/compressione del segnale). In genere, la sequenza di campioni tende ad assumere la forma dell'onda, e se il campionamento e' sufficientemente dettagliato e' possibile ricostruire il segnale effettivo senza alcuna perdita (considerando la frequenza massima che si vuole registrare).

Non mi sono espresso bene, ma in genere intendevo che essendo ogni suono (quindi anche la canzone) composto da onde sinusoidali (periodiche), e' anch'esso periodico.
Per gli infiniti valori io, da informatico, mi riferivo in particolare alla trasformata discreta. :P
Avatar utente
edriv
Messaggi: 1638
Iscritto il: 16 feb 2006, 19:47
Località: Gradisca d'Isonzo
Contatta:

Messaggio da edriv »

Desh ha scritto:Dovrebbe essere circa così.

Ci sono diversi tipi di microfono, che tendenzialmente in un modo o nell'altro trasformano la pressione su una membrana in un segnale elettrico. In uscita da un sistema (microfono+amplificatore) hai una tensione del tipo $ V(t)=V_0+u(P(t)) $, dove u(P(t)) è una funzione della pressione dell'aria all'istante t, con $ u(Patm)=0 $. A questo punto hai un segnale analogico, in cui il livello $ V_0 $ rappresenta la tensione di offset, cioè la tensione in uscita "a riposo".

a questo punto c'è il discorso della digitalizzazione a cui accennavano prima, concettualmente la funzione V(t) viene trasformata in una successione di valori, prendendo dei punti della funzione ad intervalli regolari. Come hai già notato è abbastanza facile visualizzare la cosa quando V(t) è periodica, mentre per suoni più complicati no.
ha senso chiedersi che rumore fa la funzione |sin x|?
Più o meno. Il processo di prima funziona anche al contrario, cioè possiamo generare un segnale elettrico del tipo $ V(t)=V_0+A*sin(\omega t) $ e darlo in pasto ad un altoparlante, che lo trasforma nella corrispondente onda di pressione, e noi sentiamo il suono "puro" di frequenza $ \omega $. (Tutto questo trascurando i mille discorsi sulla risposta in frequenza dell'altoparlante, i filtri formati dalle capacità parassite e via di seguito).
Oh grazie!
Ora, la tua funzione u(x) è praticamente una funzione lineare (o comunque affine), no?

Inoltre, secondo quello che hai detto (ovvero che (trascurando $ ~ V_0 $) il segnale 0 corrisponde alla pressione atmosferica), quando ho chiesto se |sin x| corrisponde a qualche suono, la risposta a logica dovrebbe essere "no".
Infatti il nostro microfono dovrebbe praticamente comprimere tutta l'aria circostante, che è una cosa assai poco pausibile :D

Per spiglergiacomo: continuo ad avere dei seri dubbi sul fatto che una canzone possa essere un segnale periodico. Proprio non mi torna... cioè, vorrebbe dire che ad esempio dopo 5 secondi la canzone è uguale prima... che la canzone è un loop... non sarebbe un po' noioso?
spiglerg
Messaggi: 95
Iscritto il: 01 giu 2008, 21:05
Località: Roma
Contatta:

Messaggio da spiglerg »

Matematicamente, il segnale dovrebbe essere periodico. Il non-sembrare periodica potrebbe dipendere dal modo in cui la produci. Gli altoparlanti funzionano esattamente come i microfoni, solo che fanno vibrare delle parti al passaggio di elettricita'. Ora, prova a mandargli un certo numero di campioni che rappresentano la funzione sin(x), ma solo da 0 a Pi. La funzione dell'onda sonora e' periodica, ma tu la tronchi prima di finire un periodo.
Tibor Gallai
Messaggi: 1776
Iscritto il: 17 nov 2007, 19:12

Messaggio da Tibor Gallai »

edriv ha scritto:Domanda: questa proprietà è una caratteristica essenziale del suono? Ovvero, ha senso chiedersi che rumore fa la funzione |sin x| ?
Uh, purtroppo ho trovato solo ora questo simpaticissimo thread, e me ne rammarico.
Non so a che punto sia il dibattito (trooooppo lungo!!), comunque la domanda qui sopra è molto carina, e la risposta credo sia illuminante per la comprensione di come i suoni vengono percepiti dall'orecchio.
Insomma, che a*sin(kx), qualora a e k siano tali da rendere l'onda udibile, è un fischio, spero non ci siano dubbi. Si tratta di un'onda armonica, e come timbro è molto molto simile a quelle che emettiamo fischiando con la bocca.
Ora, poiché tutto quello che percepisce il nostro orecchio è la VARIAZIONE IN MODULO di pressione dell'aria, l'onda |sin(x)| ha precisamente lo stesso suono di sin(x), lo stesso di sin(x)+c, lo stesso di |sin(x)+c|, lo stesso di -sin(x), etc.
Tutto ciò è molto divertente, secondo me.

Se ci sono altri dubbi e me li riassumete in poche righe, cerco di rispondere anche a quelli.
[quote="Pigkappa"]Penso che faresti un favore al mondo se aprissi un bel topic di bestemmie da qualche parte in modo che ti bannino subito.[/quote]
Avatar utente
julio14
Messaggi: 1208
Iscritto il: 11 dic 2006, 18:52
Località: Berlino

Messaggio da julio14 »

edriv ha scritto:Per spiglergiacomo: continuo ad avere dei seri dubbi sul fatto che una canzone possa essere un segnale periodico. Proprio non mi torna... cioè, vorrebbe dire che ad esempio dopo 5 secondi la canzone è uguale prima... che la canzone è un loop... non sarebbe un po' noioso?
Mai entrato in una discoteca?

Ciò che è periodico è il "suono puro", il fischio di cui parla TG, il diapason, o chiamalo come vuoi. Una canzone è una complessissima combinazione di "suoni puri", di durata in genere troppo breve perché tu te ne accorga. Oltre all'impercettibile durata di questi suoni puri, il periodo che li forma è ancora più breve, quindi è normale che non te ne accorgi (a meno che tu non sia superman o un supereroe affine). Per fare un esempio, un po' di tempo fa avevo sentito dire che è teoricamente possibile riprodurre un'orchestra usando una quantità (presumo piuttosto grossa) di diapason.
Avatar utente
Agi_90
Messaggi: 331
Iscritto il: 21 mar 2007, 22:35
Località: Catania
Contatta:

Messaggio da Agi_90 »

julio14 ha scritto: Mai entrato in una discoteca?

Ciò che è periodico è il "suono puro", il fischio di cui parla TG, il diapason, o chiamalo come vuoi. Una canzone è una complessissima combinazione di "suoni puri", di durata in genere troppo breve perché tu te ne accorga. Oltre all'impercettibile durata di questi suoni puri, il periodo che li forma è ancora più breve, quindi è normale che non te ne accorgi (a meno che tu non sia superman o un supereroe affine). Per fare un esempio, un po' di tempo fa avevo sentito dire che è teoricamente possibile riprodurre un'orchestra usando una quantità (presumo piuttosto grossa) di diapason.
Non vorrei contraddirti, ma il suono non è una combinazione di suoni puri. In realtà una corda, un fiato, un qualsiasi strumento che produce suoni ha un suo "timbro"(che consiste nella forma dell'onda); mi spiego la periodicità dell'onda consiste nel fatto che, per esempio se faccio suonare un la 440Hz, quell'onda è periodica (diciamo, idealmente lo è) ma non è affatto una sinusoide; se poi è una corda ha anche le armoniche superiori (non so cosa succede con i fiati o cose simili, suono la chitarra io:D) quando cambi nota cambia il periodo ma la forma(il timbro) entro certi range dovrebbe essere sempre lo stesso. La musica in se non è periodica perché è la somma algebrica di tante onde quanti sono gli strumenti, o delle note che suonano (pensa agli accordi), inoltre se gli strumenti sono tra loro "scordati" vi è il fastidiosissimo effetto dei battimenti dovuto proprio alla periodicità del suono. spero di non aver sparato castronerie. :D

Edit: che poi sia possibile riprodurre un suono a partire da diapason ci credo pure, ma per ogni strumento ce ne vorrebbero un bel bel bel po' :o
[url]http://www.agiblog.it/[/url]
Io abolirei e bannerei a vita tutti quelli che postano cose del tipo "ciao io ho fatto questo problema e ho risolto così, non sono strafigo?"
Tibor Gallai
Messaggi: 1776
Iscritto il: 17 nov 2007, 19:12

Messaggio da Tibor Gallai »

Cerco di chiarire anche i dubbi sulla periodicità.

Le premesse matematiche for dummies sono all'incirca queste: se una funzione definita su un intervallo [a,b] ha certe buone proprietà di integrabilità, allora la si può esprimere quasi ovunque come serie di "onde armoniche" sinusoidali, i cui periodi sono sottomultipli di b-a. Ogni armonica fissata ha quindi 2 "gradi di libertà": l'ampiezza e la fase. Determinare precisamente quali fossero queste condizioni di integrabilità fu una delle sfide del 19° e 20° secolo, e fu l'ostacolo principale che incontrò l'ingegner Fourier, all'atto di promuovere la sua intuizione, giacché i matematici francesi (che se la tiravano allora più che mai) continuavano a rifiutare i suoi lavori per l'approccio scarsamente formale che li caratterizzava.

Allora, supponiamo di voler inventare l'algoritmo di compressione mp3. Abbiamo registrato una canzone, che per il nostro computer è un vettore di interi, o equivalentemente una funzione da {0,...,t} a {0,...,65535}, per esempio. Allora noi consideriamo una funzione reale su [0,t] che passa esattamente per questi punti, la sviluppiamo in serie di Fourier, e ci troviamo con delle armoniche di periodi t/n. Poiché la granularità della rappresentazione "discreta" determina un limite sulla frequenza delle armoniche codificabili (vedi Shannon), tutti gli n>t/2 andranno trascurati, lasciandoci con un numero finito di armoniche significative. Tra queste, butteremo via quelle di ampiezza troppo bassa, quelle non udibili, ed altre ancora. Scriviamo in un file i valori di ampiezza e fase delle armoniche rimaste, e voilà: abbiamo compresso l'onda di partenza con la tecnica degli mp3. Come probabilmente è chiaro dalla spiegazione, questa codifica non rappresenta fedelmente l'onda originaria, ma è una sua approssimazione: ovvero, la compressione è lossy.

Da dove salta fuori la storia della periodicità? E' solo un artificio matematico. La teoria dell'analisi e sintesi di Fourier non cambia se parliamo di funzioni su [0,t], o di funzioni di periodo t definite su tutto R. Tant'è vero che le armoniche che generiamo hanno tutte periodo della forma t/n, e dunque la somma della loro serie su tutto R avrà coerentemente periodo t. Ovvero, possiamo far finta che la nostra canzone si ripeta in loop all'infinito (tutta la canzone! Non solo 5 secondi!!), se questo ci fa tornare meglio le cose a livello di conti e giustificazioni matematiche. Tutto qua.

Per agi_90: io credo invece che sia come dice coso, perché far suonare insieme tanti diapason è equivalente a ciò che fa il tuo computer quando riproduce un mp3: somma tantissime onde armoniche (nell'ordine delle migliaia!) ed ottiene una canzone complessa.
[quote="Pigkappa"]Penso che faresti un favore al mondo se aprissi un bel topic di bestemmie da qualche parte in modo che ti bannino subito.[/quote]
Rispondi