Upload
campus-party-brasil
View
6.800
Download
1
Embed Size (px)
DESCRIPTION
Como gravar, sequenciar e tocar com controladores MIDI? Nesta oficina, você vai conhecer o trabalho realizado pelo grupo DATABASE. Formado pelo amigos Lúcio Moraes e Yuri Chix, o DATABASE é um projeto que tem como marcas a despretensão e a vontade irrefreável de fazer a pista ferver.Fãs de Giorgio Moroder e Daft Punk, os dois começaram como DJs, tocando muito eletro no clube paulistano Ampgalaxy. Outros trabalhos: Tim festival/2008, Fashion Week/2008, SP/RJ – Haagen Dazs Mix Music 2008, Eletrônica Festival BH/2008, Bye Bye Brasil Eletrorock Festival/2008 (Curitiba), entre outros.
Citation preview
/
Sérgio Henrique D. de Oliveira
/
� Introdução (História, Funcionamento, Uso, Vantagens )
� Hardware (Portas, Interface, Canais )
� Protocolo (Tipo, Mensagens, Funções)
� SMF (Exemplo de um Arquivo MIDI)
/
� Breve História (da música eletrônica)
� MIDI (como surgiu, o que é, como funciona, vantagens)
/
IntroduIntroduçção: Breve Histão: Breve Históóriaria
� 1906 – Telharmonium ou Dynamophone
Canadiano Thaddeus Cahill.200 toneladas de dínamos produziam som.A técnica foi usada décadas depois nos orgãos Hammond
Surgimento de instrumentos musicais eletrônicosSurgimento de instrumentos musicais eletrônicos
/
IntroduIntroduçção: Breve Histão: Breve Históóriaria
� 1924 – Teramina ou Theremin Vox, por Therémin
� Ainda nos anos 20: Onda Martenot, por Maurice Martenot, teclado com dispositivo pitch-bend e controle de amplitude.
� 1957 – Max Matheus. Primeiro a usar computador. Linguagem MUSIC V (não reproduzia em tempo real)
� Anos 60 – “Groove”, Max Matheus com a equipe da Bell Telephone Laboratoris. Reproduzia em tempo real.
Surgimento de instrumentos musicais eletrônicosSurgimento de instrumentos musicais eletrônicos
/
IntroduIntroduçção: Breve Histão: Breve Históóriaria
� Final dos anos 70: Commodore C-64, Tandy TRS-80 (rodava Groove), Apple II
� 1983 - Surgiu o
� Apple Macintosh, Commodore Amiga, Atari ST, NeXT.
� Inicia-se o desuso de chips de síntese internosdos computadores.
� 1984 Yamaha CX-5M, Roland MPU-401.
� 1989 Plataforma MPC, Creative Sound Blaster.
Surgimento dos computadores musicais e evoluSurgimento dos computadores musicais e evoluççãoão
/
� Como surgiu?
� O que é?
� Vantagens
� Quem usa?
/
� Inverno de 1981 � Dave Smith e Chet Wood da Sequencial CircuitsConvenção da Sociedade de Engenharia de ÁudioUSI – Universal Synthetizer Interface, incluído no Prophet-5
� MUDI – Musically Unusable Digital Interface
� Empresas gostam e começam a usar, mas surge um problema: Apenas podem ligar aparelhos da mesma marca.
IntroduIntroduçção: MIDI: Como surgiu?ão: MIDI: Como surgiu?
� Antigamente....Controle analógico por variações de voltagem
/
IntroduIntroduçção: MIDI: Como surgiu?ão: MIDI: Como surgiu?
� Antigamente....Controle analógico por variações de voltagem
� 1982 � Sequencial Circuits, Roland, Korg, Yamaha e Kawai
Define o Complete SCI MIDI.
� agosto de 1983 � MIDI 1.0, definida no JapãoSequencial Circuits, Roland, Korg, Yamaha e Kawai
� A MIDI Manufacturer's Association – MMA (EUA) é a organização responsável por manter e atualizar o sistema MIDI. http://www.midi.org
/
� MIDI é um protocolo que permite a comunicação e sincronização entre instrumentos musicais e afins. (principal)
Computadores, misturadores (mixers), gravadores, sequenciadores, equipamentos de iluminação e equipamentos de vídeo.
� MIDI é sigla para Interface Digital para Instrumentos Musicais (Musical Instrument Digital Interface).
� Esquema de interconexão física e protocolo de comunicação que possibilitam o controle e conexão de instrumentos musicais em tempo real.
IntroduIntroduçção: MIDI: Como surgiu?ão: MIDI: Como surgiu?
/
Características para sintetizadores no padrão General MIDI:
• Mínimo de 24 vozes de atribuição dinâmica para melodia e percussão, ou 16 com atribuição dinâmica para melodia e oito para percussão.
• Suporte a todos os 16 canais MIDI, em modo polifônico.
• Cada canal poderá usar um registro distinto.
• O canal 10 é reservado para bateria/percussão.
• Mínimo de 128 registros.
• Dó central é nota MIDI 60.
• Deve suportar NOTE ON, NOTE OFF, Control Change, Modulation, Sustain, Expressão, Volume, Reset All Controllers e All Notes Off.
• Ao iniciar deverá assumir: PitchBend = 0 com gama de +/- 2 meios tons; volume = 90; todos os outros controladores na posição de repouso.
O “coração” da general MIDI é o mapa de registros ou instrumentos. 128 registros normalizados devidamente agrupados por famílias de som. De modo análogo, foram normalizados os registros de cada peça de bateria/percussão nos kits rítmicos.
IntroduIntroduçção: MIDI: General MIDIão: MIDI: General MIDI
/
� Codifica informações de execução (performance) através de mensagens em formato binário.
� MIDI x Áudio (wave)
MIDI não transmite informação sonora (espectros sônicos), só informações de controleex. toque a nota do agora com intensidade 64 usando um som de piano
Timbre a ser utilizado (ex. o som do “piano”) é sintetizado no equipamento receptor
IntroduIntroduçção: MIDI: O que ão: MIDI: O que éé??
MIDI Wave
/
Interface MIDI: equipamento ou placa de computador que permite dois sistemas ou equipamentos diferentes se comunicarem de conectores padrões.
Dispositivo MIDI: é todo dispositivo capaz de receber, enviar e interpretar o padrão MIDI. Os mais comuns, encontrados atualmente, são os sintetizadores, baterias eletrônicas, módulos de som e computadores dotados de interface MIDI.
Cabos MIDI: um cabo MIDI é composto de três fios.
Conectores MIDI: são conectores tipo DIN de 5 pinos, geralmente utilizados em equipamentos de áudio. Para ligação no cabo MIDI são utilizados apenas 3 destes pinos.
Mensagens MIDI: são mensagens enviadas entre equipamentos MIDI por meio das interfaces adequadas.
Padrão para arquivos MIDI: é um padrão de como deve ser escrito as informações da música armazenada.
IntroduIntroduçção: MIDI: O que ão: MIDI: O que éé??Composto por:Composto por:
/
� É uma interface padrão
� Separa o controlador do gerador de som
� Permite troca dados entre os mais diversos equipamentos musicais
Possibilita existência de vários tipos de controladoresex. teclado, bateria, guitarra, flauta, ...
IntroduIntroduçção: MIDI: Vantagensão: MIDI: Vantagens
/
� Possibilita comunicação (bidirecional) entre equipamentos musicais e computadores
� Facilita o desenvolvimento de software musicais genéricos (independentes de equipamento)ex. editores de partitura, seqüenciadores, sistemas de composição algorítmica
IntroduIntroduçção: MIDI: Vantagensão: MIDI: Vantagens
/
IntroduIntroduçção: MIDI: Vantagensão: MIDI: Vantagens� Também facilita uso/desenvolvimento de software específicos a um dispositivoex. editores de patch, sequenciadores, etc.
/
� Pode ser utilizado para controle e sincronismo de equipamentos não-musicais: MSC 1.0 (MIDI Show Control)ex. luzes do palco, mesa de som, etc.
IntroduIntroduçção: MIDI: Usosão: MIDI: Usos
/
/
Jean Michel Jarre, compositor de Oxygene 4 e Rendez Vous 4. Três concertos no Records Guines
IntroduIntroduçção: MIDI: Usosão: MIDI: Usos
/Reactable, O sintetizador que usa uma mesa tangível usa MIDI para se comunicar com o sintetizador.
IntroduIntroduçção: MIDI: Usosão: MIDI: Usos
/
Frets On Fire, jogo que usa o MIDI para sincronizar as notas tocadas no teclado com as notas tocadas no som wave (ogg).
IntroduIntroduçção: MIDI: Usosão: MIDI: Usos
/Rock Band 2, o software Harmonix usa MIDI para sincronizar as músicas feitas para o jogo Rock Band 2
IntroduIntroduçção: MIDI: Usosão: MIDI: Usos
/Animusic, grupo de programadores que criaram um software que manipula animações em 3 dimensões usando MIDI
IntroduIntroduçção: MIDI: Usosão: MIDI: Usos
/
Gypsy Mocap-midi, usa MIDI para receber os comandos dados ao equipamento usando o corpo humano. É o primeiro
IntroduIntroduçção: MIDI: Usosão: MIDI: Usos
/The Morrison Digital Trumpet, trompete MIDI
IntroduIntroduçção: MIDI: Usosão: MIDI: Usos
/
IntroduIntroduçção: MIDI: Usosão: MIDI: Usos
/
IntroduIntroduçção: MIDI: Usosão: MIDI: Usos
/
/
� PORTAS MIDI
� INTERFACE MIDI
� CANAIS MIDI
/
� Transmissão de dados> serial assíncrona e unilateral> taxa 31.250 bits por segundo> usa portas
� Porta MIDI de um equipamento musical> Transmite e recebe mensagens MIDI> Utiliza 2 ou 3 conectores DIN (Deutsch Industrielle Normung)
MIDI InMIDI OutMIDI Thru (through = através) cópia da entrada “amplificada”
Hardware: Portas MIDIHardware: Portas MIDI
/
Hardware: Portas MIDIHardware: Portas MIDI
/
ReceptorEntradaMIDI Repetidor Transmissor
SaídaMIDI thru
Circuitos Internosdo Dispositivo
MIDI
SaídaMIDI
Entrada/SaídaAnalógicas
Hardware: Portas MIDIHardware: Portas MIDI
/
Hardware: Cabos MIDIHardware: Cabos MIDI
Cabo MIDI - USB Cabo MIDI - MIDI
/
As placas de som têm:
� Conversor A/D e D/A (como já sabemos...)� Sintetizador MIDI
� Síntese na própria placa� FM é ruim!
� As boas placas usam tabelas de formas de onda (wavetable lookup)
� Interface MIDI� Mandam mensagens MIDI para um sintetizador externo via um
adaptador (MIDI Kit) na saída de joystick.
Hardware: Interface MIDIHardware: Interface MIDI
/
� É um endereçamento de rede: mensagens processadas só equipamentos “sintonizados” naquele(s) canal(ais)
� Diferente da noção de canal de áudioex. se sintetizador 1 reponde ao canal 1, as mensagens dos outros canais serão ignoradas por ele
� 16 canais por porta
� múltiplas portas = 16 * portas canais
Hardware: Canais MIDIHardware: Canais MIDI
/
Placa MIDI
Teclado / Controlador MIDI
Split Point1 2
inout
Computador
Sintetizador 2(4 vozes
multitimbral)
Sintetizador 1(10 vozes
multitimbral)
Unidade deEfeito 1
Unidade deEfeito 2
1 a 10
11 a 14
15
16
Hardware: Hardware: Canais MIDICanais MIDI
SE O COMPUTADORTIVER PLACA SE SOM
/
USB + Chipset +Soft
Teclado / Controlador MIDI
Split Point1 2
inout
Computador
Sintetizador 2(4 vozes
multitimbral)
Sintetizador 1(10 vozes
multitimbral)
Unidade deEfeito 1
Unidade deEfeito 2
1 a 10
11 a 14
15
16
Hardware: Canais MIDIHardware: Canais MIDI
/
� MENSAGENS MIDI
� INTERFACE MIDI (Placas de Som)
� CANAIS MIDI
/
� Princípio� A comunicação se dá por mensagens MIDI
� Transmissor origina mensagens e receptor realiza a ação desejada (sintetiza, processa, liga, ...)
� Mensagens enviadas/reconhecidas por cada equipamento estão listadas na Tabela de Implementação MIDI
Mensagens MIDIMensagens MIDI
/
� As Mensagens MIDI possuem:� 1 byte de Status , que codifica os comandos
� Seguido por 0, 1 ou 2 bytes de Dados (argumentos)
� Byte de Status:
� Bit de mais alta ordem sempre igual a 1 ( > vai de 0x80 a 0xFF)
Os outros 3 ou 7 bits mais significativos codificam tipo de mensagem,
� Quando necessário, os 16 canais MIDI são codificados nos 4 bits menos significativos.
1 cmd cmd cmd : chn chn chn chn 1 cmd cmd cmd : cmd cmd cmd cmd
Mensagens MIDI: FormatoMensagens MIDI: Formato
/
� Byte de Dados:
� Complementam (instanciam) a informação do status
� Só usam 7 bits para não confundir com as o byte de status, o que é uma limitação
0 arg arg arg : arg arg arg arg
Mensagens MIDI: FormatoMensagens MIDI: Formato
/
Mensagens MIDIMensagens MIDI
Note onNote off
Channel PressureKey Pressure
Control ChangeProgram Change
Pitch Bend
Note onNote off
Channel PressureKey Pressure
Control ChangeProgram Change
Pitch Bend
VoiceVoice
All Notes OffLocal Control
Omni OffOmni On
MonoPoly
All Notes OffLocal Control
Omni OffOmni On
MonoPoly
ModeMode
ChannelChannel
Real TimeReal Time CommonCommon Sys ExSys Ex
SystemSystem
/
Mensagens MIDI: TipoMensagens MIDI: Tipo
� Mensagens de canal (channel messages)� Endereçadas em um canal, dizem as notas a tocar, como modificar o som destas, ou como o equipamento deve tratar estas requisições
� Subdivide-se em mensagens de voz e de modo
� Mensagens de sistema (system messages)� Coordenam as atividades de todos os equipamentos conectados ao sistema� Subdivide-se em mensagens comuns, de tempo real e exclusivas do sistema
/
� Mensagens de VOZ
Byte de Status* Significado Bytes de Dados
0x8n Note Off 2 bytes - Tecla e Velocidade
0x9n Note On 2 bytes - Tecla e Velodidade
0xAn Key Pressure 2 bytes - Tecla e Valor
0xBn Control Change 2 bytes - Parâmetro e Valor
0xCn Program Change 1 byte - Programa selecionado
0xDn Channel Pressure 1 byte - Valor
0xEn Pitch Bend 2 bytes - Valor de 14 bits
* n = canal (0 = canal 1, F = canal 16)
Mensagens MIDI: Mensagens de CanalMensagens MIDI: Mensagens de Canal
/
� Mensagens de VOZ: Note On / Note Off
� Indica que a nota deve ser tocada ou interrompida
9n nota intensidade
� Intensidade (velocity)
Chamada de velocidade devido à maneira de detectar intensidade em um teclado7 bits > 128 valores (0 a 127)
8n nota intensidadeNote On Note Off
Um exemplo de mensagem a ser enviada seria:
Ligar Dó do piano no canal 5: 0x95 0x3C 0x40 Em decimal é: 144+5 60 64
Comando de “Note On” no canal 5 da tecla 60 com intensidade 64.
Mensagens MIDI: Mensagens de CanalMensagens MIDI: Mensagens de Canal
/
�Pitch Bend (mudança de altura)
�Usada para efeitos musicais (ex. glissando), para obter micro afinação, etc.
�Utiliza 14 bits = 16.384 valores•byte menos significativo antes
•centro em 0x00 0x40
�Variação é determinada pelo receptor •ex. se um sintetizador implementa um desvio de 3 semitons para cima e para baixo, teremos um “passo” 6/16384
Mensagens MIDI: Mensagens de CanalMensagens MIDI: Mensagens de Canal
/
Então envia-se o status de “Control Change” + parâmetro + valor:
Exemplo: 0xB8 + 1 + 50
enviando estes dados mudamos o valor do controle responsável pela modulação do timbre para 50 no canal 8.
� Control Change� Usada para mudar volume, modulação e outras qualidades sonoras do
sintetizador� 120 controles
Bn parâmetro valor
Mensagens MIDI: Mensagens de CanalMensagens MIDI: Mensagens de Canal
/Bn parâmetro valor
Parâmetro parâmetro
0, 32 Seleção de Banco (MSB) 66 Sostenuto (Booleano)
1 Modulação 67 Abafador (Booleano)
2 Embocadura 69 Sustentação 2 (Booleano)
4 Pedal 91 Reverberação
5 Tempo de Portamento 92 Tremolo
6, 38 Entrada de Dados 93 Chorus
7 Volume 94 Desafinador
8 Balanço 95 Modificador de Fase
10 Estereofonia 98, 99 NRPN (LSB, MSB)
11 Expressão 100,101 RPN (LSB, MSB)
64 Sustentação 1 (Booleano) 120 Cancela todas as Notas
65 Portamento 121 Zera todos os controladores
� Control Change: Tabela de Parâmetros
Mensagens MIDI: Mensagens de CanalMensagens MIDI: Mensagens de Canal
/
� Program Change� Seleciona o programa/patch/instrumento desejado� Ex. uma mesma melodia de flauta pode passar a ser tocada (no mesmo
canal) pelo piano, pela guitarra ou por uma flauta sttacato
� Os sintetizadores General MIDI tem uma lista padrão dede instrumentos devidamente numerados� 01 = piano acústico� 27 = guitarra de jazz� 53 = coral “ah”� 70 = corne inglês� 109 = kalimba
Enviamos então: status Program Change + número do instrumentoExemplo: 0xC7 + 41, mudamos o instrumento do canal 7 para violino.
Cn n_instrumento
Mensagens MIDI: Mensagens de CanalMensagens MIDI: Mensagens de Canal
/
Exemplo:Para ligar e desligar 3 notas: 18 bytes(com Note On e velocity zero servindo de Note Off), valores em hexadecimal90 3C 40 90 3B 62 90 39 27... 90 3C 00 90 3B 00 90 39 00
Com o “running status”, status corrente: 13 bytes 90 3C 40 3B 62 39 27... 3C 00 3B 00 39 00
�Mensagens sem Status “Running Status”�Caso uma mensagem venha sem status, vale o último.�Assim ganha-se tempo minimizando a redundância do protocolo MIDI.
Mensagens MIDI: Mensagens de CanalMensagens MIDI: Mensagens de Canal
/
Redes MIDIRedes MIDI
/
Redes MIDI: Redes MIDI: mLANmLAN
/
Redes MIDI: Redes MIDI: mLANmLAN
/
/
/
� Exemplo de SMF – Standard MIDI File – Padrão de Arquivo MIDI
/
Notas musicais
Notas em MIDI
Exemplo de arquivo MIDIExemplo de arquivo MIDI
...
...
...
...
/
Exemplo de arquivo MIDIExemplo de arquivo MIDI
/
4D 54 68 64 00 00 00 06 00 01 00 02 00 78 4D 54
72 6B 00 00 00 19 00 90 48 40 3C 48 00 00 90 4F
40 3C 4F 00 00 90 48 40 78 48 00 00 FF 2F 00 4D
54 72 6B 00 00 00 0B 00 91 3C 40 3C 3C 00 00 FF
2F 00
Exemplo de arquivo MIDIExemplo de arquivo MIDI
/
4D 54 68 64 00 00 00 06 00 01 00 02 00 78 4D 54
72 6B 00 00 00 19 00 90 48 40 3C 48 00 00 90 4F
40 3C 4F 00 00 90 48 40 78 48 00 00 FF 2F 00 4D
54 72 6B 00 00 00 0B 00 91 3C 40 3C 3C 00 00 FF
2F 00
Exemplo de arquivo MIDIExemplo de arquivo MIDI
/
4D 54 68 64 00 00 00 06 00 01 00 02 00 78 4D 54
72 6B 00 00 00 19 00 90 48 40 3C 48 00 00 90 4F
40 3C 4F 00 00 90 48 40 78 48 00 00 FF 2F 00 4D
54 72 6B 00 00 00 0B 00 91 3C 40 3C 3C 00 00 FF
2F 00
Cabeçalho
Exemplo de arquivo MIDIExemplo de arquivo MIDI
/
4D 54 68 64 00 00 00 06 00 01 00 02 00 78 4D 54
72 6B 00 00 00 19 00 90 48 40 3C 48 00 00 90 4F
40 3C 4F 00 00 90 48 40 78 48 00 00 FF 2F 00 4D
54 72 6B 00 00 00 0B 00 91 3C 40 3C 3C 00 00 FF
2F 00
CabeçalhoM T h d 6 Bytes Tipo 1
2 pistas=120 bpm
Exemplo de arquivo MIDIExemplo de arquivo MIDI
/
4D 54 68 64 00 00 00 06 00 01 00 02 00 78 4D 54
72 6B 00 00 00 19 00 90 48 40 3C 48 00 00 90 4F
40 3C 4F 00 00 90 48 40 78 48 00 00 FF 2F 00 4D
54 72 6B 00 00 00 0B 00 91 3C 40 3C 3C 00 00 FF
2F 00
Trilha 1
Exemplo de arquivo MIDIExemplo de arquivo MIDI
/
4D 54 68 64 00 00 00 06 00 01 00 02 00 78 4D 54
72 6B 00 00 00 19 00 90 48 40 3C 48 00 00 90 4F
40 3C 4F 00 00 90 48 40 78 48 00 00 FF 2F 00 4D
54 72 6B 00 00 00 0B 00 91 3C 40 3C 3C 00 00 FF
2F 00
Trilha 1NoteONCh. 1
DóV. 40
NoteOFF25 Bytes
Meta EventoFim de trilha
Exemplo de arquivo MIDIExemplo de arquivo MIDI
/
4D 54 68 64 00 00 00 06 00 01 00 02 00 78 4D 54
72 6B 00 00 00 19 00 90 48 40 3C 48 00 00 90 4F
40 3C 4F 00 00 90 48 40 78 48 00 00 FF 2F 00 4D
54 72 6B 00 00 00 0B 00 91 3C 40 3C 3C 00 00 FF
2F 00
Trilha 1NoteONCh. 1
DóV. 40
NoteOFF25 Bytes
Meta EventoFim de trilha
Exemplo de arquivo MIDIExemplo de arquivo MIDI
/
4D 54 68 64 00 00 00 06 00 01 00 02 00 78 4D 54
72 6B 00 00 00 19 00 90 48 40 3C 48 00 00 90 4F
40 3C 4F 00 00 90 48 40 78 48 00 00 FF 2F 00 4D
54 72 6B 00 00 00 0B 00 91 3C 40 3C 3C 00 00 FF
2F 00
Trilha 1NoteONCh. 1
DóV. 40
NoteOFF25 Bytes
Meta EventoFim de trilha
Duração da nota3Ch = 60; 78h = 120
=120 bpm
Exemplo de arquivo MIDIExemplo de arquivo MIDI
/
4D 54 68 64 00 00 00 06 00 01 00 02 00 78 4D 54
72 6B 00 00 00 19 00 90 48 40 3C 48 00 00 90 4F
40 3C 4F 00 00 90 48 40 78 48 00 00 FF 2F 00 4D
54 72 6B 00 00 00 0B 00 91 3C 40 3C 3C 00 00 FF
2F 00
Trilha 2
Exemplo de arquivo MIDIExemplo de arquivo MIDI
/
Obrigado pela Atenção
Sérgio Henrique Domingues de [email protected]
http://shdo.com.br/
http://myspace.com/shdomusic/
/
� CARVALHO, Fausto de. Segredos do Som no PC. Rio de Janeiro: Brasport, 1995.
� RAMALHO, Geber; GIOIA, Osman. Musical Instrument Digital Interface.Apresentação em Power Point.Disponível em: < http://www.di.ufpe.br/~musica/ >Acesso em: 22 jan. 2010
� MACHADO, André Campos. Tradutor de Arquivos MIDI para Texto Utilizando Linguagem Funcional CLEAN. Uberlândia: UFU, 2001.
� MIDI. In: WIKIPÉDIA, a enciclopédia livre. Flórida: Wikimedia Foundation, 2009. Disponível em: < http://pt.wikipedia.org/w/index.php?title=MIDI&oldid=17886982 >. Acesso em: 19 jan. 2010.
� MIDI 1.0 SpecificationInternational MIDI AssociationIMA, 5316 West 57th St., Los Angeles, 1984.
� MIDI is the Language of Gods.Disponível em < http://www.blitter.com/~russtopia/MIDI/~jglatt/ >Acesso em: 19 jan. 2010
� MIESSNER, Benjamin F. ELECTRONIC MUSIC AND INSTRUMENTS
Disponível em: < http://www.discretesynthesizers.com/archives/miessner/em1936.htm >Acesso em: 23 jan. 2010
BibliografiaBibliografia