quarta-feira, 26 de junho de 2019

Princípios básicos de síntese digital de sons

Um sinal eléctrico consiste numa função que representa a evolução temporal de grandezas eléctricas tais como a diferença de potencial entre dois pontos ou a intensidade da corrente eléctrica que atravessa um determinado ramo. Sinais eléctricos podem ser usados para representar a evolução de grandezas físicas tais como a temperatura ou a pressão atmosférica de uma sala. Sinais eléctricos que representam a evolução de grandezas físicas são habitualmente obtidos através de sensores ou transdutores. Os transdutores são dispositivos que permitem a conversão de sinais eléctricos em outros formas de energia ou vice-versa. Os microfones são exemplos de transdutores que permitem converter sons em sinais eléctricos. Por seu turno, altofalantes são transdutores que convertem sinais eléctricos nas variações da pressão do ar que constituem os sons.

De um modo mais formal, um sinal eléctrico pode ser representado por uma função \(f(t)\) que atribui o valor da diferença de potencial ou intensidade eléctricas a um determinado instante. Diz-se que o sinal é analógico quando a função é aplicada sobre um domínio contínuo de instantes. No caso em que o domínio é discreto, está-se na presença de um sinal digital. Ao processo de discretização do domínio dos instantes na obtenção de um sinal digital dá-se a designação de amostragem. Na prática, a amostragem é obtida a partir de um sinal analógico com o auxílio dos conversores analógico-digitais.

É habitual considerar instantes \(t_1=\alpha,t_2=2\alpha,\cdots t_n=n\alpha,\cdots\) igualmente espaçados aos quais são atribuídos valores de precisão finita quando se procede à amostragem de um sinal analógico para obter um sinal digital. Na prática, divide-se o intervalo de um segundo em \(n\) segmentos iguais onde cada segmento tem a duração de \(\alpha\) segundos, isto é, \(n\alpha=1\). A \(n\) dá-se o nome de taxa de amostragem. A \(\alpha\) é frequentemente atribuída a designação de intervalo de amostragem. A taxa de amostragem mais comum nos dispositivos audio é de \(44100\) amostras por segundo.

A cada um dos instantes é associado um número de precisão finita que, quando convertido em representação na base binária, requer um número finito de algarismos, isto é, um número finito de bits. No caso dos CD, são considerados números de 16 bit por amostra. Os DVD, por seu turno, requerem números de 24 bit. À representação que, a cada amostra é atribuído um número, dá-se a designação de modulação por código de impulso. Outras representações, tais como a modulação delta, permitem representar a função de uma forma mais compacta.

De um modo geral, o processo de síntese digital de sons passa pela construção de funções que, quando aplicadas a um domínio discreto de instantes, produzam uma representação do som. Por exemplo, a função
\[
f(t)=A\sin{(2\pi\nu t+\varphi)}
\]
representa aquilo que é vulgarmente designado por tom puro de frequência \(\nu\), amplitude \(A\) e fase \(\varphi\). A frequência é apercebida como a altura do tom, isto é, a frequência está directamente associada à nota musical. A cada nota musical corresponde um som cuja representação admite a mesma frequência. A amplitude proporciona a intensidade do som. A fase, por seu turno, não tem percepção audível a menos que a função seja combinada com outras de modo a produzir sons mais complexos. De um modo geral, uma função \(f(t)\) diz-se periódica se existir um valor \(\tau\) tal que \(f(t+\tau)=f(t)\) para todo o valor de \(t\). O perído \(T\) é dado pelo menor valor de \(\tau\). A frequência é dada por \(\nu=\frac{1}{T}\). No caso da função sinusoidal, é claro que
\[
f(t+T)=A\sin{\left(2\pi\nu t + 2\pi\nu T + \varphi\right)}
\]
A identidade \(f(t+T)=f(t)\) é verificada se se fizer \(\nu T=1\), como seria de esperar já que \(\nu\) representa a frequência. O som representado por uma função sinusoidal recebe a designação de tom puro uma vez que qualquer função periódica pode ser escrita como uma soma de uma série de funções trigonométricas cujas frequências são múltiplos inteiros da frequência da função. Trata-se de um resultado sobejamente conhecido sobre as séries trigonométricas. Duas funções diferentes com a mesma frequência dão origem a sons com a mesma altura, isto é, na mesma nota musical. No entanto, serão percebidos com uma textura diferente.

