Técnicas de aprimoramento de um sistema de acompanhamento musical
|
|
- Washington Galindo de Barros
- 5 Há anos
- Visualizações:
Transcrição
1 Técnicas de aprimoramento de um sistema de acompanhamento musical Roberto Piassi Passos Bodo Instituto de Matemática e Estatística Universidade de São Paulo 12 de Novembro de 2013
2 Acompanhamento musical (IME-USP) Novembro / 34
3 Acompanhamento musical escutar a performance de um músico; rppbodo@ime.usp.br (IME-USP) Novembro / 34
4 Acompanhamento musical escutar a performance de um músico; comparar os eventos da entrada com os eventos de uma partitura; rppbodo@ime.usp.br (IME-USP) Novembro / 34
5 Acompanhamento musical escutar a performance de um músico; comparar os eventos da entrada com os eventos de uma partitura; inferir um andamento; rppbodo@ime.usp.br (IME-USP) Novembro / 34
6 Acompanhamento musical escutar a performance de um músico; comparar os eventos da entrada com os eventos de uma partitura; inferir um andamento; tocar o acompanhamento apropriado. rppbodo@ime.usp.br (IME-USP) Novembro / 34
7 Sistema de acompanhamento musical (IME-USP) Novembro / 34
8 Casamento monofônico Características dos eventos: (IME-USP) Novembro / 34
9 Casamento monofônico Características dos eventos: são trivialmente comparados; (IME-USP) Novembro / 34
10 Casamento monofônico Características dos eventos: são trivialmente comparados; são totalmente ordenados. (IME-USP) Novembro / 34
11 Casamento monofônico Características dos eventos: são trivialmente comparados; são totalmente ordenados. (IME-USP) Novembro / 34
12 Casamento polifônico Características dos eventos: (IME-USP) Novembro / 34
13 Casamento polifônico Características dos eventos: são mais difíceis de comparar; (IME-USP) Novembro / 34
14 Casamento polifônico Características dos eventos: são mais difíceis de comparar; são parcialmente ordenados. (IME-USP) Novembro / 34
15 Casamento polifônico Características dos eventos: são mais difíceis de comparar; são parcialmente ordenados. (IME-USP) Novembro / 34
16 Eventos compostos Para cada nota recebida da performance: (IME-USP) Novembro / 34
17 Eventos compostos Para cada nota recebida da performance: se o intervalo de tempo em relação à nota anterior for menor do que epsilon (100ms, por exemplo), adicionamos no mesmo evento composto; rppbodo@ime.usp.br (IME-USP) Novembro / 34
18 Eventos compostos Para cada nota recebida da performance: se o intervalo de tempo em relação à nota anterior for menor do que epsilon (100ms, por exemplo), adicionamos no mesmo evento composto; caso contrário, criamos um novo evento composto. rppbodo@ime.usp.br (IME-USP) Novembro / 34
19 Eventos compostos Para cada nota recebida da performance: se o intervalo de tempo em relação à nota anterior for menor do que epsilon (100ms, por exemplo), adicionamos no mesmo evento composto; caso contrário, criamos um novo evento composto. Com isso, reduzimos o problema do acompanhamento polifônico para o monofônico. rppbodo@ime.usp.br (IME-USP) Novembro / 34
20 1. Ornamentos Em um cenário ideal, temos uma bijeção entre a performance e a partitura. rppbodo@ime.usp.br (IME-USP) Novembro / 34
21 1. Ornamentos Em um cenário ideal, temos uma bijeção entre a performance e a partitura. rppbodo@ime.usp.br (IME-USP) Novembro / 34
22 1. Ornamentos Em um cenário ideal, temos uma bijeção entre a performance e a partitura. Porém, com alguns ornamentos nem sempre conseguimos fazer esse mapeamento. rppbodo@ime.usp.br (IME-USP) Novembro / 34
23 1. Ornamentos Problema: Em um trinado, por exemplo, não sabemos quantas notas o músico irá tocar. rppbodo@ime.usp.br (IME-USP) Novembro / 34
24 1. Ornamentos Problema: Em um trinado, por exemplo, não sabemos quantas notas o músico irá tocar. rppbodo@ime.usp.br (IME-USP) Novembro / 34
25 1. Ornamentos Solução sugerida: (IME-USP) Novembro / 34
26 1. Ornamentos Solução sugerida: Input Preprocessor será agora um autômato finito com dois estados; (IME-USP) Novembro / 34
27 1. Ornamentos Solução sugerida: Input Preprocessor será agora um autômato finito com dois estados; o primeiro (inicial) terá o comportamento padrão; rppbodo@ime.usp.br (IME-USP) Novembro / 34
28 1. Ornamentos Solução sugerida: Input Preprocessor será agora um autômato finito com dois estados; o primeiro (inicial) terá o comportamento padrão; o segundo irá lidar ornamentos. rppbodo@ime.usp.br (IME-USP) Novembro / 34
29 1. Ornamentos Solução sugerida: Input Preprocessor será agora um autômato finito com dois estados; o primeiro (inicial) terá o comportamento padrão; o segundo irá lidar ornamentos. o Matcher relata um ornamento na partitura para o Input Preprocessor; rppbodo@ime.usp.br (IME-USP) Novembro / 34
30 1. Ornamentos Solução sugerida: Input Preprocessor será agora um autômato finito com dois estados; o primeiro (inicial) terá o comportamento padrão; o segundo irá lidar ornamentos. o Matcher relata um ornamento na partitura para o Input Preprocessor; o Input Preprocessor sai do estado inicial e só volta quando: rppbodo@ime.usp.br (IME-USP) Novembro / 34
31 1. Ornamentos Solução sugerida: Input Preprocessor será agora um autômato finito com dois estados; o primeiro (inicial) terá o comportamento padrão; o segundo irá lidar ornamentos. o Matcher relata um ornamento na partitura para o Input Preprocessor; o Input Preprocessor sai do estado inicial e só volta quando: detecta uma nota mais longa; rppbodo@ime.usp.br (IME-USP) Novembro / 34
32 1. Ornamentos Solução sugerida: Input Preprocessor será agora um autômato finito com dois estados; o primeiro (inicial) terá o comportamento padrão; o segundo irá lidar ornamentos. o Matcher relata um ornamento na partitura para o Input Preprocessor; o Input Preprocessor sai do estado inicial e só volta quando: detecta uma nota mais longa; recebe a nota esperada da partitura após o ornamento; rppbodo@ime.usp.br (IME-USP) Novembro / 34
33 1. Ornamentos Solução sugerida: Input Preprocessor será agora um autômato finito com dois estados; o primeiro (inicial) terá o comportamento padrão; o segundo irá lidar ornamentos. o Matcher relata um ornamento na partitura para o Input Preprocessor; o Input Preprocessor sai do estado inicial e só volta quando: detecta uma nota mais longa; recebe a nota esperada da partitura após o ornamento; ultrapassa um tempo limite. rppbodo@ime.usp.br (IME-USP) Novembro / 34
34 1. Ornamentos (IME-USP) Novembro / 34
35 2. Equivalência de oitavas Motivação: (IME-USP) Novembro / 34
36 2. Equivalência de oitavas Motivação: o solista precisa tocar as notas da partitura de forma mais regrada para uma boa evolução do acompanhamento; rppbodo@ime.usp.br (IME-USP) Novembro / 34
37 2. Equivalência de oitavas Motivação: o solista precisa tocar as notas da partitura de forma mais regrada para uma boa evolução do acompanhamento; algum músico pode desejar tocar de forma mais livre em seu instrumento; rppbodo@ime.usp.br (IME-USP) Novembro / 34
38 2. Equivalência de oitavas Motivação: o solista precisa tocar as notas da partitura de forma mais regrada para uma boa evolução do acompanhamento; algum músico pode desejar tocar de forma mais livre em seu instrumento; também pode querer fazer acordes abertos quando não especificados. rppbodo@ime.usp.br (IME-USP) Novembro / 34
39 2. Equivalência de oitavas Solução sugerida: (IME-USP) Novembro / 34
40 2. Equivalência de oitavas Solução sugerida: utilizar um vetor de bits para representar um evento composto; (IME-USP) Novembro / 34
41 2. Equivalência de oitavas Solução sugerida: utilizar um vetor de bits para representar um evento composto; o bit menos significativo corresponde a C, o próximo bit corresponde a C# e assim por diante; rppbodo@ime.usp.br (IME-USP) Novembro / 34
42 2. Equivalência de oitavas Solução sugerida: utilizar um vetor de bits para representar um evento composto; o bit menos significativo corresponde a C, o próximo bit corresponde a C# e assim por diante; pitch class = midi number % 12. rppbodo@ime.usp.br (IME-USP) Novembro / 34
43 2. Equivalência de oitavas Solução sugerida: utilizar um vetor de bits para representar um evento composto; o bit menos significativo corresponde a C, o próximo bit corresponde a C# e assim por diante; pitch class = midi number % 12. Vantagens extras: rppbodo@ime.usp.br (IME-USP) Novembro / 34
44 2. Equivalência de oitavas Solução sugerida: utilizar um vetor de bits para representar um evento composto; o bit menos significativo corresponde a C, o próximo bit corresponde a C# e assim por diante; pitch class = midi number % 12. Vantagens extras: menor consumo de memória (eventos de 16 para 2 bytes); rppbodo@ime.usp.br (IME-USP) Novembro / 34
45 2. Equivalência de oitavas Solução sugerida: utilizar um vetor de bits para representar um evento composto; o bit menos significativo corresponde a C, o próximo bit corresponde a C# e assim por diante; pitch class = midi number % 12. Vantagens extras: menor consumo de memória (eventos de 16 para 2 bytes); melhor performance (operações bitwise). rppbodo@ime.usp.br (IME-USP) Novembro / 34
46 2. Equivalência de oitavas (IME-USP) Novembro / 34
47 3. Paralelismo no Matcher O Matcher considera apenas um subconjunto da partitura. rppbodo@ime.usp.br (IME-USP) Novembro / 34
48 3. Paralelismo no Matcher O Matcher considera apenas um subconjunto da partitura. Problemas: rppbodo@ime.usp.br (IME-USP) Novembro / 34
49 3. Paralelismo no Matcher O Matcher considera apenas um subconjunto da partitura. Problemas: o músico pode avançar para fora da janela. rppbodo@ime.usp.br (IME-USP) Novembro / 34
50 3. Paralelismo no Matcher O Matcher considera apenas um subconjunto da partitura. Problemas: o músico pode avançar para fora da janela. ele pulou uma parte da partitura? rppbodo@ime.usp.br (IME-USP) Novembro / 34
51 3. Paralelismo no Matcher O Matcher considera apenas um subconjunto da partitura. Problemas: o músico pode avançar para fora da janela. ele pulou uma parte da partitura? temos um casamento errado devido a uma nota extra? rppbodo@ime.usp.br (IME-USP) Novembro / 34
52 3. Paralelismo no Matcher O Matcher considera apenas um subconjunto da partitura. Problemas: o músico pode avançar para fora da janela. ele pulou uma parte da partitura? temos um casamento errado devido a uma nota extra? devemos aumentar o tamanho da janela? rppbodo@ime.usp.br (IME-USP) Novembro / 34
53 3. Paralelismo no Matcher O Matcher considera apenas um subconjunto da partitura. Problemas: o músico pode avançar para fora da janela. ele pulou uma parte da partitura? temos um casamento errado devido a uma nota extra? devemos aumentar o tamanho da janela? o músico pode parar de tocar; rppbodo@ime.usp.br (IME-USP) Novembro / 34
54 3. Paralelismo no Matcher O Matcher considera apenas um subconjunto da partitura. Problemas: o músico pode avançar para fora da janela. ele pulou uma parte da partitura? temos um casamento errado devido a uma nota extra? devemos aumentar o tamanho da janela? o músico pode parar de tocar; ele vai voltar no ponto de onde parou? rppbodo@ime.usp.br (IME-USP) Novembro / 34
55 3. Paralelismo no Matcher O Matcher considera apenas um subconjunto da partitura. Problemas: o músico pode avançar para fora da janela. ele pulou uma parte da partitura? temos um casamento errado devido a uma nota extra? devemos aumentar o tamanho da janela? o músico pode parar de tocar; ele vai voltar no ponto de onde parou? ele vai voltar no ponto onde o Accompanist chegou? rppbodo@ime.usp.br (IME-USP) Novembro / 34
56 3. Paralelismo no Matcher Solução sugerida: (IME-USP) Novembro / 34
57 3. Paralelismo no Matcher Solução sugerida: transformar o Matcher em um objeto; rppbodo@ime.usp.br (IME-USP) Novembro / 34
58 3. Paralelismo no Matcher Solução sugerida: transformar o Matcher em um objeto; criar uma nova instância quando tivermos dúvidas de onde o músico está; rppbodo@ime.usp.br (IME-USP) Novembro / 34
59 3. Paralelismo no Matcher Solução sugerida: transformar o Matcher em um objeto; criar uma nova instância quando tivermos dúvidas de onde o músico está; centralizamos cada janela nas posições alternativas; rppbodo@ime.usp.br (IME-USP) Novembro / 34
60 3. Paralelismo no Matcher Solução sugerida: transformar o Matcher em um objeto; criar uma nova instância quando tivermos dúvidas de onde o músico está; centralizamos cada janela nas posições alternativas; descartamos um dos Matchers quando o outro encontra um casamento confiável. rppbodo@ime.usp.br (IME-USP) Novembro / 34
61 3. Paralelismo no Matcher (IME-USP) Novembro / 34
62 4. Accompanist Nas implementações anteriores: (IME-USP) Novembro / 34
63 4. Accompanist Nas implementações anteriores: a partitura é uma sequência de eventos note-on/note-off; rppbodo@ime.usp.br (IME-USP) Novembro / 34
64 4. Accompanist Nas implementações anteriores: a partitura é uma sequência de eventos note-on/note-off; na ausência de casamentos o Accompanist toca cada evento quando seu tempo for alcançado; rppbodo@ime.usp.br (IME-USP) Novembro / 34
65 4. Accompanist Nas implementações anteriores: a partitura é uma sequência de eventos note-on/note-off; na ausência de casamentos o Accompanist toca cada evento quando seu tempo for alcançado; mantemos um ponteiro na partitura para saber até onde foi tocada; rppbodo@ime.usp.br (IME-USP) Novembro / 34
66 4. Accompanist Possibilidades: (IME-USP) Novembro / 34
67 4. Accompanist Possibilidades: o Accompanist sabe onde o músico está na partitura; rppbodo@ime.usp.br (IME-USP) Novembro / 34
68 4. Accompanist Possibilidades: o Accompanist sabe onde o músico está na partitura; ele está adiantado em relação ao músico? rppbodo@ime.usp.br (IME-USP) Novembro / 34
69 4. Accompanist Possibilidades: o Accompanist sabe onde o músico está na partitura; ele está adiantado em relação ao músico? ele está atrasado em relação ao músico? rppbodo@ime.usp.br (IME-USP) Novembro / 34
70 4. Accompanist Possibilidades: o Accompanist sabe onde o músico está na partitura; ele está adiantado em relação ao músico? ele está atrasado em relação ao músico? o Accompanist descobre que a posição do solista estava errada. rppbodo@ime.usp.br (IME-USP) Novembro / 34
71 4. Accompanist Possibilidades: o Accompanist sabe onde o músico está na partitura; ele está adiantado em relação ao músico? ele está atrasado em relação ao músico? o Accompanist descobre que a posição do solista estava errada. ele deve pular na partitura para o ponto correto? rppbodo@ime.usp.br (IME-USP) Novembro / 34
72 4. Accompanist Possibilidades: o Accompanist sabe onde o músico está na partitura; ele está adiantado em relação ao músico? ele está atrasado em relação ao músico? o Accompanist descobre que a posição do solista estava errada. ele deve pular na partitura para o ponto correto? o que fazer com notas que já estavam soando? rppbodo@ime.usp.br (IME-USP) Novembro / 34
73 4. Accompanist Possibilidades: o Accompanist sabe onde o músico está na partitura; ele está adiantado em relação ao músico? ele está atrasado em relação ao músico? o Accompanist descobre que a posição do solista estava errada. ele deve pular na partitura para o ponto correto? o que fazer com notas que já estavam soando? o que fazer com notas que deveriam estar soando? rppbodo@ime.usp.br (IME-USP) Novembro / 34
74 4. Accompanist Algoritmo mais robusto: (IME-USP) Novembro / 34
75 4. Accompanist Algoritmo mais robusto: o Accompanist recebe 3 informações do Matcher. rppbodo@ime.usp.br (IME-USP) Novembro / 34
76 4. Accompanist Algoritmo mais robusto: o Accompanist recebe 3 informações do Matcher. o tempo virtual do evento casado; rppbodo@ime.usp.br (IME-USP) Novembro / 34
77 4. Accompanist Algoritmo mais robusto: o Accompanist recebe 3 informações do Matcher. o tempo virtual do evento casado; uma indicação se o evento passado foi o próximo da sequência em relação ao último casado; rppbodo@ime.usp.br (IME-USP) Novembro / 34
78 4. Accompanist Algoritmo mais robusto: o Accompanist recebe 3 informações do Matcher. o tempo virtual do evento casado; uma indicação se o evento passado foi o próximo da sequência em relação ao último casado; o tempo virtual do próximo evento da partitura. rppbodo@ime.usp.br (IME-USP) Novembro / 34
79 4. Accompanist Algoritmo mais robusto: A cada relato de casamento, o Accompanist chama duas funções: rppbodo@ime.usp.br (IME-USP) Novembro / 34
80 4. Accompanist Algoritmo mais robusto: A cada relato de casamento, o Accompanist chama duas funções: change virtual time(); calcula o próximo valor do relógio virtual e muda as notas que estão soando rppbodo@ime.usp.br (IME-USP) Novembro / 34
81 4. Accompanist Algoritmo mais robusto: A cada relato de casamento, o Accompanist chama duas funções: change virtual time(); calcula o próximo valor do relógio virtual e muda as notas que estão soando adjust clock speed(). muda o andamento do acompanhamento para refletir o da performance solo rppbodo@ime.usp.br (IME-USP) Novembro / 34
82 4. Accompanist: change virtual time() Primeira decisão: (IME-USP) Novembro / 34
83 4. Accompanist: change virtual time() Primeira decisão: if (delta virtual time < min delta){ // 100ms, por exemplo // a mudança no relógio virtual é descartada. } rppbodo@ime.usp.br (IME-USP) Novembro / 34
84 4. Accompanist: change virtual time() Primeira decisão: if (delta virtual time < min delta){ // 100ms, por exemplo // a mudança no relógio virtual é descartada. } Observações: rppbodo@ime.usp.br (IME-USP) Novembro / 34
85 4. Accompanist: change virtual time() Primeira decisão: if (delta virtual time < min delta){ // 100ms, por exemplo // a mudança no relógio virtual é descartada. } Observações: resulta em uma leitura mais suave do acompanhamento; rppbodo@ime.usp.br (IME-USP) Novembro / 34
86 4. Accompanist: change virtual time() Primeira decisão: if (delta virtual time < min delta){ // 100ms, por exemplo // a mudança no relógio virtual é descartada. } Observações: resulta em uma leitura mais suave do acompanhamento; se o solista quiser realmente mudar de andamento a magnitude será muito maior. rppbodo@ime.usp.br (IME-USP) Novembro / 34
87 4. Accompanist: change virtual time() Quando a mudança de tempo solicitada é realmente processada temos 2 possibilidades: rppbodo@ime.usp.br (IME-USP) Novembro / 34
88 4. Accompanist: change virtual time() Quando a mudança de tempo solicitada é realmente processada temos 2 possibilidades: 1 o casamento está na sequência; rppbodo@ime.usp.br (IME-USP) Novembro / 34
89 4. Accompanist: change virtual time() Quando a mudança de tempo solicitada é realmente processada temos 2 possibilidades: 1 o casamento está na sequência; o Accompanist adquire mais confiança em relação à posição do músico na partitura rppbodo@ime.usp.br (IME-USP) Novembro / 34
90 4. Accompanist: change virtual time() Quando a mudança de tempo solicitada é realmente processada temos 2 possibilidades: 1 o casamento está na sequência; o Accompanist adquire mais confiança em relação à posição do músico na partitura 2 o casamento não está na sequência. rppbodo@ime.usp.br (IME-USP) Novembro / 34
91 4. Accompanist: change virtual time() Quando a mudança de tempo solicitada é realmente processada temos 2 possibilidades: 1 o casamento está na sequência; o Accompanist adquire mais confiança em relação à posição do músico na partitura 2 o casamento não está na sequência. a noção que o Accompanist tinha da posição do solista pode estar errada rppbodo@ime.usp.br (IME-USP) Novembro / 34
92 4. Accompanist: change virtual time() Quando o casamento está na sequência temos 2 casos: rppbodo@ime.usp.br (IME-USP) Novembro / 34
93 4. Accompanist: change virtual time() Quando o casamento está na sequência temos 2 casos: 1 o Accompanist está atrasado; rppbodo@ime.usp.br (IME-USP) Novembro / 34
94 4. Accompanist: change virtual time() Quando o casamento está na sequência temos 2 casos: 1 o Accompanist está atrasado; rapidamente toca os eventos pendentes para alcançar o músico rppbodo@ime.usp.br (IME-USP) Novembro / 34
95 4. Accompanist: change virtual time() Quando o casamento está na sequência temos 2 casos: 1 o Accompanist está atrasado; rapidamente toca os eventos pendentes para alcançar o músico 2 o Accompanist está adiantado. rppbodo@ime.usp.br (IME-USP) Novembro / 34
96 4. Accompanist: change virtual time() Quando o casamento está na sequência temos 2 casos: 1 o Accompanist está atrasado; rapidamente toca os eventos pendentes para alcançar o músico 2 o Accompanist está adiantado. continua a tocar as notas que já começou (respeitando as durações) e espera o solista alcançar o acompanhamento naquele ponto rppbodo@ime.usp.br (IME-USP) Novembro / 34
97 4. Accompanist: change virtual time() A heurística na sequência apresenta um problema quando o músico faz uma mudança drástica no tempo. rppbodo@ime.usp.br (IME-USP) Novembro / 34
98 4. Accompanist: change virtual time() A heurística na sequência apresenta um problema quando o músico faz uma mudança drástica no tempo. Verificação extra: if (delta virtual time > max delta){ // 2s, por exemplo // Accompanist pula diretamente para o novo ponto } rppbodo@ime.usp.br (IME-USP) Novembro / 34
99 4. Accompanist: change virtual time() Quando o casamento não está na sequência: rppbodo@ime.usp.br (IME-USP) Novembro / 34
100 4. Accompanist: change virtual time() Quando o casamento não está na sequência: sincronizamos com o músico imediatamente; rppbodo@ime.usp.br (IME-USP) Novembro / 34
101 4. Accompanist: change virtual time() Quando o casamento não está na sequência: sincronizamos com o músico imediatamente; tocamos as notas que deveriam estar soando naquele ponto da partitura; rppbodo@ime.usp.br (IME-USP) Novembro / 34
102 4. Accompanist: change virtual time() Quando o casamento não está na sequência: sincronizamos com o músico imediatamente; tocamos as notas que deveriam estar soando naquele ponto da partitura; pré-processar a partitura para calcular quantas notas deveriam estar soando para cada evento da partitura; rppbodo@ime.usp.br (IME-USP) Novembro / 34
103 4. Accompanist: change virtual time() Quando o casamento não está na sequência: sincronizamos com o músico imediatamente; tocamos as notas que deveriam estar soando naquele ponto da partitura; pré-processar a partitura para calcular quantas notas deveriam estar soando para cada evento da partitura; ler a partitura de trás para frente a partir do tempo virtual atual e interpretar n eventos note-on. rppbodo@ime.usp.br (IME-USP) Novembro / 34
104 4. Accompanist: change virtual time() Quando o casamento não está na sequência: sincronizamos com o músico imediatamente; tocamos as notas que deveriam estar soando naquele ponto da partitura; pré-processar a partitura para calcular quantas notas deveriam estar soando para cada evento da partitura; ler a partitura de trás para frente a partir do tempo virtual atual e interpretar n eventos note-on. ajustar o ponteiro de evolução do acompanhamento. rppbodo@ime.usp.br (IME-USP) Novembro / 34
105 4. Accompanist: adjust clock speed() Tarefa: manter o valor da velocidade do relógio virtual. rppbodo@ime.usp.br (IME-USP) Novembro / 34
106 4. Accompanist: adjust clock speed() Tarefa: manter o valor da velocidade do relógio virtual. v = velocidade na qual o acompanhamento está sendo tocado (em relação ao que está definido na partitura) rppbodo@ime.usp.br (IME-USP) Novembro / 34
107 4. Accompanist: adjust clock speed() Tarefa: manter o valor da velocidade do relógio virtual. v = velocidade na qual o acompanhamento está sendo tocado (em relação ao que está definido na partitura) v = velocidade na qual o solo está sendo tocado (em relação ao que está definido na partitura) rppbodo@ime.usp.br (IME-USP) Novembro / 34
108 4. Accompanist: adjust clock speed() Tarefa: manter o valor da velocidade do relógio virtual. v = velocidade na qual o acompanhamento está sendo tocado (em relação ao que está definido na partitura) v = velocidade na qual o solo está sendo tocado (em relação ao que está definido na partitura) A cada novo relato do Matcher temos um novo ponto no gráfico de tempo real vs. virtual. rppbodo@ime.usp.br (IME-USP) Novembro / 34
109 4. Accompanist: adjust clock speed() Primeira abordagem: v = deta tempo virtual deta tempo real Resultado: respostas instantâneas na execução do andamento. Problema: performances reais possuem variações locais de velocidade que não indicam variações no andamento. rppbodo@ime.usp.br (IME-USP) Novembro / 34
110 4. Accompanist: adjust clock speed() Segunda abordagem: interpolação dos últimos n pontos. Resultado: execução mais suave do acompanhamento. Problema (insignificante): custo computacional. rppbodo@ime.usp.br (IME-USP) Novembro / 34
111 4. Accompanist: adjust clock speed() Heurística 1: (IME-USP) Novembro / 34
112 4. Accompanist: adjust clock speed() Heurística 1: Quando ocorre um match fora de sequência, precisamos descartar a tabela atual. rppbodo@ime.usp.br (IME-USP) Novembro / 34
113 4. Accompanist: adjust clock speed() Heurística 1: Quando ocorre um match fora de sequência, precisamos descartar a tabela atual. Problema: rppbodo@ime.usp.br (IME-USP) Novembro / 34
114 4. Accompanist: adjust clock speed() Heurística 1: Quando ocorre um match fora de sequência, precisamos descartar a tabela atual. Problema: a velocidade não é ajustada enquanto a tabela não está cheia; rppbodo@ime.usp.br (IME-USP) Novembro / 34
115 4. Accompanist: adjust clock speed() Heurística 1: Quando ocorre um match fora de sequência, precisamos descartar a tabela atual. Problema: a velocidade não é ajustada enquanto a tabela não está cheia; a tabela pode demorar muito para ser preenchida; rppbodo@ime.usp.br (IME-USP) Novembro / 34
116 4. Accompanist: adjust clock speed() Heurística 1: Quando ocorre um match fora de sequência, precisamos descartar a tabela atual. Problema: a velocidade não é ajustada enquanto a tabela não está cheia; a tabela pode demorar muito para ser preenchida; o acompanhamento pode ultrapassar o músico. rppbodo@ime.usp.br (IME-USP) Novembro / 34
117 4. Accompanist: adjust clock speed() Heurística 1: Quando ocorre um match fora de sequência, precisamos descartar a tabela atual. Problema: a velocidade não é ajustada enquanto a tabela não está cheia; a tabela pode demorar muito para ser preenchida; o acompanhamento pode ultrapassar o músico. Solução: iremos atualizar a velocidade se a diferença entre o primeiro e o último ponto for maior que um limite (1s, por exemplo). rppbodo@ime.usp.br (IME-USP) Novembro / 34
118 4. Accompanist: adjust clock speed() Heurística 2: (IME-USP) Novembro / 34
119 4. Accompanist: adjust clock speed() Heurística 2: Quando o músico toca muito rápido, as notas desse trecho não são boas indicadoras de andamento. rppbodo@ime.usp.br (IME-USP) Novembro / 34
120 4. Accompanist: adjust clock speed() Heurística 2: Quando o músico toca muito rápido, as notas desse trecho não são boas indicadoras de andamento. Solução: não inserimos um valor novo se a diferença entre ele e o último ponto for menor do que um limite (200ms, por exemplo). rppbodo@ime.usp.br (IME-USP) Novembro / 34
121 4. Accompanist: adjust clock speed() Heurística 2: Quando o músico toca muito rápido, as notas desse trecho não são boas indicadoras de andamento. Solução: não inserimos um valor novo se a diferença entre ele e o último ponto for menor do que um limite (200ms, por exemplo). Heurística 3: rppbodo@ime.usp.br (IME-USP) Novembro / 34
122 4. Accompanist: adjust clock speed() Heurística 2: Quando o músico toca muito rápido, as notas desse trecho não são boas indicadoras de andamento. Solução: não inserimos um valor novo se a diferença entre ele e o último ponto for menor do que um limite (200ms, por exemplo). Heurística 3: Se o Macther não relatar mais nenhum casamento o Accompanist pode terminar o acompanhamento sozinho. rppbodo@ime.usp.br (IME-USP) Novembro / 34
123 4. Accompanist: adjust clock speed() Heurística 2: Quando o músico toca muito rápido, as notas desse trecho não são boas indicadoras de andamento. Solução: não inserimos um valor novo se a diferença entre ele e o último ponto for menor do que um limite (200ms, por exemplo). Heurística 3: Se o Macther não relatar mais nenhum casamento o Accompanist pode terminar o acompanhamento sozinho. Solução ( detecção de fuga ): o Accompanist para de tocar depois de um período (2s, por exemplo) após o tempo do próximo evento esperado. rppbodo@ime.usp.br (IME-USP) Novembro / 34
124 5. Atrasos nos relatos do Matcher (IME-USP) Novembro / 34
125 5. Atrasos nos relatos do Matcher o Accompanist tem alta confiança no Matcher; rppbodo@ime.usp.br (IME-USP) Novembro / 34
126 5. Atrasos nos relatos do Matcher o Accompanist tem alta confiança no Matcher; o Matcher relata um casamento toda vez que um novo evento gera um melhor casamento geral; rppbodo@ime.usp.br (IME-USP) Novembro / 34
127 5. Atrasos nos relatos do Matcher o Accompanist tem alta confiança no Matcher; o Matcher relata um casamento toda vez que um novo evento gera um melhor casamento geral; Problema: o Input Preprocessor pode deixar passar alguns ornamentos gerando casamentos errados. rppbodo@ime.usp.br (IME-USP) Novembro / 34
128 5. Atrasos nos relatos do Matcher Solução sugerida: (IME-USP) Novembro / 34
129 5. Atrasos nos relatos do Matcher Solução sugerida: o Matcher deve atrasar relatos de notas não consecutivas; rppbodo@ime.usp.br (IME-USP) Novembro / 34
130 5. Atrasos nos relatos do Matcher Solução sugerida: o Matcher deve atrasar relatos de notas não consecutivas; se a nota esperada aparecer (dentro de um tempo máximo permitido de atraso), o relato anterior é cancelado; rppbodo@ime.usp.br (IME-USP) Novembro / 34
131 5. Atrasos nos relatos do Matcher Solução sugerida: o Matcher deve atrasar relatos de notas não consecutivas; se a nota esperada aparecer (dentro de um tempo máximo permitido de atraso), o relato anterior é cancelado; caso contrário, ele é enviado para o Accompanist. rppbodo@ime.usp.br (IME-USP) Novembro / 34
132 5. Atrasos nos relatos do Matcher Compensação no tempo virtual: (IME-USP) Novembro / 34
133 That s all folks! The End! =) rppbodo@ime.usp.br (IME-USP) Novembro / 34
Algoritmos de acompanhamento musical para performances polifônicas
Algoritmos de acompanhamento musical para performances polifônicas Roberto Piassi Passos Bodo Instituto de Matemática e Estatística Universidade de São Paulo 24 de Setembro de 2013 O Artigo Real-Time Computer
Leia maisAcompanhamento Computacional Parte II. Mariana Zaparolli Martins Computação Musical IME USP
Acompanhamento Computacional Parte II Mariana Zaparolli Martins Computação Musical IME USP Roteiro Novas Técnicas para Aumentar a Qualidade do Acompanhamento Computacional Roger B. Dannenberg (Carnegie
Leia maisSistema de Acompanhamento Musical Automatizado
Sistema de Musical Automatizado Marcelo Queiroz Instituto de Matemática e Estatística Universidade de São Paulo 16 de Novembro de 2009 Sistema de Musical Automatizado Index Introdução 1 Introdução O Problema
Leia maisVISÃO COMPUTACIONAL. Marcelo Henrique dos Santos
VISÃO COMPUTACIONAL Marcelo Henrique dos Santos marcelosantos@outlook.com São Paulo SP, Agosto/2013 INTRODUÇÃO Processamento de imagens é um processo onde a entrada do sistema é uma imagem e a saída é
Leia maisRedes de Computadores
Redes de Computadores Prof. Marcelo Gonçalves Rubinstein Programa de Pós-Graduação em Engenharia Eletrônica Faculdade de Engenharia Universidade do Estado do Rio de Janeiro Ementa Introdução a Redes de
Leia mais6 Aplicações Detalhes da Implementação
6 Aplicações Neste trabalho, é importante implementar aplicações de interação em tempo real para que seja possível avaliar a aplicabilidade das técnicas de Visão Computacional descritas ao longo dos capítulos
Leia maisTécnicas determinísticas para acompanhamento musical automatizado. Roberto Piassi Passos Bodo
Técnicas determinísticas para acompanhamento musical automatizado Roberto Piassi Passos Bodo Dissertação apresentada ao Instituto de Matemática e Estatística da Universidade de São Paulo para obtenção
Leia maisAnálise de algoritmos
Análise de algoritmos SCE-181 Introdução à Ciência da Computação II Alneu Lopes Thiago A. S. Pardo 1 Algoritmo Noção geral: conjunto de instruções que devem ser seguidas para solucionar um determinado
Leia mais> Princípios de Contagem e Enumeração Computacional 1/13
Princípios de Contagem e Enumeração Computacional > Princípios de Contagem e Enumeração Computacional 1/13 Objetivos Contar/listar o número de elementos de conjuntos finitos Aplicações > Princípios de
Leia maisDepartamento de Electrónica, Telecomunicações e Informática. 1 Entrega do Trabalho e avaliação. 2 Sintetizador. Processamento Digital de Sinal
Departamento de Electrónica, Telecomunicações e Informática Processamento Digital de Sinal Trabalho Prático n o 1: Sintetizador de Música Neste trabalho pretende-se que os alunos construam um sintetizador
Leia maisRedes de Computadores
Redes de Computadores Camada de Transporte Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br Departamento de Ciência da Computação Universidade Federal de Minas Gerais UFMG/DCC Redes de Computadores
Leia maisCIC 110 Análise e Projeto de Algoritmos I
CIC 110 Análise e Projeto de Algoritmos I Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 09 Consultas de Intervalo Consulta de Intervalo Neste capítulo, discutimos estruturas
Leia maisÁrvores. SCC-214 Projeto de Algoritmos. Thiago A. S. Pardo. Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral
SCC-214 Projeto de Algoritmos Thiago A. S. Pardo Listas e árvores Listas lineares Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral Diversas aplicações necessitam de estruturas
Leia maisAlgoritmo da IFT 2 / 16. Algoritmo da IFT Estrutura da fila de prioridade Resolvendo empates. Algoritmo 1 Algoritmo geral da IFT
Transformada Imagem-Floresta (Estrutura de dados) Prof. Dr. Paulo A. V. de Miranda Instituto de Matemática e Estatística (IME), Universidade de São Paulo (USP) pmiranda@vision.ime.usp.br 1 / 16 Algoritmo
Leia maisCRONOMETRO PROFISSIONAL COM MEMÓRIA PARA 100 VOLTAS.
CRONOMETRO S26043 CRONOMETRO PROFISSIONAL COM MEMÓRIA PARA 100 VOLTAS. CARACTERÍSTICAS O seu cronometro TECHNOS ref. S26043 é um cronometro digital com caixa termoplástica, caracterizado pelas funções
Leia maisAlgoritmos Combinatórios: Introdução
lucia@site.uottawa.ca UFSC, Fevereiro, 2010 Estruturas e Problemas Combinatórios Introdução a Algoritmos Combinatórios O que são: Estruturas Combinatórias? Algoritmos Combinatórios? Problemas Combinatórios?
Leia maisTP 318 Introdução às Redes Multimídia
Especialização em Telecomunicações TP 318 Introdução às Redes Multimídia Prof. Antônio M. Alberti 1 AAL Tipo 1 Introdução Funções da SAR Protocolo da SAR Funções da CS para o Transporte de Circuitos Protocolo
Leia maisPor: Marcio Magalhães
1 Por: Marcio Magalhães 2 Teoria musical Conceito de escala A escala musical é o conjunto de todas as notas musicais incluindo os sustenidos e (ou) bemóis, organizadas de forma crescente do grave para
Leia maisFiguras Musicais Principais figuras musicais
Figuras Musicais Figuras musicais (ou figuras rítmicas) são símbolos utilizados para representar os tempos de uma música. Agora que já aprendemos a representação das notas na partitura, chegou a hora de
Leia mais7 Dicas de Como Ler e Aprender Partituras. Facilmente!
7 Dicas de Como Ler e Aprender Partituras Facilmente! Nesta apresentação, vou te mostrar 7 Dicas para aprender a ler e tocar partituras com fluência... Sem precisar ficar perdendo tempo fazendo coisas
Leia maisAnalógico vs Digital
Arquitectura de Computadores I Engenharia Informática (11537) Tecnologias e Sistemas de Informação (6616) Analógico vs Digital Nuno Pombo / Miguel Neto Arquitectura Computadores I 2014/2015 1 Os circuitos
Leia maisSISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Sincronização Slide 7 Nielsen C. Damasceno Introdução Utilizando Sistemas Distribuídos, uma grande dificuldade que temos é como garantir o acesso exclusivo a um recurso compartilhado,
Leia maisFísica I. Aula 02: Movimento Retilíneo. Tópico 02: Velocidade; Movimento Retilíneo Uniforme
Tópico 02: Velocidade; Movimento Retilíneo Uniforme Aula 02: Movimento Retilíneo Observe o movimento da tartaruga acima. Note que a cada segundo, ela anda 10cm e mantém sempre esse movimento. A velocidade
Leia maisModelos Fundamentais de um SD. Modelo de Interação ou Sincronismo
Modelos Fundamentais de um SD Modelo de Falhas Modelo de Interação ou Sincronismo Modelo de Segurança 1 Modelo de Avarias: Caracteriza o sistema em termos das falhas/avarias, i.e., dos desvios em relação
Leia maisTCP - formato do segmento. Formato do segmento TCP (fonte: Kurose)
TCP - formato do segmento Formato do segmento TCP (fonte: Kurose) TCP - formato do segmento Porta de origem (16 bits) Porta de destino (16 bits) Número de sequência (32 bits) Usado na implementação do
Leia maisProf. MSc. David Roza José 1/37
1/37 Métodos Abertos Objetivos: Reconhecer as diferenças entre os métodos intervalados e abertos para a localização de raízes; Compreender o método da iteração de ponto-fixo e avaliar suas características
Leia maisSincronização. Tempo e Relógios. Sincronização de Relógios - Algoritmo de Cristian - Algoritmo de Berkeley - Network Time Protocol
Sincronização Tempo e Relógios Sincronização de Relógios - Algoritmo de Cristian - Algoritmo de Berkeley - Network Time Protocol 1 Caso mais simples: Sincronização interna entre dois processos num sistema
Leia maisCircuitos sequenciais Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture
Capítulo 3 Circuitos sequenciais Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Objectivos Conhecer alguns dos principais circuitos digitais sequenciais
Leia maisAlgoritmos de Aprendizado
Algoritmos de Aprendizado Regra de Hebb Perceptron Delta Rule (Least Mean Square) Back Propagation Radial Basis Functions (RBFs) Competitive Learning Hopfield Algoritmos de Aprendizado Regra de Hebb Perceptron
Leia maisProva de Aferição de Educação Musical Prova 54 5.º Ano de Escolaridade 2018
Prova de Aferição de Educação Musical Prova 54 5.º Ano de Escolaridade 2018 Decreto-Lei n.º 17/2016, de 4 de abril Duração da Prova: 90 minutos. 6 Páginas Versão 1 Nos termos da lei em vigor, as provas
Leia maisPrincípio da Multiplicação Gerando todas as palavras de um alfabeto. > Princípios de Contagem e Enumeração Computacional 0/18
Conteúdo 1 Princípios de Contagem e Enumeração Computacional Princípio da Multiplicação Gerando todas as palavras de um alfabeto Permutações > Princípios de Contagem e Enumeração Computacional 0/18 Objetivos
Leia maisPython 3.x Estrutura de Repetição while
Python 3.x Estrutura de Repetição while Introdução à Ciência da Computação Prof. Edison Ishikawa Sumário Atribuição Atualizando variáveis Iterações Revisitando o laço for Laço while Rastreando um programa
Leia maisLinguagem de Maquina II. Visão Geral
Linguagem de Maquina II Visão Geral Revisão A linguagem de máquina é composta de seqüências binárias (1's e 0's) São interpretadas como instruções pelo hardware A linguagem de montagem e a linguagem de
Leia maisCapítulo 3. A camada de enlace de dados
slide 1 Capítulo 3 A camada de enlace de dados slide 2 Onde vive o protocolo de camada de enlace? slide 3 Questões de projeto da camada de enlace Serviços de rede da camada de enlace Quadros Controle de
Leia maisIntrodução às Medidas em Física a Aula
Introdução às Medidas em Física 4300152 6 a Aula Objetivos: Experiência IV: Movimento de Queda Estudar o movimento de queda de um objeto Medidas indiretas Medida da velocidade de um objeto Análise de dados
Leia maisApresentação da Disciplina
Apresentação da Disciplina Leandro Tonietto Computação Gráfica Curso de Jogos Digitais ltonietto@unisinos.br ago-2011 http://professor.unisinos.br/ltonietto/jed/cgr/cgr2012_01.html Agenda da 1ª aula Introdução
Leia mais5 Classificadores e Condicionadores de Tráfego
5 Classificadores e Condicionadores de Tráfego 46 5 Classificadores e Condicionadores de Tráfego 5.1. Classificadores e Condicionadores de tráfego O modelo DiffServ usa condicionadores de tráfego (Traffic
Leia maisRedes de Computadores
Redes de Computadores Camada de Transporte TCP Slide 1 TCP RFC s 793, 1122, 1323, 2018 e 2581; Orientado a conexão; Serviço full-duplex; Transmissão confiável de dados; Conexão ponto a ponto (apresentação
Leia maisMANUAL DE INSTALAÇÃO E USO
MANUAL DE INSTALAÇÃO E USO Sobre o Workrave Workrave É uma ferramenta que ajudar a organizar melhor seu expediente. O usuário poderá utilizar esse programa para estabelecer pausas para descanso ou exercícios
Leia maisFundamentos de Teste de Software
Núcleo de Excelência em Testes de Sistemas Fundamentos de Teste de Software Módulo 2- Teste Estático e Teste Dinâmico Aula 5 Técnicas de Especificação SUMÁRIO INTRODUÇÃO... 3 TÉCNICAS PARA PROJETO DE CASOS
Leia maisMATRIZES - PARTE Definição e Manipulação de Matrizes AULA 21
AULA 21 MATRIZES - PARTE 1 21.1 Definição e Manipulação de Matrizes Sabemos como definir variáveis de um novo tipo de dados, denominado vetor, que representam seqüências de valores de um mesmo tipo. Por
Leia maisMÚSICA. Transcreva o trecho musical I, por completo e sem rasura, para o pentagrama correspondente na folha de respostas, no espaço
INSTRUÇÕES 1 Este caderno é constituído de treze questões. 2 Caso o caderno de prova esteja incompleto ou tenha qualquer defeito, solicite ao fiscal de sala mais próximo que tome as providências cabíveis.
Leia maisCamada de Enlace de Dados
Camada de Enlace de Dados Camada de Enlace de Dados aborda algoritmos que permitem uma comunicação eficiente e confiável entre dois computadores adjacentes em nível da camada de enlace de dados (adjacentes
Leia maisTablaturas. O que são tablaturas? Como ler tablaturas?
Tablaturas O que são tablaturas? www.mauriciomasuda.com.br Tablatura é um método usado para transcrever música que pode ser tocada em instrumentos de corda como violões, guitarras e baixos. Ao contrário
Leia maisProtocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços
RTP Protocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços Identificação do tipo de carga útil (mídia) Números de sequência Estampa
Leia maisCEDERJ - CENTRO DE EDUCAÇÃO SUPERIOR A DISTÂNCIA DO ESTADO DO RIO DE JANEIRO
CEDERJ - CENTRO DE EDUCAÇÃO SUPERIOR A DISTÂNCIA DO ESTADO DO RIO DE JANEIRO MATERIAL DIDÁTICO IMPRESSO ORIENTAÇÔES PARA A ELABORAÇÃO DO PLANEJAMENTO DE UMA AULA CURSO: Física DISCIPLINA: Informática para
Leia maisArquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Unidade Central de Processamento (CPU) Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Baseado nos slides do capítulo
Leia maisSIFT - Scale Invariant Feature Transform
SIFT - Scale Invariant Feature Transform Daniel Pinto Coutinho Prof. Ricardo Marroquim 1 Introdução A detecção de pontos de interesse em uma figura é uma tarefa muito comum no campo de processamento de
Leia maisProva Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade
Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade Gustavo E.A.P.A. Batista 25 de janeiro de 2005 1 Contextualização 2 Caminhos Mínimos Caminhos Mínimos de uma Origem
Leia maisMedida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR
Medida do Tempo de Execução de um Programa David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Medida do Tempo de Execução de um Programa O projeto de algoritmos é fortemente influenciado pelo
Leia maisPROVA ESPECÍFICA MODELO. Duração da prova: 120 minutos
Página 1 de 10 Provas especialmente adequadas destinadas a avaliar a capacidade para a frequência do ensino superior dos maiores de 23 anos, Decreto-Lei n.º 64/2006, de 21 de Março AVALIAÇÃO DA CAPACIDADE
Leia maisVESTIBULAR MÚSICA
0 UNIVERSIDADE FEDERAL DE CAMPINA GRANDE PRÓ - REITORIA DE ENSINO COMISSÃO DE PROCESSOS VESTIBULARES UNIDADE ACADEMICA DE ARTE E MÍDIA VESTIBULAR 2013.2 TESTE DE HABILIDADE ESPECÍFICA MÚSICA CONQUISTE
Leia maisALGORITMOS AVANÇADOS UNIDADE I Análise de Algoritmo - Notação O. Luiz Leão
Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 1.1 - Algoritmo 1.2 - Estrutura de Dados 1.2.1 - Revisão de Programas em C++ envolvendo Vetores, Matrizes, Ponteiros, Registros
Leia maisTRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar
- Aula 1-1. A CAMADA DE ENLACE DE DADOS (Parte 1) Relembrando as aulas do semestre passado quando estudamos os modelos de referência, lembramos que a Camada de Enlace de Dados é a camada responsável pela
Leia maisMatemática Divertida. Triângulos Mágicos
Matemática Divertida Triângulos Mágicos ζ(s) = n=1 1 n s Prefácio Comecei a escrever esta série de livros intitulada Matemática Divertida, pois acredito que a matemática possa ser um agente de mudanças
Leia maisTransformada Imagem-Floresta (IFT)
Transformada Imagem-Floresta (IFT) Prof. Dr. Paulo A. V. de Miranda pmiranda@vision.ime.usp.br Instituto de Matemática e Estatística (IME), Universidade de São Paulo (USP) P.A.V. Miranda, aula 3 p. Caminhos
Leia mais3º Workshop de Modos Gregos Para Iniciantes PDF #2
3º Workshop de Modos Gregos Para Iniciantes PDF #2 Neste PDF: De 11 a 23 de Maio Por Emiliano Gomide Os 4 Passos Para Solar Com Modos Gregos Todo mundo pode solar com Modos Gregos. Até mesmo quem ainda
Leia maisSistemas Distribuídos Aula 15
Sistemas Distribuídos Aula 15 Aula passada Relacionando eventos Relógios lógicos Algoritmo de Lamport Propriedades Aula de hoje Limitação de Lamport Relógio de vetores Propriedades Garantindo ordenação
Leia maisInteligência Artificial. Prof. Tiago A. E. Ferreira Aula 4 Tipos de Agentes Inteligentes Racionais e Ambientes
Inteligência Artificial Prof. Tiago A. E. Ferreira Aula 4 Tipos de Agentes Inteligentes Racionais e Ambientes 1 Um programa de IA pode ser visto como um Agente Racional Plano da aula Ambientes e arquiteturas
Leia maisMáquinas de Estados Finitos. Aula 19 Prof. Abel Guilhermino
Máquinas de Estados Finitos Aula 19 Prof. Abel Guilhermino Definição Um sistema seqüencial deve ter a capacidade de capturar a influência de todas as entradas passadas sobre as saídas atuais e futuras.
Leia maisAnálise de Complexidade. Algoritmos e Estruturas de Dados Flavio Figueiredo (http://flaviovdf.github.io)
Análise de Complexidade Algoritmos e Estruturas de Dados 2 2017-1 Flavio Figueiredo (http://flaviovdf.github.io) 1 Lembrando da aula passada Criamos um Banco Simples TAD para Conta Corrente 2 conta_bancaria.h
Leia maisCompressão de Textos. Introdução. Introdução. Introdução. O volume de informação textual disponível on-line é imenso:
Compressão de Textos Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM O volume
Leia maisImplementação de uma rotina para seguir um segmento de reta (FollowLine)
Faculdade de Engenharia da Universidade do Porto Implementação de uma rotina para seguir um segmento de reta (FollowLine) Sandro Augusto Costa Magalhães Tiago José Ferreira Mendonça VERSÃO FINAL Trabalho
Leia maisMIDI. conceitos básicos. Prof. Evandro Manara Miletto IFRS Campus Porto Alegre
MIDI conceitos básicos Prof. Evandro Manara Miletto IFRS Campus Porto Alegre sumário Termos e conceitos básicos conexões midi MIDI e os Computadores Instrumentos Musicais Aplicativos MIDI Arquivos e formatos
Leia maisProva de Aferição de Educação Musical Prova 54 5.º Ano de Escolaridade 2018
Prova de Aferição de Educação Musical Prova 54 5.º Ano de Escolaridade 2018 Decreto-Lei n.º 17/2016, de 4 de abril Duração da Prova: 90 minutos. 6 Páginas Versão 2 Nos termos da lei em vigor, as provas
Leia maisSUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca
ÁRVORES SUMÁRIO Fundamentos Árvores Binárias Árvores Binárias de Busca 2 ÁRVORES Utilizadas em muitas aplicações Modelam uma hierarquia entre elementos árvore genealógica Diagrama hierárquico de uma organização
Leia maiscadeia de caracteres (string) INF Programação I Prof. Roberto Azevedo
cadeia de caracteres (string) INF1005 -- Programação I -- 2016.1 Prof. Roberto Azevedo razevedo@inf.puc-rio.br cadeia de caracteres (string) tópicos caracteres cadeia de caracteres referência Capítulo
Leia maisProjecto Final SINTETIZADOR MIDI POR RS232
Departamento de Engenharia Electrotécnica e de Computadores Universidade de Coimbra Projecto de Sistemas Digitais Projecto Final SINTETIZADOR MIDI POR RS232 André Alexandre Gaspar da Silva - 2011154329
Leia mais5 Resultados Experimentais
5 Resultados Experimentais Neste capítulo são apresentados alguns testes realizados tendo em vista julgar a aplicação desenvolvida em algumas das situações em que ela possa vir a ser utilizada, assim como
Leia mais4 Detecção de Silhueta
4 Detecção de Silhueta No decorrer deste capítulo é proposto um modelo de detecção da silhueta da mão capaz de lidar com os erros da segmentação e ruídos na sua morfologia. Num primeiro passo são considerados
Leia maisIntrodução à Ciência da Computação II
Introdução à Ciência da Computação II Análise de Algoritmos: Parte I Prof. Ricardo J. G. B. Campello Este material consiste de adaptações e extensões de slides disponíveis em http://ww3.datastructures.net
Leia maisProtocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços
RTP Protocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços Identificação do tipo de carga útil (mídia) Números de sequência Estampa
Leia mais5. Invólucros Convexos no Plano
5. Invólucros Convexos no Plano Antonio L. Bajuelos Departamento de Matemática Universidade de Aveiro Mestrado em Matemática e Aplicações Problema: uma primeira abordagem Definição do Problema: Dado: um
Leia maisCálculo Numérico Noções básicas sobre erros
Cálculo Numérico Noções básicas sobre erros Profa. Vanessa Rolnik 1º semestre 2015 Fases da resolução de problemas através de métodos numéricos Problema real Levantamento de Dados Construção do modelo
Leia maisDurante a evolução das arquiteturas de computadores e principalmente dos Sistemas Operacionais, muitas tecnologias tiveram que ser aprimoradas para
UM ESTUDO SOBRE O MECANISMO DE PAGINAÇÃO DE MEMÓRIA E OS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS FIFO E LRU Fernando Sales Ferreira, fernandobrabat@hotmail.com William Antônio Faria Da Silva, William_8716@hotmail.com
Leia maisCódigos de Detecção de Erros 2ª. parte. Prof. Ricardo de O. Duarte DECOM - UFOP
Códigos de Detecção de Erros 2ª. parte Prof. Ricardo de O. Duarte DECOM - UFOP Códigos de Checksum Principais características: Código separável. Usados em Pen-drives, HDs, Floppy Disks, Redes. Código Não
Leia maisEstatística e Modelos Probabilísticos - COE241
Estatística e Modelos Probabilísticos - COE241 Aula passada Algoritmo para simular uma fila Medidas de interesse Média amostral Aula de hoje Teorema do Limite Central Intervalo de Confiança Variância amostral
Leia maisLançamento Oblí quo - RA
Lançamento Oblí quo - RA Raryel C. Souza, Claudio Kirner DMC Depto. de Matemática e Computação UNIFEI Universidade Federal de Itajubá E-mails: {raryel.costa, ckirner}@gmail.com 1 Visão Geral O ensino e
Leia maisAnálise e Técnicas de Algoritmos
Análise e Técnicas de Algoritmos Prof. Jorge Figueiredo http://www.dsc.ufcg.edu.br/~abrantes/atal032.html Jorge Figueiredo Aula 1-1 Agenda Apresentação do curso Motivação Introdução informal Jorge Figueiredo
Leia maisMedida do Tempo de Execução de um Programa. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP
Medida do Tempo de Execução de um Programa Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Medida do Tempo de Execução de um Programa O projeto de algoritmos é fortemente influenciado pelo estudo
Leia maisFUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5. Cristina Boeres
FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5 Cristina Boeres Introdução! Diferença de velocidade entre Processador e MP O processador executa uma operação rapidamente e fica em
Leia maisNoções de Simulação. Ciências Contábeis - FEA - Noturno. 2 o Semestre MAE0219 (IME-USP) Noções de Simulação 2 o Semestre / 23
Noções de Simulação Ciências Contábeis - FEA - Noturno 2 o Semestre 2013 MAE0219 (IME-USP) Noções de Simulação 2 o Semestre 2013 1 / 23 Objetivos da Aula Sumário 1 Objetivos da Aula 2 Motivação 3 Geração
Leia maisAlgoritmos e Estruturas de Dados I Prof. Tiago Eugenio de Melo
Algoritmos e Estruturas de Dados I Prof. Tiago Eugenio de Melo tmelo@uea.edu.br www.tiagodemelo.info Observações O conteúdo dessa aula é parcialmente proveniente do Capítulo 11 do livro Fundamentals of
Leia maisRallyde Regularidade. Princípios Básicos de Navegação.
Rallyde Regularidade Princípios Básicos de Navegação Introdução Objetivo: Percorrer o trecho definido em velocidade ou tempos pré-estabelecidos. Recursos permitidos:carro com velocímetro e odômetrooriginais
Leia maisAnálise de algoritmos. Parte I
Análise de algoritmos Parte I 1 Recursos usados por um algoritmo Uma vez que um procedimento está pronto/disponível, é importante determinar os recursos necessários para sua execução Tempo Memória Qual
Leia maisVERIFICAÇÃO & VALIDAÇÃO
VERIFICAÇÃO & VALIDAÇÃO Validação: Estamos construindo o produto certo? Verificação envolve checar se o software cumpre com suas especificações. Verificação: Estamos construindo certo o produto? Validação
Leia mais01 Análise de Algoritmos (parte 2) SCC201/501 - Introdução à Ciência de Computação II
01 Análise de Algoritmos (parte 2) SCC201/501 - Introdução à Ciência de Computação II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2010/2 Moacir
Leia maisCCM0128 Computação II
CCM0128 Computação II Departamento de Ciência da Computação IME-USP Curso de Ciências Moleculares Turma 22 Primeiro Semestre de 2013 Primeiro Exercício-Programa Data de entrega: até 2 de abril de 2013.
Leia mais> Princípios de Contagem e Enumeração Computacional 0/19
Conteúdo 1 Princípios de Contagem e Enumeração Computacional Permutações Combinações > Princípios de Contagem e Enumeração Computacional 0/19 Permutações Utilizamos P(n, r) para denotar o número de sequências
Leia maisAlgoritmos para resolução de problemas de minimização irrestrita
Algoritmos para resolução de problemas de minimização irrestrita Marina Andretta ICMC-USP 10 de agosto de 2010 Marina Andretta (ICMC-USP) sme0212 - Otimização não-linear 10 de agosto de 2010 1 / 16 Algoritmos
Leia maisRecursividade, Tentativa e Erro
Recursividade, Tentativa e Erro Túlio Toffolo www.toffolo.com.br Marco Antônio Carvalho marco.opt@gmail.com BCC402 Aula 07 Algoritmos e Programação Avançada Na aula anterior Prova 2 Na aula de hoje Técnicas
Leia maisHydroExpert. Manual de criação de tendências em planilhas. HydroByte Software
HydroExpert Manual de criação de tendências em planilhas HydroByte Software Agosto 2015 HydroByte Software www.hydrobyte.com.br Manual da representação matemática e computacional do recurso de criação
Leia maisCaracteres e Cadeias de Caracteres
Caracteres e Cadeias de Caracteres INF1005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC 1 caracteres e cadeias de caracteres tópicos caracteres cadeias de caracteres (strings) vetor
Leia maisMultiplexação por Divisão de Tempo UNIP. Renê Furtado Felix.
Multiplexação por Divisão de Tempo UNIP rffelix70@yahoo.com.br Comunicação Serial Como funciona a comunicação serial? Você sabe que a maioria dos PCs têm portas seriais e paralelas. Você também sabe que
Leia maisSeleção de Problemas:
2º Contest Noturno 18 de Julho 2013 Servidor CD MOJ: https://www.brunoribas.com.br/~moj/ Seleção de Problemas: Bruno Ribas 1 Estou com sorte! Problema: A Código Fonte: sorte.{c,cpp,pas,java} Google é um
Leia maisÁrvores Binárias. Disciplina de Algoritmos e Estrutura de Dados III. Prof. Marcos Antonio Schreiner 17/03/2015
Árvores Binárias Disciplina de Algoritmos e Estrutura de Dados III Prof. Marcos Antonio Schreiner 17/03/2015 1 Introdução Árvore binárias são estruturas importantes toda vez que uma decisão binária deve
Leia maisBit (Binary Digit) é a menor unidade de armazenamento de informação dentro do computador; Byte é a união de 8 bits capaz de representar 256
Bit (Binary Digit) é a menor unidade de armazenamento de informação dentro do computador; Byte é a união de 8 bits capaz de representar 256 informações diferentes; Tipos Primitivos são implementados nas
Leia maisListas - Outras. Listas Circulares Nós Cabeça Listas Duplamente Ligadas/Encadeadas Aplicações
Listas - Outras Listas Circulares Nós Cabeça Listas Duplamente Ligadas/Encadeadas Aplicações 5 e 7/10/2010 Listas Circulares Encadeadas Dinâmicas Se o nó next do último nó apontar para o primeiro, teremos
Leia maisSeVEM - Separador de Vozes em Execuções Musicais Polifônicas
SeVEM - Separador de Vozes em Execuções Musicais Polifônicas Rodolfo Daniel Wulfhorst, Eloi Fritsch, Rosa Maria Vicari Instituto de Informática Universidade Federal do Rio Grande do Sul (UFRGS) Caixa Postal
Leia maisMétodos Numéricos - Notas de Aula
Métodos Numéricos - Notas de Aula Prof a Olga Regina Bellon Junho 2007 1. Representação de números reais 1.1. Introdução Cálculo Numérico X Método Numérico CI202 - Métodos Numéricos 1 1. Representação
Leia mais