Escolar Documentos
Profissional Documentos
Cultura Documentos
Joinville SC
2006
Banca Examinadora
_______________________________
verlin Fighera Costa Marques, M Sc.
________________________________
Dbora Cabral Nazario, M Sc.
________________________________
Isabela Gasparini, M Sc.
________________________________
Salvador Antonio dos Santos, M Sc.
RESUMO
II
ABSTRACT
This monograph describes the analysis and project of new MIDI Sequencer Software
that works with music information codify to search. All the project documented
following the RUP software development methodology, approaching his initials
phases. At each document is showed a short description of how to get it with the
methodology. Besides, this monograph also presents a brief of music theory, MIDI
standard and the mainly features of MIDI sequencer software.
Key-words: MIDI Sequencer, Analysis and Project of Systems, Software
Engineering.
III
LISTA DE FIGURAS
Figura 2.1 Pauta Musical.......................................................................................11
Figura 3.6a Conexo MIDI instrumento-instrumento (RATTON, 1997b). ..............22
Figura 3.6b Conexo MIDI instrumento-computador (RATTON, 1997b)...............23
Figura 4.3.1a Notation View, Winjammer (SEQUENCER, 2006) ..........................28
Figura 4.3.1b Notation View com um evento selecionado (SEQUENCER, 2006).29
Figura 4.3.2 Mixer Winjammer, (SEQUENCER, 2006).........................................29
Figura 4.3.3 Song View, Winjammer (SEQUENCER, 2006) ................................30
Figura 4.3.4 Piando Roll (Sonnar, Cakewalk)........................................................30
Figura 4.3.5 Track View , Winjammer (SEQUENCER, 2006)................................31
Figura 4.3.6 Event View (Sonnar, Cakewalk) ........................................................32
Figura 4.3.7 Controller View, Winjammer (SEQUENCER, 2006) ..........................32
Figura 4.4.1a Notas tocadas (PINTO, 2000) .........................................................33
Figura 4.4.1b Notas no Event List (PINTO, 2000) .................................................33
Figura 4.4.2 Channel Pres. No Event List (PINTO, 2000) .....................................34
Figura 4.4.3 Progam Change no Event List (PINTO, 2000)...................................35
Figura 4.4.4 Control Change no Event List (PINTO, 2000)....................................35
Figura 4.4.5 Pitch Wheel no Event List (PINTO, 2000) .........................................36
Figura 5.1 As fases e os marcos de um projeto RUP (RUP, 2003) .......................39
Figura 6.2.1 Casos de Uso. ...................................................................................73
Figura 6.2.2 Conceitos. .........................................................................................74
Figura 7.1 Casos de Uso expandidos....................................................................82
Figura 7.2a Diagrama de Seqncia gravar trilha MIDI.........................................84
Figura 7.2b Diagrama de Seqncia gravar trilha udio. ......................................84
Figura 7.2c Diagrama de Seqncia editar trilha. .................................................85
IV
LISTA DE TABELAS
SUMRIO
Resumo ............................................................................................................... I
Abstract .............................................................................................................. II
Lista de Figuras................................................................................................. III
Lista de Tabelas ................................................................................................ IV
Lista de Abreviaturas e Siglas ............................................................................ V
1. Introduo ................................................................................................... 8
2. Msica....................................................................................................... 10
2.1. Conceitos Bsicos ............................................................................. 10
2.2. Computer Music................................................................................. 11
3. MIDI........................................................................................................... 12
3.1. Definio............................................................................................ 12
3.2. Tipos de Mensagens MIDI ................................................................. 13
3.2.1. Mensagens que dependem de canal MIDI.................................. 13
3.2.2. Mensagens que no dependem de Canal MIDI.......................... 14
3.2.3. Mensagens transparentes......................................................... 15
3.3. Tabela com os Comandos MIDI ........................................................ 15
3.4. Status Byte e Data Byte..................................................................... 16
3.5. Control Change.................................................................................. 17
3.6. Conexes MIDI .................................................................................. 22
3.7. Os Canais de MIDI............................................................................. 23
3.8. Msica e Cincia da Computao ..................................................... 25
4. Software Seqenciador MIDI .................................................................... 26
4.1. Trilhas ................................................................................................ 27
4.2. Portas MIDI........................................................................................ 27
4.3. Caractersticas Principais .................................................................. 28
4.3.1. Notation View.............................................................................. 28
4.3.2. Mixer ........................................................................................... 29
4.3.3. Song View................................................................................... 30
4.3.4. Piano View e Piano Roll.............................................................. 30
4.3.5. Track View .................................................................................. 31
4.3.6. Event View.................................................................................. 31
4.3.7. Controller View............................................................................ 32
4.4. Exemplo Prtico................................................................................. 32
4.4.1. Notas .......................................................................................... 32
4.4.2. Channel Pres. ............................................................................. 34
4.4.3. Progam Change.......................................................................... 34
4.4.4. Control Change........................................................................... 35
4.4.5. Pitch Wheel................................................................................. 35
4.5. Estado da Arte ................................................................................... 36
5. Metodologia de Desenvolvimento RUP..................................................... 38
5.1. Conceito............................................................................................. 38
5.2. Fase de Iniciao ou Concepo....................................................... 40
5.3. Fase de Elaborao........................................................................... 42
5.4. Fase de Construo........................................................................... 44
5.5. Fase de Transio ............................................................................. 46
5.6. Definio das Tarefas e Atividades ................................................... 48
6. Concepo ................................................................................................ 50
6.1. Levantamento de Requisitos ............................................................. 50
7
6.1.1. Viso Geral do Sistema .............................................................. 50
Software Seqenciador MIDI (Viso Geral do Sistema) ........................ 50
6.1.2. Requisitos ................................................................................... 51
6.2. Organizao dos Requisitos .............................................................. 72
6.2.1. Organizao dos Requisitos em Casos de Uso.......................... 72
6.2.2. Organizao dos Requisitos em Funo de Conceitos .............. 74
6.2.3. Organizao dos Requisitos em Consultas ................................ 75
6.3. Marco dos Objetivos de Ciclo de Vida ............................................... 76
7. Elaborao ................................................................................................ 77
7.1. Expanso dos Casos de Uso............................................................. 77
7.2. Operaes e Consultas de Sistema................................................... 82
7.3. Modelagem Conceitual ...................................................................... 85
7.4. Contratos ........................................................................................... 87
7.5. Projeto da Camada de Domnio......................................................... 90
7.6. Projeto da Camada de Interface ........................................................ 92
7.7. Projeto da Camada de Persistncia................................................... 96
8. Concluso ................................................................................................. 99
Referncias .................................................................................................... 101
Anexo 1 .......................................................................................................... 103
1. INTRODUO
Com o advento da informtica e a difuso dos microcomputadores, muitas tarefas antes realizadas manualmente hoje so
realizadas com o auxlio de um software de computador.
No universo musical no diferente. Msicos profissionais que
trabalham arduamente com a partitura nas composies de jingles, trilhas para
novelas e cinema, ou at mesmo para uma nova cano, deparam muitas
vezes com desafios inerentes. Alm de pesquisar qual estilo musical, ritmo,
escala a ser usada, toda essa documentao representada atravs de
partituras. O software seqenciador MIDI surgiu com esta facilidade para o
msico. Nele possvel passar a msica diretamente do instrumento para o
computador, e do computador para o instrumento, e assim, pode-se editar,
alterar, corrigir a msica, grav-la em vrias trilhas e gerar a partitura entre
outras funcionalidades j existentes nos softwares atuais.
A Cincia da Computao na busca de melhores e mais
inovadas solues para os usurios vm em busca de mais uma. Segundo o
trabalho realizado por SCHROEDER (2005), que foi o estudo do padro MIDI e
o comparativo de softwares seqenciador MIDI existente no mercado, apontou
que existem softwares muito bons atualmente, mas todos com basicamente as
mesmas funcionalidades para o msico, mudando apenas a forma de
apresentao, sua interface e alguns outros recursos de um software para
outro, tais como mais efeitos numa trilha, entre outros. Mas todos estes
recursos levantados nesta pesquisa no foram to relevantes a ponto de
SCHROEDER (2005) apontar algumas necessidades que seriam muito
interessantes que um software seqenciador MIDI tivesse. Estas necessidades
so a busca da informao MIDI propriamente dita e a quantizao mais
inteligente. Este ltimo, um grande problema nos seqenciadores atuais. Outra
melhoria interessante seria uma interface mais intuitiva e usvel ao profissional
da msica, que nem sempre um usurio avanado em computao e
encontra algumas dificuldades para trabalhar com todas as ferramentas
contidas no software seqenciador MIDI.
9
Com o objetivo de criar um seqenciador com essas
caractersticas no encontradas, este trabalho descreve a anlise e projeto
deste software. Inicia-se no captulo 2 com um breve estudo definindo
tecnicamente o que msica, som, suas caractersticas, sua representao
atravs de smbolos numa pauta musical, e finaliza o captulo com a
apresentao e definio do conceito de computer music conforme (RATTON,
1998b).
No terceiro captulo realizado um estudo do padro MIDI,
discriminando os tipos de mensagens, os comandos e canais MIDI, e de que
maneira realizada a conexo.
O software seqenciador MIDI o tema central do captulo 4.
Mostra-se o que so trilhas e as caractersticas principais de um seqenciador
MIDI encontrado hoje em dia. Um exemplo prtico apresentado, mostrando a
maneira que ele trabalha para uma seqncia de mensagens MIDI. Finalizando
este captulo, faz-se a proposta do novo software seqenciador MIDI que foi
definida segundo as necessidades levantadas por (SCHROEDER, 2005).
No captulo 5 apresentada a metodologia de desenvolvimento
de software usada neste trabalho, o RUP. Sua conceituao e todas as fases
que ele comporta, finalizando com a definio das tarefas e atividades deste
trabalho.
Todas as atividades incumbidas concepo do software esto
descritas no capitulo 6. Ou seja, o levantamento dos requisitos e a organizao
dos requisitos em casos de uso, conceitos e consultas.
No captulo 7 contm a fase de elaborao do software.
Subdividida nas subfases de anlise, onde esta a expanso dos casos de uso,
a anlise de operaes e consultas de sistema, modelagem conceitual e o
contrato de operaes e consultas de sistema. E na subfase de projeto, que
contem o projeto da camada de domnio, interface e persistncia.
10
2. MSICA
2.1. Conceitos Bsicos
De acordo com MED (1996), msica a arte de combinar os
sons simultnea e sucessivamente, com ordem, equilbrio e proporo dentro
do tempo. Formada pela melodia que o conjunto de sons dispostos em ordem
sucessiva (concepo horizontal da msica), a harmonia que o conjunto de
sons dispostos em ordem simultnea (concepo vertical da msica), o
contraponto que o conjunto de melodias dispostas em ordem simultnea
(concepo ao mesmo tempo horizontal e vertical da msica) e o ritmo que a
ordem e proporo em que esto dispostos os sons que constituem a melodia
e a harmonia.
O som a sensao produzida no ouvido pelas vibraes de
corpos elsticos. Uma vibrao pe em movimento o ar na forma de ondas
sonoras que se propagam em todas as direes simultaneamente. As
vibraes podem ser regulares e irregulares. A vibrao regular produz sons de
altura definida, chamados sons musicais ou notas musicais, por exemplo, o
som do piano, do violino, etc. A vibrao irregular produz sons de altura
indefinida, chamados de barulhos, por exemplo, som do avio, de automvel,
de uma exploso, etc. Na msica so usados tanto os sons regulares
(instrumentos musicais como notas definidas), como os sons irregulares
(instrumentos de percusso) (MED, 1996).
As principais caractersticas do som so: a altura que
determinada pela freqncia das vibraes, isto , da sua velocidade, quanto
maior for a velocidade da vibrao, mais agudo ser o som. A durao que a
extenso de um som, determinada pelo tempo de emisso das vibraes. A
intensidade que a amplitude das vibraes, determinada pela fora ou pelo
volume do agende que o produz, portanto, o grau de volume sonoro. E o
timbre que a combinao de vibraes determinadas pela espcie do agende
que os produz. O timbre a cor do som de cada instrumento ou voz, derivado
da intensidade dos sons harmnicos que acompanham os sons principais.
Todo e qualquer som musical tem, simultaneamente, as quatro propriedades
(MED, 1996).
11
A notao musical so os sinais que representam a escrita
musical, tais como, pauta (Figura 2.1), claves, notas, etc.
Clave
Notas
Figura 2.1 Pauta Musical
Na escrita musical as propriedades do som so representadas
pela altura que a posio da nota no pentagrama1 e pela clave2. A alternncia
de notas de alturas diferentes resulta em melodia. A simultaneidade de sons de
alturas diferentes resulta em acordes, que so a base da harmonia; a durao
representada pela figura da nota e pelo andamento. A alternncia de notas
de duraes diferentes resulta em ritmo; Intensidade representada pelos
sinais de dinmica. A alternncia de notas de intensidades diferentes resulta
em dinmica; O timbre pela indicao da voz e instrumento que deve
executar a msica. A alternncia e a combinao de timbres diferentes resulta
em instrumentao (MED, 1996).
12
3. MIDI
3.1. Definio
A notao musical atravs da pauta musical e seus smbolos
como claves, notas, entre outros, permitem que a msica seja descrita e
representada de uma maneira simblica. Com base nesta representao, o
padro MIDI (Musical Instrument Digital Interface) usa tcnicas similares s
pautas musicais e define como codificar todos os elementos musicais.
MIDI um sistema de transmisso digital de informaes
voltado para aplicaes musicais. Criado a partir de um acordo entre
fabricantes de instrumentos musicais eletrnicos japoneses e americanos,
permitiu a interconexo de instrumentos musicais eletrnicos, e tornou
realidade a automao musical pelo computador atravs do uso de
seqenciadores e inmera outros aplicativos de controle (RATTON, 2005).
Pode-se dizer que o MIDI uma maneira computacional de
representao do som. Pois o MIDI no transmite udio, apenas mensagens
que comandam aparelhos que sejam capazes de entend-las.
O sistema MIDI usa digitais (bits e bytes), levando informaes
que dizem respeito a execuo musical, como notas musicais, volume,
acionamento de pedais, troca de timbres, etc (na verdade, h tambm algumas
outras informaes no-musicais, como configuraes de equipamentos de
estdio, por exemplo) RATTON (1998b). Os arquivos MIDI so muito
compactos. Um arquivo MIDI pode ser 1000 vezes menor que um arquivo CD
udio. Alm disso, a representao MIDI modificvel.
Por outro lado, o padro, apesar de fixo em seu carter bsico,
vem tendo vrias adies ao longo dos anos, fazendo-o cada vez mais
abrangente e capaz de lidar com as mais diversas caractersticas de
instrumentos que venham a implementar MIDI, de simples teclados at
sistemas de iluminao, passando pela indstria cinematogrfica, alm dos
mais modernos controladores musicais, muitos at mesmo sem teclado
(PINTO, 2000).
13
Aftertouch
um
comando
que
disparamos
ao
colocarmos presso na tecla em que tocamos. Note que, para cada tecla pode
ser colocada uma presso diferente, gerando, portanto, mensagens diferentes.
um timbre para outro. Este comando tem um alcance de, no mximo, 128
timbres.
14
control change, que controla o volume de cada canal MIDI. Este controla o
volume global do instrumento, com todos os seus canais de uma vez.
15
tempo absoluto da msica. Isto quer dizer que ela vai aparecendo a intervalos
regulares, independente do andamento da msica. A sua grande vantagem
que, se quisermos mudar este andamento depois, ela no atrapalhar em
nada, pois estava apenas marcando o tempo, e o sequencer poder se mover
livremente por cima dessa marcao. Seu uso mais comum em conjunto com
o padro SMPTE, de sincronismo de vdeo.
Song
Position
Pointer
Quando
tem-se
dois
16
Tabela 3.3 Comandos MIDI (PINTO, 2000).
Note On
<Note On><Key Number> <Velocity>
Note Off
<Note Off><Key Number> <Velocity>
Poly Key
<PolyKeyPress><Key Number> <Pres
Pressure
Value>
Channel Pressure <Chanel Pres> <Value>
Voice
Program Change <Prog Change> <Prog Number>
<ControlChange>
Control Change
<Control#><Contr.Val>
CHANNEL
Pitch Bend
<Pitch Wheel Change> <LSB><MSB>
Change
<Control Change>
Local Control
<122><0/127>(off/on)
All Notes Off
<Control Change> <123><0>
Omni Mode Off
<Control Change> <124><0>
Mode
Omni Mode On
<Control Change> <125><0>
Mono Mode On <Control Change><126><0 a 16>
Poly Mode On
<Control Change> <127><0>
Song Position
242> <pointer LSB> <pointer MSB>
Pointer
<243> <song number>
Common Sont Select
Tune Request
<246>
EOX
<247>
Timing Clock
<248>
SYSTEM
Start
<250>
Stop
<252>
Real
Time
Continue
<251>
Active Sensing
<254>
System Reset
<255>
System exclusive messages <240> <manufacturer ID> *** <247>
17
Status Bytes (MSB 1XXXXXXX) -> isto , o nmero maior que
127 (Em outras palavras, pode ser um nmero entre 128 at 255). Lembrando
que 10000000 em binrio o equivalente a 128 em decimal.
Data Byte (MSB 0XXXXXXX) -> isto , o nmero no maior
que 127 (isto , entre 0 e 127), e usado para transmitir o contedo da
mensagem, caso haja algum. Por esse motivo o nmero 128 redondo em
MIDI: tem-se 128 notas, 128 timbres possveis com Program Change, 128
velocidades para uma determinada nota, e assim por diante.
A taxa de transmisso de 31,25 Kbaud (31250 bits por
segundo, precisando 10 bits para cada poro de informao. Uma nota tem
trs bytes para tocar, portanto consegue-se mais ou menos 1000 notas por
segundo).
Tocando-se uma nota em um sintetizador ele transmitir 3
bytes, caso transmita outra nota, sem mexer em mais nada, o teclado ir
transmitir apenas mais dois bytes data sem o status byte. O aparelho que
estiver recebendo, por sua vez, ir entender que aqueles dois bytes seguintes
no so outra coisa alm de mais uma nota. Esta conveno chamada de
running status. Com ela, o aparelho receptor presume que bytes data (que ele
conhece por serem menores que 128) sem o status so do mesmo tipo que a
ltima mensagem recebida. Num acorde de quatro notas, portanto, sero
transmitidas 9 bytes (tres bytes para a primeira nota e dois para cada uma das
outras trs notas), e no 12 - uma economia de 25%. Em certas situaes este
tipo de comportamento permite um trfego de informao bem menos
congestionado (PINTO, 2000).
18
pan, posio do pedal de sustain, ajuste de tempo do portamento, de
intensidade de efeitos, etc, e essas mensagens so chamadas de control
change messages, ou mensagens de alterao de controle (RATTON, 1996b).
Os comandos de control change se subdividem em dois
subgrupos: controles contnuos (cujo valor pode variar gradualmente), e
controles liga/desliga (que atuam como chaves de dois estados).Todas as
mensagens de control change contm identificao de canal, para que possam
ser dirigidas ao instrumento desejado, que est configurado para receber no
mesmo canal em que a mensagem est sendo transmitida (RATTON, 1996b).
Quando o msico move algum dos dispositivos de controle de
seu instrumento (pedal de volume, alavanca de modulation, etc), so
transmitidas mensagens correspondentes de control change, que contm trs
cdigos, compondo o seguinte formato (RATTON, 1996b): control change /
canal, nmero do controle, valor do controle.
O primeiro cdigo identifica que a mensagem MIDI de control
change, e tambm informa qual o nmero do canal de MIDI em que ela est
sendo transmitida; o segundo cdigo identifica qual o controle (volume, pan,
etc) que se est ajustando; o terceiro cdigo indica qual o valor do ajuste a ser
feito naquele controle (RATTON, 1996b).
A seguir so apresentados alguns comandos de control change
com seus respectivos valores:
Controle N 0 Bank Select: Esta mensagem tem a funo de
selecionar determinado timbre em um banco de timbres. Atravs da qual podese selecionar via MIDI um banco especfico de timbres e ento, no banco
selecionado, escolher qual dos 128 timbres dele se deseja selecionar.
Controle N 1 Modulation: O controle de modulation um
dos mais antigos dispositivos a ser implementado nos sintetizadores. Usado
desde os primeiros Moogs, no final da dcada de 60, em quase todos os
instrumentos o modulation est localizado esquerda do teclado. Ao se mover
o dispositivo de controle de modulation, so geradas inmeras mensagens
MIDI de control change n1, cada uma indicando cada posio em que passa o
controle.
19
Controle N 2 Breath Controller: O controle por sopro ou
breath controller um dispositivo que permite ao msico usar o sopro para
controlar algum parmetro do som do sintetizador.
Hoje, muitos equipamentos que no implementam breath
controller usam o control change 2 para outra funo, em geral controlado por
um boto deslizante (slider) no painel, de funo programvel.
Controle N 4 Foot Controller: O control change 4 foi
definido na especificao original como um comando para ser gerado por um
dispositivo de pedal de ao contnua (gradual), e sua atuao especfica (o
parmetro que altera) pode ser programada no instrumento. O movimento do
pedal gera mensagens MIDI de control change 4, que transmitem a sua
posio fsica, identificada por valores de 0 (pedal totalmente para trs) a 127
(pedal totalmente para a frente). J no E-mu Proteus, o comando MIDI de
control change 4 no tem funo especfica, e ao ser recebido via MIDI pode
ser direcionado para atuar em um dentre diversos parmetros.
Controle N 5 Portamento Time: Este controle foi idealizado
para ajustar, via MIDI, o tempo do portamento, que um efeito semelhante ao
pitchbend, obtido quando se passa da freqncia de uma nota para a de outra.
o efeito que o violinista faz ao deslizar o dedo da mo esquerda na corda,
enquanto passa o arco sobre ela. O tempo do portamento , portanto, o
intervalo de tempo que decorre para ir da nota inicial at a nota final (RATTON,
1996b).
Controle N 6 Data Entry MSB: Este controle serve para
efetuar ajustes de parmetros diversos via MIDI. o controle onde se faz o
ajuste fino de valores de parmetros de edio. Em muitos instrumentos e
equipamentos ele designado por Value (RATTON, 1996b).
Controle N 7 Volume: A mensagem MIDI de control change
n7 destinada ao controle de volume. Quando se move um boto deslizante ou um pedal - de controle de volume, o equipamento transmite inmeras
mensagens de control change n7 correspondentes s posies que o boto ou
pedal passam no decorrer do movimento. Mas, se o objetivo efetuar uma
alterao imediata de volume, ento, no caso de se estar trabalhando com um
seqenciador, muito mais conveniente criar este valor exato atravs do
software, e no gravando-o a partir do equipamento transmissor. Isso porque
20
no software pode-se inserir um nico comando de control change n7 com o
valor desejado, enquanto que pelo equipamento controlador provavelmente
sero gerados inmeros comandos, que acabaro por ocupar memria
desnecessariamente (RATTON, 1996b).
Controle N 8 Balance: O control change n8 usado como
comando de Balance (equilbrio), que determina o equilbrio de volume entre
dois sons diferentes (Tabela 3.5a), um situado esquerda e outro direita
(RATTON 1996b).
64
127
Controle
10
Pan:
Controle
que
determina
64
direita).
127
21
Controle N 11 Expression: O comando de Expression
(expresso) uma forma de acentuao do volume principal. Atua como uma
espcie de volume global, aps o controle de volume normal (control change
7). Dessa forma, se for transmitido um valor baixo de control change 11, pode
ocorrer do som de um equipamento ficar muito baixo, mesmo que se altere o
volume (control change 7) (RATTON, 1996b).
Controle N 64 Sustain On/Off: O control change 64 o
pedal de sustain (s vezes designado como damper pedal ou hold pedal). Sua
funo ativar ou no a sustentao do som, que, dependendo da
caracterstica deste, pode ter efeitos ligeiramente diferentes. Os movimentos
(pressionar ou soltar) feitos pelo msico no pedal de sustain so codificados
como comando de control change n 64, que a mensagem de Sustain Pedal
On/Off. Ao pressionar o pedal, o equipamento transmite um comando de
control change 64 com valor 127, e ao soltar o pedal o equipamento transmite
um comando de control change 64 com valor 0 (RATTON, 1996b).
Controle N 65 Portamento On/Off: O portamento um
efeito obtido nos instrumentos musicais no-cromticos como o violino, por
exemplo, onde o msico executa a nota deslizando o dedo sobre a corda,
subindo ou descendo continuamente a afinao, para ir de uma nota a outra.
Em muitos instrumentos musicais eletrnicos, tambm possvel conseguir
esse efeito, desde que seja ativada a funo especfica. Isso pode ser feito
atravs de uma tecla no painel do equipamento ou por um pedal. Ao se ligar o
efeito de portamento, o equipamento transmite o comando (mensagem) MIDI
de control change n 65, com valor 127 (On), e ao se desligar o efeito,
transmitido o comando de control change n 65, com valor 0 (Off) (RATTON,
1996b).
Controle N 68 Legato On/Off: O controle de Legato On/Off
usado para ligar ou desligar a funo de legato monofnico. Quando esta
funo est ligada, o instrumento passa a operar em modo monofnico (s
executa uma nota de cada vez - no faz acordes), e atua de acordo com o
seguinte procedimento: se uma nota j est sendo executada e o msico tocar
outra nota, soar somente a nota nova (a antiga deixar de tocar), mas sem
que haja um novo ataque de envoltria. Ao se desligar a funo de legato
monofnico, o instrumento volta ao modo polifnico normal.
22
possvel ativar ou desativar via MIDI o modo legato
monofnico, enviando para o instrumento o comando de control change 68
(Legato On/Off). Sendo este tambm um comando do tipo liga/desliga, o valor
127 significa On (ativar legato), enquanto o valor 0 significa Off (desativar
legato) (RATTON, 1996b).
Controle N 98 e 99 RPN e NRPN: Os parmetros
registrados (RPN - "Registered Parameters Numbers") e os parmetros noregistrados (NRPN - "Non-Registered Parameters Numbers") so usados para
representar parmetros do som ou de performance nos instrumentos, sendo
que os parmetros registrados so aqueles que j foram definidos em comum
acordo entre os fabricantes participantes da MMA (MIDI Manufacturers
Association) e JMSC (Japan MIDI Standard Comittee). Os comandos NRPN,
por sua vez, tm sido usados pelos fabricantes para atuar sobre parmetros
ainda no padronizados (RATTON, 1996b).
23
24
O nmero mximo de canais de MIDI "trafegando" pelo cabo
16, mas esse limite no significa que no poder trabalhar com mais do que 16
instrumentos individuais. Nos estdios profissionais, para se ultrapassar o limite
dos 16 canais, usam-se equipamentos (ex: interfaces MIDI) com mltiplas
portas de sada MIDI Out, de forma que por cada uma so transmitidos
simultaneamente 16 canais MIDI. Assim, um sistema com oito sadas MIDI Out
pode trabalhar com at 128 canais de MIDI, o que significa poder comandar at
128 instrumentos diferentes, ao mesmo tempo. Na verdade, como o MIDI
utilizado para controlar outros equipamentos alm dos instrumentos musicais,
alguns canais so usados para controlar processadores de efeitos, mesas de
mixagem e outros recursos de estdio (RATTON, 1998a).
A tabela 3.7, mostra a conveno utilizada para definir os
efeitos sonoros do MIDI num respectivo cdigo.
Tipos de Instrumentos
Exemplos
1-8
9-16
Pianos
Percusso Cromtica
17-24
25-32
33-40
41-48
49-56
57-64
65-72
73-80
81-88
89-96
97-104
105-112
113-120
121-128
rgos
Violes
Baixo
Cordas
Conjunto de Cordas
Metais
Palhetas
Flautas
Introduo Sintetizada
Enchimento Sintetizado
Efeitos Sintetizados
tnico
Percusso
Efeitos Sonoros
25
-
intensidade (key velocity) com que a nota deve ser executada (de 0 a
127)
26
27
4.1. Trilhas
Para facilitar o processo de armazenamento, o seqenciador
organiza os eventos em trilhas (pistas), de forma que o msico escolhe uma
trilha para gravar a execuo, e todos os comandos enviados pelo instrumento
ficaro registrados naquela trilha. Assim, cada parte do arranjo pode ser
registrada numa trilha separada: ao criar um arranjo de trs instrumentos
(timbres), como, por exemplo, piano, baixo e bateria, o msico executa cada
parte separadamente, registrando-as em trilhas individuais (ao gravar uma
nova trilha, o msico pode ouvir simultaneamente a execuo das trilhas j
gravadas) (RATTON, 1997a).
A separao da seqncia em trilhas oferece grandes
facilidades (RATTON, 1997a):
receber/transmitir
os
eventos
MIDI
de/para
os
instrumentos
28
disponveis no software. Os seqenciadores tambm podem reconhecer
mltiplas portas de entrada MIDI simultneas (RATTON, 1997a).
as
principais
caractersticas
de
um
software
29
O volume/velocidade 122
4.3.2. Mixer
A janela apresentada na figura 4.3.2 a figura de uma pequena
mesa mixer, semelhantes a de estdios, com controles tais como volume,
reverb e chorus.
30
31
Qualquer outro elemento MIDI tambm pode ser representado
pelo piano roll (figura 4.3.4).
32
33
chamada tick) e quanto esta nota dura (tambm em termos de compasso,
tempo e ticks) (PINTO, 2000).
Supondo-se que tenha tocado esta seqncia (figura 4.4.1a).
seqenciador
as
mensagens
aparecero
conforme
34
primeiro tempo, uma no comeo do segundo e trs no terceiro tempo). A
coluna seguinte mostra em termos de tempo de relgio, isto , horas, minutos,
segundos e frames, quando as notas aparecem. Por fim, a ltima coluna nos
diz que tudo isto est apenas no track 1 do seqenciador (PINTO, 2000).
35
36
Quantizao3
mais
inteligente.
Os
algoritmos
de
__________________
3
Quantizao uma ferramenta de edio que existe na maioria dos seqenciadores, e que
permite ao msico acertar no tempo adequado as notas MIDI gravadas na seqncia. Ao se
determinar ao seqenciador que quantize determinado trecho de notas, necessrio definir
qual a figura musical de referncia (colcheia, semicolcheia, etc) que deve ser usada, isto ,
para quais tempos (ou fraes de tempos) as notas devero ser movidas (RATTON, 1996c).
37
qncia de notas rpidas executadas no quantizada
muito inteligentemente pelo computador. Evolues neste
sentido so necessrias;
38
tarefas
responsabilidades
dentro
de
uma
organizao
de
39
A figura 5.1a mostra a arquitetura geral do RUP, com suas
dimenses:
40
A fase de iniciao ou concepo incorpora o estudo de viabilidade e uma parte da anlise de requisitos. A fase de elaborao incorpora a
maior parte da anlise de requisitos, a anlise de domnio e projeto. A fase de
construo corresponde programao e testes, e a fase de transio consiste
na instalao e manuteno do sistema (WAZLAWICK, 2004).
concepo incluem:
a) Estabelecer o escopo do software do projeto e as
condies limite, incluindo uma viso operacional, critrios de aceitao e o
que deve ou no estar no produto.
b) Discriminar os casos de uso crticos do sistema, os
principais cenrios de operao e o que direcionar as principais trocas de
design.
c) Exibir, e talvez demonstrar, pelo menos uma opo de
arquitetura para alguns cenrios bsicos.
41
d) Estimar o custo geral e a programao para o projeto
inteiro (e estimativas detalhadas para a fase de elaborao imediatamente a
seguir).
e) Estimar riscos em potencial (as origens de imprevistos).
f) Preparar o ambiente de suporte para o projeto.
possvel
arquitetura,
avaliando
as
42
Um ou mais prottipos.
43
b) Tratar todos os riscos significativos do ponto de vista da
arquitetura do projeto.
c) Estabelecer uma arquitetura da baseline derivada do
tratamento dos cenrios significativos do ponto de vista da arquitetura, que
normalmente expem os maiores riscos tcnicos do projeto.
d) Produzir um prottipo evolutivo dos componentes de
qualidade de produo, assim como um ou mais prottipos descartados para
diminuir riscos especficos como:
a. Trocas de design/requisitos
b. Reutilizao de componentes
c. Possibilidade
demonstraes
de
produo
para
do
investidores,
produto
clientes
ou
e
usurios finais.
rapidez e eficincia.
II.
a fase de construo.
IV.
44
(milestone), o Lifecycle Architecture Milestone, onde os seguintes resultados
devem ser apresentados (QUADROS, 2002):
Modelagem Conceitual
45
intelectual durante a iniciao e elaborao, para o desenvolvimento dos
produtos que podem ser implantados durante a construo e transio (RUP,
2003).
Segundo RUP (2003) os objetivos principais da etapa de
construo incluem:
a) Minimizar os custos de desenvolvimento, otimizando
recursos e evitando retalhamento e retrabalho desnecessrios.
b) Atingir a qualidade adequada com rapidez e eficincia.
c) Atingir as verses teis (alfa, beta e outros releases de
teste) com rapidez e eficincia.
d) Concluir a anlise, o design, o desenvolvimento e o teste
de todas as funcionalidades necessrias.
e) Desenvolver de modo iterativo e incremental um produto
completo que esteja pronto para a transio para a sua comunidade de
usurios. Isso implica descrever os casos de uso restantes e outros requisitos,
incrementar o design, concluir a implementao e testar o software.
f) Decidir se o software, os locais e os usurios esto
prontos para que o aplicativo seja implantado.
g) Atingir certo nvel de paralelismo entre o trabalho das
equipes de desenvolvimento. Mesmo em projetos menores, normalmente h
componentes que podem ser desenvolvidos um independente do outro,
permitindo o paralelismo natural entre as equipes (se os recursos permitirem).
O paralelismo pode acelerar bastante as atividades de desenvolvimento; mas
tambm aumenta a complexidade do gerenciamento de recursos e da
sincronizao dos fluxos de trabalho. Uma arquitetura sofisticada ser
essencial para atingir um paralelismo significativo.
46
Ao final desta etapa, temos o terceiro Marco (milestone), o Initial
Operational Capability Milestone, onde os seguintes resultados devem ser
apresentados (QUADROS, 2002):
Os manuais do produto.
47
modo que a transio para o usurio fornea resultados positivos para todas as
partes (RUP, 2003).
Segundo RUP (2003) os objetivos principais da Fase de
Transio so:
a) Teste beta para validar o novo sistema em confronto com
as expectativas do usurio.
b) Teste beta e operao paralela relativa a um sistema
legado que est sendo substitudo.
c) Converso de bancos de dados operacionais.
d) Treinamento de usurios e equipe de manuteno.
e) Introduo a marketing, distribuio e equipe de vendas.
f) Engenharia voltada para implantao, como preparao,
empacotamento e produo comercial, introduo a vendas, treinamento de
pessoal em campo.
g) Atividades de ajuste, como correo de erros, melhoria
no desempenho e na usabilidade.
h) Avaliao das baselines de implantao tendo como
base a viso completa e os critrios de aceitao para o produto.
i) Obteno de auto-suportabilidade do usurio.
j) Obteno do consentimento dos envolvidos de que as
baselines de implantao esto completas.
k) Obteno do consentimento dos envolvidos de que as
baselines de implantao so consistentes com os critrios de avaliao da
viso.
48
No fim na etapa de transio est o quarto marco mais
importante do projeto, o Product Release Milestone. Onde so apresentados os
seguintes resultados (QUADROS, 2002):
Levantamento de requisitos
49
operaes simples (como cadastros), outros ainda sero meramente consultas.
Os casos de uso, cadastros e consultas sero abordados nos diferentes ciclos,
priorizando-se os elementos mais crticos (normalmente casos de uso), e
deixando-se para o final os mais elementares (cadastros e consultas)
(WAZLAWICK, 2004).
A fase de elaborao se inicia com uma subfase anlise e
prossegue com uma subfase de projeto. A subfase de anlise em si comporta
trs atividades distintas realizadas na seguinte ordem (WAZLAWICK, 2004):
50
6. CONCEPO
6.1. Levantamento de Requisitos
Na fase de concepo ou iniciao, a anlise de requisitos
rpida e genrica: feita em extenso e no em profundidade. O analista deve
entender a extenso do que o sistema deve fazer, mas sem detalhar como ele
vai fazer (WAZLAWICK, 2004).
Esta fase produz dois documentos: a viso geral do sistema e
os requisitos funcionais e no-funcionais.
51
informao MIDI propriamente dita, ou seja, armazenamento e recuperao
das mensagens MIDI em um banco de dados, e conseqentemente usufruir
das facilidades do mesmo para efetuar pesquisas pela informao musical
desejada. Outro objetivo ter uma quantizao mais inteligente, que a
ferramenta onde permite acertar o tempo adequado das notas. E por fim ter-se
uma interface com tima usabilidade seguindo critrios ergonmicos.
Utilizando-se de ferramentas freewares para todo o desenvolvimento.
6.1.2. Requisitos
Os requisitos so a definio do que o programa precisa fazer
dentro de quais restries ANQUETIL (2002). E, de acordo com WAZLAWICK
(2004), os requisitos podem ser classificados em duas grandes categorias:
a) Os requisitos funcionais correspondem listagem de tudo
que o sistema deve fazer.
b) Os requisitos no-funcionais so restries colocadas sobre
como o sistema deve realizar seus requisitos funcionais.
52
Alm
disso,
os
requisitos
no-funcionais
podem
ser
no-funcionais
gerais,
tambm
chamados
de
requisitos
suplementares.
Uma ltima classificao til para os requisitos no-funcionais
indicar se so permanentes ou transitrios (WAZLAWICK, 2004).
Como se observa na tabela 6.1.2a, onde temos as descries
dos requisitos. Onde, F1 quer dizer Funcional 1, ou seja, o Requisito Funcional
1 seguido do seu ttulo. Pode ser oculto ou no, isso quer dizer se um
requisito que o usurio vai ver ou apenas para o sistema. Alm da descrio
do dado requisito funcional e a listagem dos requisitos no-funcionais (NF)
relacionados ao requisito funcional em questo, a sua categoria, e se ele
desejvel e permanente.
Tabela 6.1.2a Levantamento de requisitos (WAZLAWICK, 2004)
Oculto ( )
F1 Registra emprstimos
Descrio: O sistema deve registrar emprstimos de fitas, indicando o cliente e
as fitas que foram emprestadas, bem como a data do emprstimo e o valor
previsto para pagamento na devoluo.
Requisitos No-Funcionais
Nome
NF1.1
Controle
Acesso
Restrio
Categoria
Desejvel
Permanente
( )
(X)
( )
(X)
(X)
( )
53
NF1.4 Tempo O
tempo
para Performance
de Registro
registro de cada fita
deve ser inferior a um
segundo.
NF1.5 Janela Todas as funes Interface
nica
relacionadas
a
emprstimos devem
ser efetuadas em
uma nica janela.
(X)
( )
(X)
( )
Requisitos No-Funcionais
Nome
Restrio
( )
(X)
Interface
( )
(X)
( )
(X)
( )
(X)
( )
( )
NF1.3
Possibilidade
interrupo
NF1.4 Janelas Distintas
Categoria
Desejvel
Permanente
54
Restrio
Desejvel
Permanente
( )
(X)
Interface
( )
(X)
( )
(X)
( )
(X)
( )
( )
NF2.3
Possibilidade
interrupo
Categoria
55
F3 Gerao de partitura
Descrio: O sistema ir gerar a partitura de uma seqncia MIDI.
Requisitos No-Funcionais
Nome
NF3.1 Partitura
trilha MIDI
Restrio
de
Categoria
Desejvel
Permanente
( )
(X)
(X)
( )
( )
( )
( )
( )
( )
( )
56
Oculto ( )
Requisitos No-Funcionais
Nome
NF4.1
trilha
Restrio
Partitura
de
Categoria
Desejvel
Permanente
( )
(X)
( )
(X)
( )
( )
( )
( )
( )
( )
57
Requisitos No-Funcionais
Nome
Restrio
Categoria
Desejvel
Permanente
NF5.1 Informao das notas Haver botes nas quais o usurio clicar e Interface
depois informar na pauta o seu respectivo
valor.
( )
(X)
(X)
( )
( )
(X)
(X)
( )
(X)
( )
58
Restrio
Categoria
Desejvel
Permanente
NF6.1 Alterao atravs dos Ter botes com valores pr-definidos para Interface
botes
alterao na partitura.
( )
(X)
NF6.2
Alterao Ter a opo para a escolher determinado Interface
aumentando ou diminuindo elemento dentro da pauta e aumentar ou
a intensidade.
diminuir seu respectivo valor.
(X)
( )
( )
( )
( )
( )
( )
( )
59
Oculto ( )
Requisitos No-Funcionais
Nome
Restrio
Categoria
Desejvel
Permanente
NF7.1 Ajuste de efeito da Haver uma mesa de controle para ajuste Configurao
trilha
dos efeitos de uma trilha especifica.
( )
(X)
NF7.2 Ajuste de efeito da Haver uma mesa de controle para ajuste Configurao
msica
dos efeitos com relao a toda msica.
( )
(X)
(X)
( )
( )
( )
( )
( )
60
Restrio
Categoria
( )
(X)
( )
(X)
(X)
(X)
NF8.4 Configurao
instrumento
(X)
( )
( )
( )
Desejvel
Permanente
61
Oculto ( )
Requisitos No-Funcionais
Nome
Restrio
Categoria
Desejvel
Permanente
( )
(X)
NF9.2 Informaes da trilha Ser exibida informao das trilhas, tais Interface
como se MIDI ou udio.
( )
(X)
( )
( )
( )
( )
( )
( )
62
Requisitos No-Funcionais
Nome
Restrio
Categoria
Desejvel
Permanente
( )
(X)
NF10.2 Editar mensagem Ser possvel editar cada dado exibido da Configurao
MIDI.
mensagem MIDI.
( )
(X)
NF10.3
Verificao
da Todos os dados a serem entrados na edio Confiabilidade
edio da mensagem MIDI da mensagem MIDI sero verificados.
(X)
( )
( )
( )
( )
( )
63
Restrio
( )
(X)
( )
(X)
( )
(X)
( )
( )
( )
( )
NF11.2
elemento
Escolha
Categoria
Desejvel
Permanente
64
Oculto ( )
Requisitos No-Funcionais
Nome
Restrio
Categoria
Desejvel
Permanente
( )
(X)
( )
(X)
( )
( )
( )
( )
( )
( )
65
Requisitos No-Funcionais
Nome
Restrio
Categoria
os Confiabilidade
no
Desejvel
Permanente
( )
(X)
( )
(X)
( )
(X)
(X)
( )
( )
( )
66
Restrio
Categoria
Desejvel
Permanente
( )
(X)
( )
(X)
NF14.3
Interrupo
reproduo
(X)
( )
( )
( )
( )
( )
os Confiabilidade
no
67
Requisitos No-Funcionais
Nome
Restrio
Categoria
Desejvel
Permanente
( )
(X)
NF15.2
Verificao
dispositivo
( )
(X)
NF15.3 Possibilidade
interrupo
( )
(X)
( )
( )
( )
( )
68
Requisitos No-Funcionais
Nome
Restrio
Categoria
Desejvel
Permanente
( )
(X)
Especificao
( )
(X)
Interface
( )
(X)
Desempenho
(X)
( )
Interface
(X)
( )
69
Requisitos No-Funcionais
Nome
Restrio
Categoria
Desejvel
Permanente
( )
(X)
(X)
( )
NF17.3
Tempo
quantizao
(X)
( )
NF17.4
ao
(X)
( )
( )
( )
NF17.1
parmetros
NF17.2 Desfazer ao
Confirmao
70
S2
Armazenamento
Dados
S3
Ferramentas
Desenvolvimento
Restrio
Categoria
Desejvel
Permanente
(X)
( )
( )
(X)
( )
(X)
71
72
73
incio e fim bem delimitados. Por bem delimitado entenda-se que o usurio
poderia ativar o sistema, executar o caso de uso e desligar o sistema em
seguida, e a operao estaria completa e consistente. Excluem-se desse
processo procedimentos de login e logoff.
Os casos de uso identificados para o software seqenciador
encontram-se na figura 6.2.1, que so gravar msica e editar msica.
Gravar
Msica
Msico
Editar
Msica
Msico
74
75
Conceito
Msica
Trilha
MIDI
udio
Ref. Cruzada
F14
F7, F9
F1,F4,F6,F10,
F11,F12,F16
F2
76
77
7. ELABORAO
A fase de elaborao contm duas sub-fases. A sub-fase de
anlise prossegue com a sub-fase de projeto. E a sub-fase de anlise
subdivide-se em trs atividades, a expanso dos casos de uso e determinao
dos eventos de sistema, a construo do modelo conceitual e a elaborao dos
contratos e operaes de sistema.
A seguir, esta a expanso dos casos dos casos de uso
encontrados na fase de concepo.
78
Requisitos Correlacionados: a correlao entre requisitos e
os casos de uso que podem permitir ao analista perceber se ainda existem
requisitos no abordados.
Variaes Tecnolgicas: algumas vezes pode ser interessante
registrar, para a fase de projeto, possveis variaes tecnolgicas que
poderiam ser utilizadas para realizar o caso de uso.
Questes em aberto: questes em que o analista trabalhando
sem a presena do cliente, no sabe como decidir sobre determinado assunto
que pode depender de polticas da empresa.
Fluxo principal: Todos os casos de uso tm passos
obrigatrios. Esses passos envolvem informaes que passam dos atores para
o sistema e do sistema para os atores, sem as quais o caso de uso no faz
sentido ou no pode prosseguir.
Tratamento de excees: depois de descrever o fluxo principal
do caso, devem-se imaginar o que poderia dar errado em cada um dos passos
descritos, gerando assim, os fluxos alternativos responsveis pelas excees.
Variantes: algumas vezes pode ser til representar o caso de
uso de uma forma no to plana. E as variantes so variaes no qual o fluxo
principal pode ter, no tem o status de caso de uso, embora sejam
representadas pelo mesmo smbolo nos diagramas de UML.
A figura 7.1 apresenta o resultado da expanso dos casos de
uso e nas tabelas 7.1a e 7.1b a descrio destas.
79
informao MIDI e o udio digital em formato WAV. No entanto, uma msica
pode ter em vrios canais, com tipos distintos de formatos. E neste pode-se
abranger outros formatos como WMV e MP3.
Questes em aberto:
1. Os arquivos em udio digital sero armazenados no banco de dados
com o formato BLOB ou apenas a sua referncia (caminho de onde se
encontra)?
Fluxo Principal:
1. O msico seleciona opo de nova gravao.
2. O msico escolhe qual formato da gravao. MIDI ou udio digital.
3. O msico comea a gravar a trilha da msica.
4. [EV] O msico toca o instrumento ou informa as notas para a gravao
da seqncia da trilha (udio ou MIDI).
5. [EV] O msico informa os dados relacionados a trilha da msica e salva
as informaes no banco de dados.
6. [RS] O sistema informa que os dados da trilha foram salvos
corretamente.
7. A gravao da trilha esta finalizada e o sistema est pronto para novas
interaes.
Tratamento de excees:
3a. Dispositivo de udio no configurado.
3a.1 [RS] O sistema informa que no tem nenhum dispositivo de udio
configurado.
3a.2 [EV] O msico configura o dispositivo corretamente.
3a.3 Retorna ao fluxo principal no passo 3.
3b. Nenhum dispositivo MIDI configurado.
3b.1 [EV] o msico configura a conexo MIDI.
3b.2 Retorna ao passo 3.
Variantes
4.1 Gravao instrumento MIDI:
4.1.1 [EV] O msico comea a execuo do instrumento MIDI.
4.1.2 [RS] As informaes MIDI aparecem na tela do sistema.
80
4.2 Gravao MIDI pelo software
4.2.1 [EV] O msico informa a nota, a intensidade, durao entre outras
informaes musicais disponveis para a gravao da msica.
4.2.2 [RS] As informaes MIDI aparecem na tela do sistema.
81
Tratamento de excees:
2a. Alteraes musicais de uma trilha de udio.
2a.1 [RS] O sistema informa que determinadas alteraes somente so
possveis em uma seqncia MIDI.
2a.2 Retorna ao fluxo principal no passo 2.
Variantes
3.1 Alterao em uma seqncia MIDI:
3.1.1 O msico ajusta algum dado dentre todas as possibilidades que uma
seqncia MIDI permite.
82
83
usurio que produzem modificaes no sistema (possivelmente estaro
marcadas com [EV], Eventos de Sistema), ou seja, as aes que levam
informao dos atores para o sistema. J as consultas so identificadas por
passos que trazem informao do sistema para os atores (possivelmente
marcada por [RS], Resposta de Sistema). O diagrama de seqncia pode ser
construdo para o fluxo principal do caso de uso e eventualmente tambm para
alguns cenrios com fluxos alternativos. Sendo que o importante nesta fase
no ter o diagrama em si, mas identificar corretamente que operaes e
consultas de sistema so necessrias. A existncia dos diagramas completos
com o fluxo de informaes entre os atores e do sistema para os atores ser
interessante na fase de projeto da interface, mas por enquanto, na anlise,
suficiente saber quais as informaes repassadas dos atores para o sistema e
vice-versa (WAZLAWICK, 2004).
A UML possui um diagrama que pode ser til para representar
eventos de sistema em um cenrio de um caso de uso, nas figuras 7.2a, 7.2b e
7.2c esto representados os diagramas de seqncia dos casos de uso gravar
trilha MIDI, trilha udio e editar trilha. O diagrama de seqncia tem como
elementos
instncias
de
atores,
representados
por
figuras
humanas
84
85
86
de concepo, que foi a anlise dos dados na sua forma esttica dentro do
dominio do sistema. Como esta fase de sub-anlise (modelagem conceitual)
baseia-se no domnio do problema e no da soluo que sub-fase de projeto
dentro da etapa de elaborao, pode-se obter alguns conceitos a mais do que
a concepo mas no todos que o software deve possuir, estes devero ser
encontrados no diagrama de classes na sub-fse de projeto.
Para tanto por se tratar de um sofware que trabalha com msica
relevante guardar informaes relevantes que se relacionem com a msica
de forma bem organizada, como compositor, artista, lbum e gnero.
Conseqentemente, ter-se um banco de dados conciso e coerente com o
universo musical, proporcionando uma busca na sua forma mais completa
possvel, tratando-se de msica. Nesta modelagem observa-se tambm os
fatos de considerar os comandos MIDI para cada mensagem MIDI de uma
trilha. Ou seja, a preocupao de tratar de cada comando MIDI.
87
7.4. Contratos
Nesta seo encontra-se a anlise dos contratos e operaes
de sistema do seqenciador MIDI. Sendo que na fase de expanso dos casos
de uso tambm foram identificadas as operaes e consultas de sistema. As
operaes de sistema correspondem a inseres de informao no sistema
input e as consultas de sistema correspondem ao acesso informao
armazenada output. Cada operao ou consulta desse tipo implica a existncia
de uma inteno por parte do usurio, a qual capturada pelos contratos de
operaes de sistema e nos contratos de consulta de sistema (WAZLAWICK,
2004).
Um contrato de operao de sistema tem pelo menos trs
sees:
a) Precondies.
b) Ps-condies.
c) Excees.
88
Ps:
Foi criada uma msica e adicionada ao cadastro.
E alteradas as associaes compositorM, artistaM, albumM, generoM.
alteraMusica(nomeM:String,
compositorM,
artistaM,
albumM,
generoM:Int)
Pr:
Existe uma msica com nome = nomeM.
Os cdigos compositorM, artistaM, albumM, generoM j esto vlidos
pos j foram previamente cadastrados.
Ps:
E alteradas as associaes compositorM, artistaM, albumM, generoM.
89
Tabela 7.4e Contrato listaMusicas
Classe Seqenciador
Operao: listaMusicas()
Pr:
Ps:
Retorna os nomes de todas as msicas.
90
Tabela 7.4h Contrato gravarAudio
Classe Seqenciador
Operao: gravarAudio(audio:Audio)
Pr:
O udio uma varivel da classe udio vlido.
Ps:
O udio gravado na trilha corrente.
91
acrscimo
das
classes
ComCanalMidi,
92
Apresentao.
Uma
camada
com
as
classes
que
93
Principal
Gravar Trilha
Trilha MIDI
Trilha udio
Editar Trilha
Trilha MIDI
Localizar Msica
Trilha udio
Listagem de
Msicas
94
95
96
97
98
(Sistema Gerenciador de Banco de Dados), principalmente na execuo de
querys SQL, alm de outros recursos, tais como transaes num sistema
distribudo.
Portanto, nesta modelagem como nos demais diagramas
apresentados melhorias so cabveis de ser agregadas em trabalhos futuros.
99
8. CONCLUSO
100
A fase de elaborao resultou na expanso dos casos de uso,
as operaes de consultas de sistema, modelagem conceitual e os contratos.
Alm dos projetos da camada de domnio, interface e persistncia.
Portanto, esta monografia deu incio a proposta de um novo
software seqenciador MIDI que trabalhe com a informao musical codificada
para pesquisa. Atravs da documentao e das modelagens obtidas
desenvolvendo as fases de concepo e elaborao dentro do Processo
Unificado de desenvolvimento de software, o RUP. Os trabalhos futuros que
venham a ser realizados sero a fases de construo e transio. Alm de
estudar algoritmos para uma melhor quantizao de uma seqncia MIDI. A
fase de construo interativa com a elaborao. Ou seja, na mesma poder
haver alteraes e melhorias nos projetos ou nas modelagens da fase de
elaborao desenvolvidos nesta monografia.
101
REFERNCIAS
ANQUETIL, Nicolas. Desenvolvimento de Software Orientado a Objetos.
Braslia, 2002. Disponvel em
<http://www.ucb.br/ucbtic/mgcti/paginapessoalprof/Nicolas/Disciplinas/UML/
uml.pdf> Acessado em 30/05/2006.
<http://www.music-center.com.br/wkshop09.htm>.
Acessado
em:
08/03/2006.
Acessado
em:
09/03/2006.
RATTON,
Miguel
B.
Conexo
MIDI.
1997b.
<http://www.music-center.com.br/wkshop02.htm>.
12/03/2006.
Disponvel
Acessado
em:
em:
102
RATTON, Miguel B. Os Comandos MIDI de Control Change. 1996b.
Disponvel em: <http://www.music-center.com.br/ctrlchge.htm>. Acessado
em: 08/03/2006.
RATTON, Miguel B. MIDI: duas dcadas de (r) evoluo. 2005. Disponvel
em: <http://www.music-center.com.br/midi_20anos.htm>. Acessado em:
08/03/2006.
RATTON, Miguel B. O que Computer Music?. 1998b. Disponvel em:
<http://www.music-center.com.br/wkshop01.htm>.
Acessado
em:
08/03/2006.
RATTON, Miguel B. Quantizao, Princpios Bsicos. 1996c. Disponvel em:
<http://www.music-center.com.br/groove.htm>. Acessado em: 06/04/2006.
RUP.
Rational
Unified
Process.
2003.
Disponvel
em
Seqenciadores
MIDI.
Joinville:
UDESC,
2005, 65
p.
103
ANEXO 1
104
CREATE TABLE musica (
cd_musica INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
cd_genero INTEGER UNSIGNED NOT NULL,
cd_album INTEGER UNSIGNED NOT NULL,
cd_artista INTEGER UNSIGNED NOT NULL,
cd_compositor INTEGER UNSIGNED NOT NULL,
nm_musica VARCHAR(50) NULL,
ds_duracao TIME NULL,
PRIMARY KEY(cd_musica),
INDEX musica_FKIndex1(cd_compositor),
INDEX musica_FKIndex2(cd_artista),
INDEX musica_FKIndex3(cd_album),
INDEX musica_FKIndex4(cd_genero),
FOREIGN KEY(cd_compositor)
REFERENCES compositor(cd_compositor)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(cd_artista)
REFERENCES artista(cd_artista)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(cd_album)
REFERENCES album(cd_album)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(cd_genero)
REFERENCES genero(cd_genero)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
105
ds_numero INTEGER UNSIGNED NULL,
ds_patch INTEGER UNSIGNED NULL,
ds_pan INTEGER UNSIGNED NULL,
ds_chorus INTEGER UNSIGNED NULL,
ds_volume INTEGER UNSIGNED NULL,
ds_canal INTEGER UNSIGNED NULL,
PRIMARY KEY(cd_trilha),
INDEX trilha_FKIndex1(cd_musica),
FOREIGN KEY(cd_musica)
REFERENCES musica(cd_musica)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
106
FOREIGN KEY(cd_trilha)
REFERENCES trilha(cd_trilha)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);