Para gerar um segundo de um tom puro de frequência \(\nu\) e amplitude \(A=1\) a uma taxa de amostragem de \(44100\) amostras por segundo, determina-se a sequência de \(44100\) valores da forma
\[
f_k=f(t_k)=\sin\left(2\pi\nu t_k\right)
\]
onde \(t_k=\frac{k}{44100}\) com \(k\) a variar desde \(1\) até \(44100\). É esta sequência que, quando enviada para o conversor analógico-digital, permite obter o sinal analógico que é subsequentemente traduzido em som nos altofalantes. Os componentes dos sintetizadores digitais que permitem construir as funções periódicas são designados por osciladores à semelhança do que acontece com os geradores de funções analógicas nos sintetizadores analógicos.

Não é necessário que a função \(f(t)\) seja contínua de modo a representar um som. Com efeito, mesmo que não se verifiquem saltos descontínuos nas grandezas físicas, as funções obtidas serão sempre consideradas como aproximações. Variações muito bruscas no valor da grandeza podem ser encaradas, até certo ponto, como descontinuidades. Para além da função sinusoidal, outras funções notáveis são usadas em osciladores dada a facilidade com que são produzidas por circuítos electrónicos. A função periódica mais simples talvez seja a função impulso. Esta é definida por
\[
f(t)=\left\lbrace\begin{array}
-1, & t-\left\lfloor t\right\rfloor\le p\\
0, & t-\left\lfloor t\right\rfloor>p
\end{array}
\right.
\]
onde \(p\) é um parâmetro compreendido entre \(0\) e \(1\) e a quantidade \(t-\left\lfloor t\right\rfloor\) representa a parte fraccionária de \(t\). A função assim definida satisfaz a equação funcional \(f(t+1)=f(t)\) e tem, portanto, frequência unitária. A função da forma \(A\cdot f(\nu t+\varphi)\) possui frequência \(\nu\), amplitude \(A\), frequência \(\nu\) e fase \(\varphi\). É claro que se \(f(t)\) possuir frequência unitária então a frequência da função \(f(\nu t)\) é igual a \(\nu\).

O oscilador triangular de frequência unitária é descrito pela função
\[
f(t)=\left\lbrace
\begin{array}
_4\left(t-\left\lfloor t\right\rfloor\right)-1, & t-\left\lfloor t\right\rfloor\le \frac{1}{2}\\
1-4\left(t-\left\lfloor t\right\rfloor\right), & t-\left\lfloor t\right\rfloor>\frac{1}{2}
\end{array}
\right.
\]
O oscilador dente-de-serra de frequênca unitária é descrito pela função
\[
f(t)=2\left(t-\left\lfloor t\right\rfloor\right) - 1
\]
O resultado da combinação aritmética e composição de funções, quer periódicas, quer estejam definidas sobre um domínio finito, permite gerar sons com bastante musicalidade.

