Proposta De Projeto De Redes 2
Ensaio Virtual
Mauro Florêncio Vieira
Rodrigo Queiroz da Costa Lima
Talita Rodrigues de Menezes
Descrição
O Ensaio Virtual consiste em um software que permita a comunicação entre instrumentos MIDI via rede, oferecendo novos serviços aos usuários, tais como aulas, ensaios ou demonstrações virtuais – permitindo que músicos de diferentes regiões ou até países ensaiem ou dêem aulas via rede e em tempo real – ou até controlem remotamente instrumentos de outras pessoas – para programá-los, por exemplo.
Restrições
Devido à limitações de recursos – principalmente instrumentos MIDI e tempo – optamos por simplificar o projeto ao máximo. Entre as limitações estão:
1. Só será implementada a comunicação entre dois instrumentos (computadores)
2. O sistema será projetado para funcionar numa intranet (no caso, a do CIn)
3. Os usuários terão que saber previamente que porta será utilizada para a conexão
4. O usuário-cliente terá que saber o IP do usuário-servidor
5. Não será implementada a programação remota de intrumentos
6. O intrumento MIDI será simulado no teclado do computador, como um teclado musical virtual com apenas duas oitavas, distribuídas como na tabela abaixo:
1a Oitava
2a Oitava
Tecla
Nota
Tecla
Nota
Q
Do
X
Do*
2
Do#
D
Do#
W
Re
C
Re
3
Re#
F
Re#
E
Mi
V
Mi
R
Fa
B
Fa
5
Fa#
H
Fa#
T
Sol
N
Sol
6
Sol#
J
Sol#
Y
La
M
La
7
La#
K
La#
U
Si
,
Si
I
Do*
.
Do
As notas marcadas com * terão a mesma frequência MIDI.
Arquitetura Inicial
Em princípio, o projeto deve ser constituído de cinco módulos (classes):
1. Um módulo responsável pelo estabelecimento da conexão
2. O Player, módulo que vai executar (tocar) tanto as mensagens MIDI recebidas da máquina remota quanto as originadas localmente
3. Sender, módulo responsável pelo envio dos eventos MIDI originados localmente para a máquina remota
4. Receiver, módulo responsável por receber os eventos MIDI e repassá-los para o Player
5. Interface com o usuário (GUI)/Teclado Virtual. Este módulo passará