Music Blocks é uma bifurcação do Turtle Blocks. Tem extensões para exploração de música: tom e ritmo.
O Music Blocks é projetado para ser executado em um navegador. A maior parte do desenvolvimento foi feita no Chrome.
Navegador | Comentários |
---|---|
Chrome | Suporta |
Safari | Suporta |
Firefox | Suporta |
Opera | Suporta |
IE | Não suporta |
Edge | Em breve |
Você pode executá-lo em https://musicblocks.sugarlabs.org.
Quando você inicia o Music Blocks no seu navegador, você verá uma pilha
de blocos representando quatro notas: Do 4
, Mi 4
, Sol 4
e Do 5
. A primeira nota é uma 1/2
nota; a segunda e terceira notas são
1/4
de notas; a quarta nota é uma 1/1
.
Tente clicar no bloco Iniciar ou clique no botão Executar. Você deve ouvir essas notas tocarem sucessivamente: Do
Mi
Sol
Do
.
Para escrever seus próprios programas, arraste blocos de suas respectivas paletas no lado esquerdo da tela. Use vários blocos na(s) pilha(s) para criar música e desenhos; como o ratinho se move sob seu controle, linhas coloridas são desenhadas e a música que você criou é executada.
Observe que os blocos se encaixam verticalmente ou horizontalmente. Conexões verticais indicam o ritmo do programa (e tempo). O código é executado de cima para baixo em uma pilha de blocos. Conexões horizontais são usadas para parâmetros e argumentos. Por exemplo, o nome de um tom, a duração de uma nota, o numerador e denominador de uma divisão. A partir da forma do bloco, deve ficar aparente se eles se conectam verticalmente ou horizontalmente.
Alguns blocos, chamados blocos de "grampo", possuem um pequeno fluxo interno. Isso pode ser um código que é executado se uma condição é verdadeira ou, mais comum, o código que é executado sobre a duração de uma nota.
Geralmente, qualquer combinação de blocos será executada (embora não haja garantia de que eles irão produzir música). Combinações não possíveis de blocos serão sinalizadas por um aviso na tela enquanto o programa é executado.
Você pode excluir um bloco arrastando-o para a área da lixeira que aparece na parte inferior da tela.
Para maximizar o espaço na tela, o Music Blocks sobrepõe os elementos do programa (pilhas de blocos) no topo da tela. Esses blocos podem ser ocultados a qualquer momento durante a execução do programa.
Existem quatro barras de ferramentas:
(1) A barra de ferramenta Principal na parte superior da tela. Lá você vai encontrar o botao Executar, o botãoParar, o botão Novo Projeto, os botões para carregar e salvar projetos e o botão Encontrar e compartilhar projetos.
(2) A barra de ferramentas Secundária, no canto inferior direito da tela. Lá você encontrará o botão Início, botões para mostrar/ocultar blocos, expandir/recolher blocos e diminuir/aumentar o tamanho do bloco.
(3) A barra de ferramentas Auxiliar, acima da barra de ferramentas Principal. Ela aparece quando o botão do menu auxiliar é clicado. Lá você encontrará os botões Executar lentamente, Executar passo a passo, Exibir estatísticas, Modo iniciante/avançado, etc. e também o botão para selecionar o idioma.
(4) A barra de ferramentas Paleta, no lado esquerdo da tela. (Um menu adicional aparece quando um "clique com o botão direito do mouse" é aplicado a uma pilha de blocos).
Essas barras de ferramentas são descritas em detalhe na Página de documentação do Turtle Blocks.
Existem vários atalhos de teclado:
PgUp e PgDn irá rolar a tela na vertical. É útil para criar longas pilhas de blocos.
Você pode usar as teclas de setas para mover blocos e a tecla Delete para remover um bloco individual de uma pilha.
Enter é o equivalente a clicar no botão Executar.
Alt-C é copiar e Alt-V é colar. Certifique-se de que o cursor esteja destacando o(s) bloco(s) que você deseja copiar.
Você pode digitar notas diretamente usando d para Do
, r para Re
, m para
Mi
, f para Fa
, s para Sol
, l para La
, e t para Si
.
Os blocos de paletas são exibidos no lado esquerdo da tela. Essas paletas contêm os blocos usados para criar programas.
Veja o Guia de Programação do Turtle Blocks para detalhes gerais sobre como usar os blocos.
Veja o Guia de Programação do Turtle Blocks para detalhes específicos de música: Ritmo, Metrônomo, Altura, Intervalos, Tom, Ornamento, Volume, Bateria, e Widget.
Todas as outras paletas são descritas no Guia de Programação do Turtle Blocks.
No coração do Music Blocks está o conceito de uma nota. Uma nota, definida pelo bloco deValor da nota define um período de tempo e um conjunto de ações para ocorrer nesse tempo. Normalmente, a ação é executar um tom, ou séries de tons (por exemplo, um acorde). Quaisquer que sejam os blocos colocados no "grampo" de um bloco deValor de nota são tocados de acordo com a duração da nota.
A duração de uma nota é determinada pelo valor da nota. Por padrão,
usamos notação musical, referindo-se a notas inteiras (1
), meia notas
(1/2
), um quarto de notas (1/4
), etc., mas você pode usar qualquer número como
a duração da nota. (Existem algumas limitações práticas, que você
pode descobrir através da experimentação.) A duração relativa de uma semínima tem metade da duração de uma meia nota. Por padrão, Music Blocks
tocará 90 quartos de nota por segundo, então cada quarto de nota é 2/3
de segundos (666
microsegundos) de duração.
O bloco de Tom (encontrado na paleta Tom) é usado para especificar
o tom de uma nota. Por padrão, usamos Solfege ocidental tradicional, ou seja,
Do
, Re
, Mi
, Fa
, Sol
, La
, Si
, onde Do
é mapeado para
C
, Re
é mapeado para D
, etc. (quando a chave e o modo estão em Do Maior
). Você também pode especificar o tom usando um nome de nota, por exemplo,
F#
. Uma especificação de oitava também é necessária (como um parâmetro para o
bloco de tom) e altera inteiros para cada ciclo de C
(por exemplo. C4
é
superior a B3). Quando usado com o bloco de Matriz tempo-tom , uma linha
é criada de bloco de Tom.
Além de especificar o nome da nota, você também deve especificar uma
oitava. A frequência de uma nota dobra à medida que a oitava aumenta. A2
é
110 Hertz
; A3
é 220 Hertz
; A4
é 440 Hertz
; etc.
Dois blocos especiais podem ser usados com um bloco de Tompara especificar o
nome do tom: o bloco de Solfege e o bloco deNome-tom . O bloco de Solfege usa seletores para percorrer Do
, Re
, Mi
,
Fa
, Sol
, La
, e Si
. Um segundo seletor é usado para sustenidos e
bemois: ##
, #
, e
. O bloco tom-nome é parecido
na medida que permite percorrer C
, D
, E
, F
, G
, A
,
B
. Ele também usa um segundo seletor para sustenidos e bemois.
Como observado, e descrito com mais detalhes no Guia de Programação do Music Blocks, você pode colocar quantos blocos de Tom você quiser em uma nota. Eles vão tocar juntos como um acorde. Você também pode inserir blocos gráficos dentro de uma nota para criar animações sincronizadas com o som.
O bloco Definir timbre, encontrado na paleta de Tom, permite que você escolha um timbre para uma nota. No exemplo acima, um modelo de guitarra é usado para fazer quaisquer notas contidas no grampo do bloco soar como se elas estivessem sendo tocadas em uma guitarra.
O bloco Definir volume, encontrado na paleta de Volume, permite que você
altere o volume, que varia de 0
(silencioso) para 100
(volume máximo), de quaisquer notas contidas no grampo do bloco.
O bloco Definir bateria, que dever ser empregado no grampo de um bloco de Valor da Nota, é usado para adicionar sons de bateria a uma nota. Encontra-se na paleta bateria.
O bloco Repetir, encontrado na paleta Ritmo, é usado para criar repetições. Seja qual for a pilha de blocos colocados dentro do seu grampo, ela será repetida. Pode ser usado para repetir notas individuais ou frases inteiras de música.
O bloco Duplicar, encontrado na paleta Ritmos, é usado para
repetir quaisquer notas que estejam envolvidas. É semelhante ao uso de um bloco Repetir, mas
em vez de repetir uma sequência de notas várias vezes, cada nota é
repetida por sua vez, por exemplo, duplicar x2 de4 4 8
resultaria em 4 4 4 4 8 8
, quando repetir x2 de 4 4 8
resultaria em 4 4 8 4 4 8
.
O bloco Iniciar, encontrado na paleta Ação, está vinculado ao botãoExecutar. Qualquer coisa no grampo do botão Iniciar será executada quando o botão é pressionado.
Note que você pode ter vários ratinhos e que cada ratinho é equivalente a uma "voz" na música. É possível tocar notas de vários tons em seqüência e pode até tocar várias notas do mesmo "valor de nota", mas nenhum ratinho pode fazer o contraponto sozinho - assim como um ratinho não pode desenhar duas linhas ao mesmo tempo. Se você quiser contraponto, extraia um bloco Iniciar adicional, que criará um novo ratinho que agora pode executar uma nova voz.
O bloco Ação, também encontrado na paleta Ação, é usado para criar uma coleção de blocos que podem ser executados como um grupo. Sempre que você criar um bloco Ação, um novo bloco correspondente a essa ação é adicionado à paleta. O nome dado à ação é o nome associado ao novo bloco. (É prática comum usar blocos de Ação para definir frases curtas de música que podem ser repetidas e modificadas.)
As ações são um elemento organizacional poderoso para o seu programa e podem ser usadas de muitas formas poderosas. Por exemplo, uma ação pode ser associada a um evento, como uma batida ou uma ausência de batida ou um clique do mouse. Veja Guia de Programação de Music blocks, para mais detalhes e exemplos.
O bloco Armazenar em, encontrado na paleta Caixas, é usado para armazenar um valor. Esse valor pode ser recuperado usando o bloco Caixa. O valor pode ser modificado usando o bloco Adicionar um. Esses blocos de maneira típica podem ser alterados de forma que as variáveis são armazenadas e recuperadas.
O bloco Para Frente, encontrado na paleta Ratinho, é usado para desenhar linhas retas. (Note que se este bloco é usado dentro de um bloco de Valor da nota a linha será desenhada enquanto a nota é tocada; caso contrário, a linha é desenhada "instantaneamente".)
O bloco Para a Direita, encontrado na paleta Ratinho, é usado para girar a orientação do ratinho. (Note que se este bloco é usado dentro de um bloco de Nota de valor - a orientação mudará conforme a nota é reproduzida; caso contrário, a orientação será alterada "instantaneamente".
Os blocos Caneta para Cima e Caneta para Baixo, encontrados na paleta Caneta, determinam se o ratinho desenha ou não enquanto se move.
O bloco Definir sombra, também encontrado na paleta Caneta, é usado para definir
o tom claro ou escuro da "tinta" usada na caneta do ratinho. definir sombra 0
é preto. definir sombra 100
é branco.
O bloco Definir cor, também encontrado na paleta Caneta, é usado para definir
a cor da "tinta" usada na caneta do ratinho. definir cor 0
é
vermelho. definir cor 70
é azul.
O bloco Aleatório, encontrado na paleta Números, é usado para gerar um número aleatório, porque às vezes ser imprevisível é interessante.
O bloco Um dos, também encontrado na paleta Números, é usado para gerar uma escolha binária, uma das "isto" ou "aquilo", porque às vezes ser imprevisível é interessante.
O bloco Mostrar, encontrado na paleta Mídia, é usado para exibir texto e imagens.
O bloco Botão do mouse, encontrado na paleta Sensores, retorna verdadeiro se o botão do mouse for clicado. O bloco do botão do mouse pode ser usado para criar alguma interatividade no seu programa.
Os blocos Cursor x e Cursor y, também encontrados na paleta Sensores, retornam as coordenadas X e Y do cursor. Esses blocos também podem ser usados para criar programas interativos.
Os blocos Empurrar e Pop, encontrados na paleta Pilha, são usados para armazenar e recuperar valores de/para um programa de pilha primeiro incluído, último excluído (first-in e last-out, FILO).
O bloco Exibir, encontrado na paleta Extras, é usado para exibir mensagens durante a execução do programa. É muito útil como uma ferramenta de depuração e também como um meio de adicionar letras à sua música - pense karaokê.
O Music Blocks tem vários Widgets que podem ser usados para melhorar sua experiência. A matriz tempo-tom é descrita aqui.
Muitos dos blocos nesta paleta são usados para criar uma matriz de "tom" e "valor da nota". A matriz é uma maneira conveniente e intuitiva de gerar gestos musicais curtos, que podem ser regenerados como "pedaço de notas" que pode ser reproduzidos programaticamente. Músicos podem achar útil pensar nos tons como a matriz tempo-tom como sendo semelhantes a um bellset em que as notas podem ser adicionadas e removidas como desejado. A representação do "valor da nota" atua como uma "tablatura rítmica" que deve ser legível por pessoas familiarizadas com os conceitos de ritmo na música e por pessoas que o desconhecem (mas familiarizado com matemática).
O bloco grampo Matriz tempo-tom é usado para definir a matriz: uma linha na matriz é criada para cada bloco deTom e as colunas são criadas para notas individuais, que são criadas usando bloco de Ritmo, de notas individuais ou o bloco de Quiáltera.
O bloco Ritmo é usado para especificar uma série de notas de mesma
duração (por exemplo, três semínimas ou sete colcheias). O número
de notas é o parâmetro superior e o parâmetro inferior é a duração da nota.
Por exemplo, 1/1
para uma nota inteira, 1/2
para uma meia nota, 1/4
para uma semínima, etc. (Lembre-se que na notação ocidental tradicional
todos os valores da nota são (1) em potências de dois e são (2) em relação a
a "nota inteira", que é por sua vez (3) definida pelo tempo, ou
batidas - geralmente semínimas - por minuto) Cada nota é
representado por uma coluna na matriz.
Taxas especiais de qualquer nota podem ser criadas facilmente com o
bloco de Ritmo, escolhendo um número inteiro diferente do tradicional
"potência de dois" que a notação musical ocidental padrão nos proporciona. Por
exemplo, colocar um 1/5
no argumento para "valor da nota"
criar um valor de nota igual a "um quinto do comprimento de duração de um
nota inteira". Isso dá ao usuário infinitas possibilidades rítmicas.
Por conveniência, os blocos para os valores de notas mais comuns são também fornecidos (nota inteira até a nota 64). Eles são automaticamente convertidos nos blocos de Ritmo correspondentes, que podem ser usados para criar colunas na matriz.
Se você quiser vários valores de nota em uma linha, simplesmente use o bloco grampo Repetir ou bloco grampo de Duplicar.
O bloco Quiáltera é a maneira de driar ritmos que não se encaixam em um simples espaço rítmico de "potência de dois". Uma quiáltera, matematicamente, é uma coleção de notas que são dimensionadas para mapear em uma duração específica. Por exemplo, se você gostaria de programar/executar três notas únicas para a duração de uma única semínima, você pode usar o bloco de quiáltera. O bloco Quiáltera é capaz de calcular quantas notas você inseriu no grampo e irá gerar a quiáltera adequadamente (por exemplo, se você colocar três notas, ele gerará "triplet". Projetamos o bloco de quiáltera para permitir qualquer entrada de valor da nota, então o trio pode ser três semínimas, três notas oitavas, etc. Esta escolha de design permite flexibilidade máxima). Você pode misturar e combinar blocos de Ritmo e blocos individuais de Nota dentro de um bloco de quiáltera para gerar ritmos complexos (por exemplo, duas semínimas mais uma oitava nota é possível dentro da quiáltera). Cada nota é representada por uma coluna na matriz.
Observe: cada vez que você abre a matriz, ela tenta reconstruir as notas marcadas a partir da matriz anterior. Se você modificar o bloco de Tom e de Ritmo no bloco Matriz tempo-tom, o Music Blocks tentará fazer uma alteração correspondente na matriz.
Observe: você pode construir uma matriz a partir de pedaços de blocos, incluindo o pedaço no gancho do bloco Matriz tempo-tom.
Mais detalhes sobre todos os widgets estão disponíveis no Guia de Programação de Music Blocks.