Os sinais digitais são traduzidos em sinais analógicos por intermédio de uma espécie de interpolação sobre as amostras. O seguinte modelo permite dar uma ideia das limitações inerentes a este processo. Um sinal analógico \(x(t)\) de quadrado integrável contínuo por segmentos admite a representação em integral
\[
x(t)=\frac{1}{2\pi}\int_{-\infty}^{+\infty}{\xi(\omega)e^{i\omega t}d\omega}
\]
onde
\[
\xi(\omega)=\int_{-\infty}^{\infty}{x(t)e^{-i\omega t}dt}
\]
A discretização do sinal num conjunto de amostras com intervalo de amostragem \(\alpha\) definida pelos pontos da forma \(x_k=x\left(k\alpha\right)\) onde \(k\) é inteiro e \(\alpha\) é o intervalo de amostragem leva a considerar a aproximação ao integral para \(\xi(\omega)\) da forma
\[
\xi(\omega)=\alpha\sum_{k=-\infty}^{+\infty}{x_ke^{-i\omega\alpha k}}
\]
Trata-se da série que representa a expansão de \(\xi(\omega)\) se esta for uma função periódica de período \(\frac{2\pi}{\alpha}\). Neste caso, \(x_k\) será dado por
\[
x_k=\frac{1}{2\pi}\int_{-\frac{\pi}{\alpha}}^{\frac{\pi}{\alpha}}{\xi(\omega)e^{ik\omega\alpha}d\omega}
\]
O integral que proporciona \(x_k\) coincide com o que proporciona \(x(t)\) com \(t=k\) se \(\xi(\omega)\) for limitada ao intervalo \((-\frac{\pi}{\alpha},\frac{\pi}{\alpha}\rbrack\). Qualquer sinal cujas frequências constituintes estejam limitadas ao intervalo \((-\frac{\pi}{\alpha},\frac{\pi}{\alpha}\rbrack\) admite, portanto, a representação
\[
x(t)=\frac{\alpha}{2\pi}\int_{-\frac{\pi}{\alpha}}^{\frac{\pi}{\alpha}}{\left\lbrace \sum_{k=-\infty}^{+\infty}{x_ke^{-ik\omega\alpha}}\right\rbrace e^{i\omega t}d\omega}=\frac{\alpha}{2\pi}\sum_{k=-\infty}^{+\infty}{x_k\int_{-\frac{\pi}{\alpha}}^{\frac{\pi}{\alpha}}{e^{i\omega(t-\alpha k)}d\omega}}
\]
de onde se segue
\[
x(t)=\sum_{k=-\infty}^{+\infty}{x_k\frac{\sin{\left\lbrack\pi(\frac{t}{\alpha}-k)\right\rbrack}}{\pi\left(\frac{t}{\alpha}-k\right)}}
\]
Definindo a frequência de amostragem \(\nu_a\) por \(\frac{2\pi}{\alpha}\), conclui-se que os sinais com frequências compreendidas entre \(-\frac{\nu_a}{2}\) e \(\frac{\nu_a}{2}\) podem ser recuperados a partir da amostragem na sua forma original. No caso geral, suponha-se que \(\xi_a(\omega)\) é a restrição de \(\xi(\omega)\) ao intervalo \(\left(\frac{\pi}{\alpha},\frac{\pi}{\alpha}\right\rbrack\). Para valores de \(t=\alpha k\) com \(k\) inteiro tem-se
\[
x(t)=\frac{1}{2\pi}\int_{-\infty}^{+\infty}{\xi(\omega)e^{i\omega t}d\omega}=\frac{1}{2\pi}\int_{-\frac{\pi}{\alpha}}^{\frac{\pi}{\alpha}}{\xi_a(\omega)e^{i\omega t}d\omega}
\]
Porém, é verdade que
\[
\frac{1}{2\pi}\int_{-\infty}^{+\infty}{\xi(\omega)e^{i\omega k\alpha}d\omega}=\frac{1}{2\pi}\sum_{j=-\infty}^{+\infty}{\int_{\frac{(2j-1)\pi}{\alpha}}^{\frac{(2j+1)\pi}{\alpha}}{\xi(\omega)e^{i\omega k\alpha}d\omega}}
\]
e a transformação \(\omega\to\omega'+\frac{2j\pi}{\alpha}\) permite reduzir o integral anterior a
\[
x_k=\frac{1}{2\pi}\sum_{j=-\infty}^{+\infty}{\int_{-\frac{\pi}{\alpha}}^{\frac{\pi}{\alpha}}{\xi(\omega'+\frac{2j\pi}{\alpha})e^{i\left(\omega'+\frac{2j\pi}{\alpha}\right) k\alpha}d\omega}}
\]
ou
\[
x_k=\frac{1}{2\pi}\sum_{j=-\infty}^{+\infty}{\int_{-\frac{\pi}{\alpha}}^{\frac{\pi}{\alpha}}{\xi(\omega'+\frac{2j\pi}{\alpha})e^{i\omega' k\alpha}d\omega}}
\]
Comparando com o valor de \(x_k\) dado pelo integral em \(\xi_a(\omega)\), conlui-se que
\[
\xi_a(\omega)=\sum_{j=-\infty}^{+\infty} \xi\left(\omega+\frac{2j\pi}{\alpha}\right)
\]
isto é, todas as frequências que compõem qualquer sinal são projectadas sobre o intervalo \((-\frac{\pi}{\alpha},\frac{\pi}{\alpha}\rbrack\). É possível conceber diferentes sinais que proporcionam o mesmo conjunto de amostras desde que sejam compostos por frequências suficientemente elevadas.

Entre os osciladores habituais, apenas a função sinusoidal possui uma frequência muito localizada. Os outros osciladores originam sinais cujo espectro de frequências se estende indefinidamente. Quando o sinal é reconstituído a partir do sinal original, as frequências constituintes que se encontram no exterior do intervalo de amostragem alteram a forma do sinal digital original. De modo a evitar esse comportamento, é frequente acoplar um filtro à saída do oscilador digital que permita a eliminação das componentes do sinal gerado com frequências elevadas. Outras técnicas existem que permitem a construção de amostras cuja reconstrução proporcionam os sinais analógicos pretendidos dentro de uma precisão aceitável.