Técnicas de aprimoramento de um sistema de acompanhamento musical

Tamanho: px
Começar a partir da página:

Download "Técnicas de aprimoramento de um sistema de acompanhamento musical"

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 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 mais

Acompanhamento Computacional Parte II. Mariana Zaparolli Martins Computação Musical IME USP

Acompanhamento 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 mais

Sistema de Acompanhamento Musical Automatizado

Sistema 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 mais

VISÃO COMPUTACIONAL. Marcelo Henrique dos Santos

VISÃ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 mais

Redes de Computadores

Redes 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 mais

6 Aplicações Detalhes da Implementação

6 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 mais

Técnicas determinísticas para acompanhamento musical automatizado. Roberto Piassi Passos Bodo

Té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 mais

Análise de algoritmos

Aná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 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 mais

Departamento 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. 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 mais

Redes de Computadores

Redes 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 mais

CIC 110 Análise e Projeto de Algoritmos I

CIC 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

Á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 mais

Algoritmo da IFT 2 / 16. Algoritmo da IFT Estrutura da fila de prioridade Resolvendo empates. Algoritmo 1 Algoritmo geral da IFT

Algoritmo 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 mais

CRONOMETRO PROFISSIONAL COM MEMÓRIA PARA 100 VOLTAS.

CRONOMETRO 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 mais

Algoritmos Combinatórios: Introdução

Algoritmos 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 mais

TP 318 Introdução às Redes Multimídia

TP 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 mais

Por: Marcio Magalhães

Por: 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 mais

Figuras Musicais Principais figuras musicais

Figuras 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 mais

7 Dicas de Como Ler e Aprender Partituras. Facilmente!

7 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 mais

Analógico vs Digital

Analó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 mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS 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 mais

Física I. Aula 02: Movimento Retilíneo. Tópico 02: Velocidade; Movimento Retilíneo Uniforme

Fí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 mais

Modelos Fundamentais de um SD. Modelo de Interação ou Sincronismo

Modelos 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 mais

TCP - formato do segmento. Formato do segmento TCP (fonte: Kurose)

TCP - 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 mais

Prof. MSc. David Roza José 1/37

Prof. 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 mais

Sincronizaçã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 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 mais

Circuitos sequenciais Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture

Circuitos 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 mais

Algoritmos de Aprendizado

Algoritmos 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 mais

Prova 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 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 mais

Princípio da Multiplicação Gerando todas as palavras de um alfabeto. > Princípios de Contagem e Enumeração Computacional 0/18

Princí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 mais

Python 3.x Estrutura de Repetição while

Python 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 mais

Linguagem de Maquina II. Visão Geral

Linguagem 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 mais

Capítulo 3. A camada de enlace de dados

Capí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 mais

Introdução às Medidas em Física a Aula

Introduçã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 mais

Apresentação da Disciplina

Apresentaçã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 mais

5 Classificadores e Condicionadores de Tráfego

5 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 mais

Redes de Computadores

Redes 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 mais

MANUAL DE INSTALAÇÃO E USO

MANUAL 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 mais

Fundamentos de Teste de Software

Fundamentos 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 mais

MATRIZES - PARTE Definição e Manipulação de Matrizes AULA 21

MATRIZES - 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 mais

MÚSICA. Transcreva o trecho musical I, por completo e sem rasura, para o pentagrama correspondente na folha de respostas, no espaço

MÚ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 mais

Camada de Enlace de Dados

Camada 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 mais

Tablaturas. O que são tablaturas? Como ler tablaturas?

Tablaturas. 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 mais

Protocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços

Protocolo 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 mais

CEDERJ - 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 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 mais

Arquitetura e Organização de Computadores

Arquitetura 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 mais

SIFT - Scale Invariant Feature Transform

SIFT - 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 mais

Prova 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 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 mais

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. 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 mais

PROVA ESPECÍFICA MODELO. Duração da prova: 120 minutos

PROVA 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 mais

VESTIBULAR MÚSICA

VESTIBULAR 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 mais

ALGORITMOS AVANÇADOS UNIDADE I Análise de Algoritmo - Notação O. Luiz Leão

ALGORITMOS 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 mais

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

TRANSMISSÃ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 mais

Matemática Divertida. Triângulos Mágicos

Matemá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 mais

Transformada Imagem-Floresta (IFT)

Transformada 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 mais

3º Workshop de Modos Gregos Para Iniciantes PDF #2

3º 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 mais

Sistemas Distribuídos Aula 15

Sistemas 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 mais

Inteligê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 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 mais

Máquinas de Estados Finitos. Aula 19 Prof. Abel Guilhermino

Má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 mais

Análise de Complexidade. Algoritmos e Estruturas de Dados Flavio Figueiredo (http://flaviovdf.github.io)

Aná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 mais

Compressão de Textos. Introdução. Introdução. Introdução. O volume de informação textual disponível on-line é imenso:

Compressã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 mais

Implementação de uma rotina para seguir um segmento de reta (FollowLine)

Implementaçã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 mais

MIDI. conceitos básicos. Prof. Evandro Manara Miletto IFRS Campus Porto Alegre

MIDI. 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 mais

Prova 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 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 mais

SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca

SUMÁ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 mais

cadeia de caracteres (string) INF Programação I Prof. Roberto Azevedo

cadeia 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 mais

Projecto Final SINTETIZADOR MIDI POR RS232

Projecto 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 mais

5 Resultados Experimentais

5 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 mais

4 Detecção de Silhueta

4 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 mais

Introdução à Ciência da Computação II

Introduçã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 mais

Protocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços

Protocolo 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 mais

5. Invólucros Convexos no Plano

5. 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 mais

Cálculo Numérico Noções básicas sobre erros

Cá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 mais

Durante a evolução das arquiteturas de computadores e principalmente dos Sistemas Operacionais, muitas tecnologias tiveram que ser aprimoradas para

Durante 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 mais

Có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 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 mais

Estatística e Modelos Probabilísticos - COE241

Estatí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 mais

Lançamento Oblí quo - RA

Lanç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 mais

Análise e Técnicas de Algoritmos

Aná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 mais

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. 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 mais

FUNDAMENTOS 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 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 mais

Noçõ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 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 mais

Algoritmos e Estruturas de Dados I Prof. Tiago Eugenio de Melo

Algoritmos 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 mais

Rallyde Regularidade. Princípios Básicos de Navegação.

Rallyde 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 mais

Análise de algoritmos. Parte I

Aná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 mais

VERIFICAÇÃO & VALIDAÇÃO

VERIFICAÇÃ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 mais

01 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 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 mais

CCM0128 Computação II

CCM0128 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

> 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 mais

Algoritmos para resolução de problemas de minimização irrestrita

Algoritmos 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 mais

Recursividade, Tentativa e Erro

Recursividade, 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 mais

HydroExpert. Manual de criação de tendências em planilhas. HydroByte Software

HydroExpert. 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 mais

Caracteres e Cadeias de Caracteres

Caracteres 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 mais

Multiplexação por Divisão de Tempo UNIP. Renê Furtado Felix.

Multiplexaçã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 mais

Seleção de Problemas:

Seleçã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 Á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 mais

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

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 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 mais

Listas - 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 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 mais

SeVEM - Separador de Vozes em Execuções Musicais Polifônicas

SeVEM - 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 mais

Métodos Numéricos - Notas de Aula

Mé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