Agora que podemos tocar uma variedade de sintetizadores e amostras para criar música, está na hora de aprendermos como modificar os sintetizadores e amostras para transformar a música em algo ainda mais único e interessante. Primeiro, vamos explorar a habilidade de esticar e comprimir amostras.
Now that we can play a variety of synths and samples to create some music, it’s time to learn how to modify both the synths and samples to make the music even more unique and interesting. First, let’s explore the ability to stretch and squash samples.
Amostras são sons pré-gravados, armazenados como números que representam como mover o diafragma do alto-falante para reproduzir o som. O diafragma do alto-falante pode mover-se para dentro e para fora, e desta forma os números apenas representam a distância destes movimentos para cada momento no tempo. Para ser capaz de reproduzir fielmente um som gravado a amostra precisa armazenar milhares de números por segundo! O Sonic Pi pega esta lista de números e os passa para o alto-falante do computador na velocidade correta para movê-lo da forma correta e reproduzir o som. Entretanto, é possível (e divertido) mudar a velocidade que os números são passados ao alto-falante para modificar o som.
Vamos brincar com um dos sons ambientes: :ambi_choir
. Para tocá-lo com a velocidade (rate) padrão, você pode passar a opção rate:
para sample
(que é a amostra):
sample :ambi_choir, rate: 1
Isto irá tocá-la em velocidade normal (1), nada de especial ainda. Mas estamos livres para modificar este número para qualquer outra coisa. Que tal 0.5
:
sample :ambi_choir, rate: 0.5
Wow! O que está acontecendo aqui? Bem, duas coisas. Primeiro, a amostra leva o dobro do tempo para ser reproduzida. Segundo, o som está uma oitava abaixo. Vamos explorar estas coisas mais detalhadamente.
Uma amostra que é divertida de esticar e comprimir é a Amem Break. Na velocidade normal, podemos imaginar inserindo-o em uma faixa de drum ‘n’ bass:
sample :loop_amen
Mas ao mudar a velocidade nós podemos trocar o gênero musical. Tente meia velocidade para um hip-hop old school:
sample :loop_amen, rate: 0.5
Se acelerarmos, entramos no território do jungle:
sample :loop_amen, rate: 1.5
Agora o truque final - vamos ver o que acontece se usarmos um valor negativo para a velocidade (rate):
sample :loop_amen, rate: -1
Wow! Toca ao contrário! Agora tente com várias amostras diferentes, em velocidades diferentes. Tente velocidades muito rápidas. Tente velocidades extremamente lentas. Veja os sons interessantes que você pode produzir.
Uma forma útil de se pensar em amostras é com se fossem molas. A velocidade de execução é como espremer ou esticar a mola. Se você toca uma amostra com velocidade 2, você está comprimindo a mola até a metade de seu comprimento. Consequentemente, a amostra leva metade do tempo para tocar, já que está menor. Se você toca a amostra com metade da velocidade, você está esticando a mola até o dobro de seu tamanho. A amostra leva o dobro do tempo para ser tocada, já que está mais longa. Quanto mais você comprime (rate maior), mais curto o som fica. Quanto mais você estica (rate menor), mais longo o som fica.
Comprimir uma mola aumenta sua densidade (em número de voltas por cm) - isto é similar ao som da amostra ficar mais agudo (tom mais alto). Esticando a mola, sua densidade diminui e, no caso da amostra, o som fica mais grave (com um tom mais baixo).
(Esta seção é voltada para aqueles que estão interessados nos detalhes. Sinta-se a vontade para pulá-la…)
Como vimos acima, uma amostra é representada por uma longa lista de números representando onde o alto-falante deve estar através do tempo. Podemos pegar esta lista de números e usá-la para desenhar um gráfico que ficaria similar a isto:
Você deve já ter visto gráficos com este antes. São chamados de Waveform (forma de onda) da amostra. É só um gráfico de números. Tipicamente uma onda terá 44100 pontos de dados por segundo (isto se deve ao Teorema de Amostragem de Nyquist-Shannon). Então, se a amostra durar 2 segundos, a onda será representada por 88200 números que deveremos passar ao alto-falente, à velocidade de 44100 pontos/s. Claro, nós passá-los com velocidade dobrada, que seria 88200 pontos/s. Isso então levaria somente 1 segundo para tocar. Nós podemos também tocá-la com metade da velocidade, que seriam 22050 pontos/s, levando 4 segundos pra tocar.
A duração da amostra é afetada pela velocidade (rate) que é tocada:
Podemos representar isso através da fórmula:
nova_duração_da_amostra = (1 / rate) * duração_da_amostra
Modificando a velocidade de execução também afeta o tom da amostra. A frequência, ou tom (pitch), de uma onda é determinada pelo quão rápido ela se move para cima e para baixo. Nossos cérebros, de alguma forma transformam movimentos rápidos do alto-falante em notas altas (agudas) e movimentos lentos do alto-falante em notas baixas (graves). Por isso que, as vezes, você pode até ver um grande alto-falante reproduzindo sons graves se movendo - na realidade, ele está se movendo bem mais lento (para dentro e para fora) do que um alto-falante reproduzindo notas altas (agudos).
Se você pegar um onda e espremê-la, ela ira se mover, para cima e para baixo, mais vezes por segundo. Isto fará o som ficar mais agudo. Acontece que dobrando a quantidade de movimentos para cima e para baixo (oscilações), dobramos a frequência. Então, tocando nossa amostra com o dobro da velocidade, dobramos a frequência que você ouve. Também, dividindo ao meio a velocidade, dividimos ao meio a frequência. Outras velocidades (rates) afetarão a frequência proporcionalmente.