41 |
Técnicas determinísticas para acompanhamento musical automatizado / Deterministic techniques for automated musical accompanimentRoberto Piassi Passos Bodo 08 December 2015 (has links)
Sistemas de acompanhamento musical automatizado são de grande utilidade como ferramentas didáticas. Com eles, um aluno de música consegue ensaiar uma peça musical sendo acompanhado pelo computador, com a liberdade de tocar na velocidade em que desejar e, além disso, de cometer erros acidentais ou desvios intencionais em relação ao esperado (definido em partitura). Um sistema de acompanhamento musical deve ter as habilidades de analisar a execução ao vivo de um músico (pré-processador da entrada), comparar os eventos recebidos com os de uma partitura pré-carregada (rastreador), gerar o acompanhamento conforme o andamento inferido (acompanhador) e sintetizar os sons relativos a esse acompanhamento (sintetizador). O trabalho apresentado neste texto consistiu em estudar diversas técnicas relativas ao problema de acompanhamento musical, implementar alguns algoritmos baseados na literatura abordada, validar a qualidade obtida com tais algoritmos e disponibilizar um sistema de código aberto modular com mais de uma alternativa de algoritmo para cada módulo. Além disso, foi desenvolvido um elemento adicional para o sistema - o MetaRastreador - que combina todas as técnicas de rastreamento implementadas, executando-as em paralelo e obtendo uma maior confiabilidade nas informações extraídas da entrada, considerando diversas opiniões diferentes sobre a posição do músico na partitura. / Automated musical accompaniment systems are very useful as didactic tools. With them, a music student can rehearse a musical piece being accompanied by the computer, with the freedom to play at the desired speed and, moreover, to perform accidental errors or intentional deviations from the expected (defined by a musical score). A musical accompaniment system should have the skills to analyze the live performance of a musician (input preprocessor), compare the events received with those of a preloaded score (matcher), generate the accompaniment according to the inferred tempo (accompaniment), and synthesize the sounds related to this accompaniment (synthesizer). The work presented in this text consisted of studying several techniques related to the musical accompaniment problem, implementing some algorithms based on the literature, validating the quality obtained with such algorithms, and providing a modular open source system with more than one alternative algorithm for each module. Furthermore, an additional element was developed for the system - the MetaMatcher - that combines all the tracking techniques implemented by running them in parallel and obtaining a greater reliability in the information extracted from the input, considering several different opinions about the position of the musician in the musical score.
|
42 |
Um arcabouço para construção de sistemas multiagentes musicais / A framework for implementing musical multiagent systemsLeandro Ferrari Thomaz 13 June 2011 (has links)
A área de sistemas multiagentes é um promissor domínio tecnológico para uso em performances musicais interativas. Em trabalhos recentes, essa tecnologia vem sendo utilizada para resolver problemas musicais de escopo específico e alcance limitado, como a detecção de pulsação, a simulação de instrumentos e o acompanhamento musical automático. Neste trabalho, apresentamos uma taxonomia desses sistemas multiagentes musicais e uma arquitetura e implementação de um arcabouço computacional que generaliza os trabalhos anteriores e aborda problemas usuais como a sincronização em tempo real, a comunicação sonora e a mobilidade espacial dos agentes. Através do arcabouço, um usuário pode desenvolver um sistema multiagente musical focado em suas necessidades musicais, enquanto deixa grande parte dos problemas técnicos a cargo do arcabouço. Para validar o arcabouço, implementamos e discutimos dois estudos de caso que exploram diversos aspectos de um sistema multiagente musical, como a comunicação simbólica, a troca de áudio digital, o uso de trajetórias espaciais, a simulação acústica e conceitos de vida artificial, como códigos genéticos e reprodução, demonstrando a usabilidade do arcabouço em uma grande variedade de aplicações musicais. / Multiagent system technology is a promising new venue for interactive musical performance. In recent works, this technology has been tailored to solve specific, limited scope musical problems, such as pulse detection, instrument simulation or automatic accompaniment. In this work, we pre- sent a taxonomy of such musical multiagent systems, and an implementation of a computational framework that subsumes previous works and addresses general-interest low-level problems such as real-time synchronization, sound communication and spatial agent mobility. By using it, a user may develop a musical multiagent system focusing primarily in his/her musical needs, while leaving most of the technical problems to the framework. To validate this framework, we implemented and discussed two cases studies that explored several aspects of musical multiagent systems, such as symbolic and audio communication, spatial trajectories and acoustical simulation, and artificial life concepts, like genetic codes and reproduction, thus indicating the usefulness of this framework in a variety of musical applications.
|
43 |
Raciocínio de agentes musicais composição algorítmica, vida artificial e interatividade em sistemas multiagentes musicais / Musical agents reasoning, algorithmic composition, artificial life and interactivity in multiagent musical systemsSantiago David Davila Benavides 03 September 2012 (has links)
Os múltiplos trabalhos de sistemas multiagentes musicais realizados nos últimos anos demonstram o interesse crescente na pesquisa de sistemas de composição e de performance musical que utilizem a tecnologia de agentes computacionais, sendo que apresentam um interesse maior por aqueles sistemas que integram técnicas de composição algorítmica, componentes de vida artificial e interatividade. Observamos também que a maioria dos trabalhos existentes apresentam muitas limitações em termos de escopo e flexibilidade, normalmente apresentando codificação musical simbólica e a resolução de um único problema, sendo que a motivação é mais técnica do que musical. Nesse contexto, surgem arcabouços voltados à criação de sistemas multiagentes musicais, como o Ensemble e o Interactive Swarm Orchestra, oferecendo flexibilidade para a modelagem e implementação de sistemas desse tipo, diversificando tanto os tipos de aplicação, tendo um propósito composicional ou performático, como os tipos de codificação musical que podem ser utilizados. Partimos da aparição dessas ferramentas para estudar o agente musical a partir de uma perspectiva interna, focando nos seus raciocínios, que são processos que definem o comportamento do agente no ambiente virtual do sistema e que são fundamentais para determinar e melhorar o seu valor composicional. Os arcabouços estudados se diferenciam por permitir a utilização de áudio como possível formato de codificação musical, o aproveitamento da espacialização sonora e a exploração da interatividade nos aplicativos, seja esta apenas entre agentes computacionais ou entre agentes e usuários humanos. Pretendemos portanto, nessa pesquisa, abordar sistemas com essas características. Através de extensões nos arcabouços e estudos de caso com motivação estética pretendemos dar continuidade a esses projetos e ao mesmo tempo validar e divulgar a sua utilização entre os potenciais usuários das ferramentas, como compositores, músicos interessados em performance e outros entusiastas dos sistemas musicais interativos. / Multiple musical multiagent systems have been developed in the last years proving the increasing interest in composition and musical performance systems that exploit intelligent agents technology. Theres an special focus on systems that integrate algorithmic composition techniques, artificial life and interactivity. We can also observe that most of these existing projects show many flexibility and scope limitations, as they normally use symbolic musical notation and they solve a single issue or scenario, as well as they have a technical motivation rather than a musical one. In that context, some musical multiagent systems frameworks as Ensemble and Interactive Swarm Orchestra emerge, trying to help the modeling and development of this kind of musical systems, diversifying the applications\' types, as they can be composition problems or musical performances, and allowing the inclusion of other kind of musical content communication. Through these new tools we study the musical agent from an internal perspective, focusing on its reasoning components, processes that define the behavior of an agent on its system\'s virtual environment and that are essential to determine and improve its compositional value. The studied frameworks show unique features as they support audio as a possible musical notation format; they exploit sound spatialization and they work with interactivity in their applications, including agent-to-agent or human-to-agent interaction. We will explore this type of systems on this research. Through framework extensions and aesthetics-oriented study cases we pretend to continue these projects and validate them at same time. We also will contact potential users for these tools, as composers and musicians interested in performances or other musical interactive systems enthusiasts.
|
44 |
Performances musicais distribuídas através de Internet residencial / Network music performance over the residential InternetMarcio Masaki Tomiyoshi 27 May 2013 (has links)
A ideia de se permitir que diversos músicos possam interagir remotamente utilizando-se de redes de computadores não é nova, mas nunca se popularizou. O que antes era limitado tecnologicamente devido às condições disponibilizadas por conexões de internet pela linha telefônica, hoje apresenta-se muito mais viável tecnicamente com a massicação da internet de banda larga, seja por cabo ou por tecnologias DSL. Apesar disso, encontrar um ambiente virtual em que a performance musical pareça completamente natural para o músico é uma das maiores diculdades nesta área. Embora a latência obtida na conexão entre computadores esteja vinculada principalmente à distância entre os usuários e à qualidade do serviço oferecido pelos provedores de internet, outros aspectos, como a largura de banda, podem ser controlados pelo software. Para lidar com as limitações de largura de banda no acesso à internet disponíveis comercialmente, um método de compactação de áudio eciente e que alie baixa latência algorítmica com alta qualidade sonora é imprescindível. Para evitar que atrasos muito grandes na transmissão do áudio impossibilitem uma interação musical entre os participantes, uma técnica em que a própria resposta sonora do instrumento seja atrasada localmente torna-se uma alternativa válida na busca de um ambiente para performances musicais via rede. Esta dissertação busca apresentar uma alternativa exível e de fácil utilização para que a realização de performances musicais distribuídas por usuários caseiros seja possível, mesmo que estes não tenham acesso a redes dedicadas para tal nalidade. / The idea of allowing several musicians to interact remotely using computer networks is not new but it never became popular. What was once technologically limited because of the conditions available through dial up internet connections is now much more technically feasible with the massication of the broadband internet, whether by cable or by DSL technologies. In spite of that, nding a place where the music performance feels completely natural to the musicians is still one of the biggest challenges in this area. Even though the latency obtained in the connection between computers is mainly linked to the distance between users and to the quality of the service oered by internet providers, others aspects, like the network bandwidth, can be controlled by software. To deal with the limitations on the internet bandwidth commercially available, an ecient audio coding method that has both low algorithmic latency and high sound quality becomes essential. To avoid letting large audio transmission delays make it impossible for players to have a real musical interaction, a technique where the musical instruments own feedback is locally delayed represents a viable alternative in search of a favorable environment for network music performances. This project aims to oer a exible and easy-to-use alternative so that it is possible for home users to be part of network music performances even if they do not have access to networks dedicated to this end.
|
45 |
"Processamento distribuído de áudio em tempo real" / "Distributed Real-Time Audio Processing"Lago, Nelson Posse 04 June 2004 (has links)
Sistemas computadorizados para o processamento de multimídia em tempo real demandam alta capacidade de processamento. Problemas que exigem grandes capacidades de processamento são comumente abordados através do uso de sistemas paralelos ou distribuídos; no entanto, a conjunção das dificuldades inerentes tanto aos sistemas de tempo real quanto aos sistemas paralelos e distribuídos tem levado o desenvolvimento com vistas ao processamento de multimídia em tempo real por sistemas computacionais de uso geral a ser baseado em equipamentos centralizados e monoprocessados. Em diversos sistemas para multimídia há a necessidade de baixa latência durante a interação com o usuário, o que reforça ainda mais essa tendência para o processamento em um único nó. Neste trabalho, implementamos um mecanismo para o processamento síncrono e distribuído de áudio com características de baixa latência em uma rede local, permitindo o uso de um sistema distribuído de baixo custo para esse processamento. O objetivo primário é viabilizar o uso de sistemas computacionais distribuídos para a gravação e edição de material musical em estúdios domésticos ou de pequeno porte, contornando a necessidade de hardware dedicado de alto custo. O sistema implementado consiste em duas partes: uma, genérica, implementada sob a forma de um middleware para o processamento síncrono e distribuído de mídias contínuas com baixa latência; outra, específica, baseada na primeira, voltada para o processamento de áudio e compatível com aplicações legadas através da interface padronizada LADSPA. É de se esperar que pesquisas e aplicações futuras em que necessidades semelhantes se apresentem possam utilizar o middleware aqui descrito para outros tipos de processamento de áudio bem como para o processamento de outras mídias, como vídeo. / Computer systems for real-time multimedia processing require high processing power. Problems that depend on high processing power are usually solved by using parallel or distributed computing techniques; however, the combination of the difficulties of both real-time and parallel programming has led the development of applications for real-time multimedia processing for general purpose computer systems to be based on centralized and single-processor systems. In several systems for multimedia processing, there is a need for low latency during the interaction with the user, which reinforces the tendency towards single-processor development. In this work, we implemented a mechanism for synchronous and distributed audio processing with low latency on a local area network which makes the use of a low cost distributed system for this kind of processing possible. The main goal is to allow the use of distributed systems for recording and editing of musical material in home and small studios, bypassing the need for high-cost equipment. The system we implemented is made of two parts: the first, generic, implemented as a middleware for synchronous and distributed processing of continuous media with low latency; and the second, based on the first, geared towards audio processing and compatible with legacy applications based on the standard LADSPA interface. We expect that future research and applications that share the needs of the system developed here make use of the middleware we developed, both for other kinds of audio processing as well as for the processing of other media forms, such as video.
|
46 |
An efficient GPU-based implementation of recursive linear filters and its application to realistic real-time re-synthesis for interactive virtual worlds / Uma implementação eficiente de filtros lineares recursivos e sua aplicação a re-síntese realistica em tempo real para mundos virtuais interativosTrebien, Fernando January 2009 (has links)
Muitos pesquisadores têm se interessado em explorar o vasto poder computacional das recentes unidades de processamento gráfico (GPUs) em aplicações fora do domínio gráfico. Essa tendência ao desenvolvimento de propósitos gerais com a GPU (GPGPU) foi intensificada com a produção de APIs não-gráficas, tais como a Compute Unified Device Architecture (CUDA), da NVIDIA. Com elas, estudou-se a solução na GPU de muitos problemas de processamento de sinal 2D e 3D envolvendo álgebra linear e equações diferenciais parciais, mas pouca atenção tem sido dada ao processamento de sinais 1D, que também podem exigir recursos computacionais significativos. Já havia sido demonstrado que a GPU pode ser usada para processamento de sinais em tempo-real, mas alguns processos não se adequavam bem à arquitetura da GPU. Neste trabalho, apresento uma nova técnica para implementar um filtro digital linear recursivo usando a GPU. Até onde eu sei, a solução aqui apresentada é a primeira na literatura. Uma comparação entre esta abordagem e uma implementação equivalente baseada na CPU demonstra que, quando usada em um sistema de processamento de áudio em temporeal, esta técnica permite o processamento de duas a quatro vezes mais coeficientes do que era possível anteriormente. A técnica também elimina a necessidade de processar o filtro na CPU - evitando transferências de memória adicionais entre CPU e GPU - quando se deseja usar o filtro junto a outros processos, tais como síntese de som. A recursividade estabelecida pela equação do filtro torna difícil obter uma implementação eficiente em uma arquitetura paralela como a da GPU. Já que cada amostra de saída é computada em paralelo, os valores necessários de amostras de saída anteriores não estão disponíveis no momento do cômputo. Poder-se-ia forçar a GPU a executar o filtro sequencialmente usando sincronização, mas isso seria um uso ineficiente da GPU. Este problema foi resolvido desdobrando-se a equação e "trocando-se" as dependências de amostras próximas à saída atual por outras precedentes, assim exigindo apenas o armazenamento de um certo número de amostras de saída. A equação resultante contém convoluções que então são eficientemente computadas usando a FFT. A implementação da técnica é geral e funciona para qualquer filtro recursivo linear invariante no tempo. Para demonstrar sua relevância, construímos um filtro LPC para sintetizar em tempo-real sons realísticos de colisões de objetos feitos de diferentes materiais, tais como vidro, plástico e madeira. Os sons podem ser parametrizados por material dos objetos, velocidade e ângulo das colisões. Apesar de flexível, esta abordagem usa pouca memória, exigindo apenas alguns coeficientes para representar a resposta ao impulso do filtro para cada material. Isso torna esta abordagem uma alternativa atraente frente às técnicas tradicionais baseadas em CPU que apenas realizam a reprodução de sons gravados. / Many researchers have been interested in exploring the vast computational power of recent graphics processing units (GPUs) in applications outside the graphics domain. This trend towards General-Purpose GPU (GPGPU) development has been intensified with the release of non-graphics APIs for GPU programming, such as NVIDIA's Compute Unified Device Architecture (CUDA). With them, the GPU has been widely studied for solving many 2D and 3D signal processing problems involving linear algebra and partial differential equations, but little attention has been given to 1D signal processing, which may demand significant computational resources likewise. It has been previously demonstrated that the GPU can be used for real-time signal processing, but several processes did not fit the GPU architecture well. In this work, a new technique for implementing a digital recursive linear filter using the GPU is presented. To the best of my knowledge, the solution presented here is the first in the literature. A comparison between this approach and an equivalent CPU-based implementation demonstrates that, when used in a real-time audio processing system, this technique supports processing of two to four times more coefficients than it was possible previously. The technique also eliminates the necessity of processing the filter on the CPU - avoiding additional memory transfers between CPU and GPU - when one wishes to use the filter in conjunction with other processes, such as sound synthesis. The recursivity established by the filter equation makes it difficult to obtain an efficient implementation on a parallel architecture like the GPU. Since every output sample is computed in parallel, the necessary values of previous output samples are unavailable at the time the computation takes place. One could force the GPU to execute the filter sequentially using synchronization, but this would be a very inefficient use of GPU resources. This problem is solved by unrolling the equation and "trading" dependences on samples close to the current output by other preceding ones, thus requiring only the storage of a limited number of previous output samples. The resulting equation contains convolutions which are then efficiently computed using the FFT. The proposed technique's implementation is general and works for any time-invariant recursive linear filter. To demonstrate its relevance, an LPC filter is designed to synthesize in real-time realistic sounds of collisions between objects made of different materials, such as glass, plastic, and wood. The synthesized sounds can be parameterized by the objects' materials, velocities and collision angles. Despite its flexibility, this approach uses very little memory, requiring only a few coefficients to represent the impulse response for the filter of each material. This turns this approach into an attractive alternative to traditional CPU-based techniques that use playback of pre-recorded sounds.
|
47 |
An efficient GPU-based implementation of recursive linear filters and its application to realistic real-time re-synthesis for interactive virtual worlds / Uma implementação eficiente de filtros lineares recursivos e sua aplicação a re-síntese realistica em tempo real para mundos virtuais interativosTrebien, Fernando January 2009 (has links)
Muitos pesquisadores têm se interessado em explorar o vasto poder computacional das recentes unidades de processamento gráfico (GPUs) em aplicações fora do domínio gráfico. Essa tendência ao desenvolvimento de propósitos gerais com a GPU (GPGPU) foi intensificada com a produção de APIs não-gráficas, tais como a Compute Unified Device Architecture (CUDA), da NVIDIA. Com elas, estudou-se a solução na GPU de muitos problemas de processamento de sinal 2D e 3D envolvendo álgebra linear e equações diferenciais parciais, mas pouca atenção tem sido dada ao processamento de sinais 1D, que também podem exigir recursos computacionais significativos. Já havia sido demonstrado que a GPU pode ser usada para processamento de sinais em tempo-real, mas alguns processos não se adequavam bem à arquitetura da GPU. Neste trabalho, apresento uma nova técnica para implementar um filtro digital linear recursivo usando a GPU. Até onde eu sei, a solução aqui apresentada é a primeira na literatura. Uma comparação entre esta abordagem e uma implementação equivalente baseada na CPU demonstra que, quando usada em um sistema de processamento de áudio em temporeal, esta técnica permite o processamento de duas a quatro vezes mais coeficientes do que era possível anteriormente. A técnica também elimina a necessidade de processar o filtro na CPU - evitando transferências de memória adicionais entre CPU e GPU - quando se deseja usar o filtro junto a outros processos, tais como síntese de som. A recursividade estabelecida pela equação do filtro torna difícil obter uma implementação eficiente em uma arquitetura paralela como a da GPU. Já que cada amostra de saída é computada em paralelo, os valores necessários de amostras de saída anteriores não estão disponíveis no momento do cômputo. Poder-se-ia forçar a GPU a executar o filtro sequencialmente usando sincronização, mas isso seria um uso ineficiente da GPU. Este problema foi resolvido desdobrando-se a equação e "trocando-se" as dependências de amostras próximas à saída atual por outras precedentes, assim exigindo apenas o armazenamento de um certo número de amostras de saída. A equação resultante contém convoluções que então são eficientemente computadas usando a FFT. A implementação da técnica é geral e funciona para qualquer filtro recursivo linear invariante no tempo. Para demonstrar sua relevância, construímos um filtro LPC para sintetizar em tempo-real sons realísticos de colisões de objetos feitos de diferentes materiais, tais como vidro, plástico e madeira. Os sons podem ser parametrizados por material dos objetos, velocidade e ângulo das colisões. Apesar de flexível, esta abordagem usa pouca memória, exigindo apenas alguns coeficientes para representar a resposta ao impulso do filtro para cada material. Isso torna esta abordagem uma alternativa atraente frente às técnicas tradicionais baseadas em CPU que apenas realizam a reprodução de sons gravados. / Many researchers have been interested in exploring the vast computational power of recent graphics processing units (GPUs) in applications outside the graphics domain. This trend towards General-Purpose GPU (GPGPU) development has been intensified with the release of non-graphics APIs for GPU programming, such as NVIDIA's Compute Unified Device Architecture (CUDA). With them, the GPU has been widely studied for solving many 2D and 3D signal processing problems involving linear algebra and partial differential equations, but little attention has been given to 1D signal processing, which may demand significant computational resources likewise. It has been previously demonstrated that the GPU can be used for real-time signal processing, but several processes did not fit the GPU architecture well. In this work, a new technique for implementing a digital recursive linear filter using the GPU is presented. To the best of my knowledge, the solution presented here is the first in the literature. A comparison between this approach and an equivalent CPU-based implementation demonstrates that, when used in a real-time audio processing system, this technique supports processing of two to four times more coefficients than it was possible previously. The technique also eliminates the necessity of processing the filter on the CPU - avoiding additional memory transfers between CPU and GPU - when one wishes to use the filter in conjunction with other processes, such as sound synthesis. The recursivity established by the filter equation makes it difficult to obtain an efficient implementation on a parallel architecture like the GPU. Since every output sample is computed in parallel, the necessary values of previous output samples are unavailable at the time the computation takes place. One could force the GPU to execute the filter sequentially using synchronization, but this would be a very inefficient use of GPU resources. This problem is solved by unrolling the equation and "trading" dependences on samples close to the current output by other preceding ones, thus requiring only the storage of a limited number of previous output samples. The resulting equation contains convolutions which are then efficiently computed using the FFT. The proposed technique's implementation is general and works for any time-invariant recursive linear filter. To demonstrate its relevance, an LPC filter is designed to synthesize in real-time realistic sounds of collisions between objects made of different materials, such as glass, plastic, and wood. The synthesized sounds can be parameterized by the objects' materials, velocities and collision angles. Despite its flexibility, this approach uses very little memory, requiring only a few coefficients to represent the impulse response for the filter of each material. This turns this approach into an attractive alternative to traditional CPU-based techniques that use playback of pre-recorded sounds.
|
48 |
An efficient GPU-based implementation of recursive linear filters and its application to realistic real-time re-synthesis for interactive virtual worlds / Uma implementação eficiente de filtros lineares recursivos e sua aplicação a re-síntese realistica em tempo real para mundos virtuais interativosTrebien, Fernando January 2009 (has links)
Muitos pesquisadores têm se interessado em explorar o vasto poder computacional das recentes unidades de processamento gráfico (GPUs) em aplicações fora do domínio gráfico. Essa tendência ao desenvolvimento de propósitos gerais com a GPU (GPGPU) foi intensificada com a produção de APIs não-gráficas, tais como a Compute Unified Device Architecture (CUDA), da NVIDIA. Com elas, estudou-se a solução na GPU de muitos problemas de processamento de sinal 2D e 3D envolvendo álgebra linear e equações diferenciais parciais, mas pouca atenção tem sido dada ao processamento de sinais 1D, que também podem exigir recursos computacionais significativos. Já havia sido demonstrado que a GPU pode ser usada para processamento de sinais em tempo-real, mas alguns processos não se adequavam bem à arquitetura da GPU. Neste trabalho, apresento uma nova técnica para implementar um filtro digital linear recursivo usando a GPU. Até onde eu sei, a solução aqui apresentada é a primeira na literatura. Uma comparação entre esta abordagem e uma implementação equivalente baseada na CPU demonstra que, quando usada em um sistema de processamento de áudio em temporeal, esta técnica permite o processamento de duas a quatro vezes mais coeficientes do que era possível anteriormente. A técnica também elimina a necessidade de processar o filtro na CPU - evitando transferências de memória adicionais entre CPU e GPU - quando se deseja usar o filtro junto a outros processos, tais como síntese de som. A recursividade estabelecida pela equação do filtro torna difícil obter uma implementação eficiente em uma arquitetura paralela como a da GPU. Já que cada amostra de saída é computada em paralelo, os valores necessários de amostras de saída anteriores não estão disponíveis no momento do cômputo. Poder-se-ia forçar a GPU a executar o filtro sequencialmente usando sincronização, mas isso seria um uso ineficiente da GPU. Este problema foi resolvido desdobrando-se a equação e "trocando-se" as dependências de amostras próximas à saída atual por outras precedentes, assim exigindo apenas o armazenamento de um certo número de amostras de saída. A equação resultante contém convoluções que então são eficientemente computadas usando a FFT. A implementação da técnica é geral e funciona para qualquer filtro recursivo linear invariante no tempo. Para demonstrar sua relevância, construímos um filtro LPC para sintetizar em tempo-real sons realísticos de colisões de objetos feitos de diferentes materiais, tais como vidro, plástico e madeira. Os sons podem ser parametrizados por material dos objetos, velocidade e ângulo das colisões. Apesar de flexível, esta abordagem usa pouca memória, exigindo apenas alguns coeficientes para representar a resposta ao impulso do filtro para cada material. Isso torna esta abordagem uma alternativa atraente frente às técnicas tradicionais baseadas em CPU que apenas realizam a reprodução de sons gravados. / Many researchers have been interested in exploring the vast computational power of recent graphics processing units (GPUs) in applications outside the graphics domain. This trend towards General-Purpose GPU (GPGPU) development has been intensified with the release of non-graphics APIs for GPU programming, such as NVIDIA's Compute Unified Device Architecture (CUDA). With them, the GPU has been widely studied for solving many 2D and 3D signal processing problems involving linear algebra and partial differential equations, but little attention has been given to 1D signal processing, which may demand significant computational resources likewise. It has been previously demonstrated that the GPU can be used for real-time signal processing, but several processes did not fit the GPU architecture well. In this work, a new technique for implementing a digital recursive linear filter using the GPU is presented. To the best of my knowledge, the solution presented here is the first in the literature. A comparison between this approach and an equivalent CPU-based implementation demonstrates that, when used in a real-time audio processing system, this technique supports processing of two to four times more coefficients than it was possible previously. The technique also eliminates the necessity of processing the filter on the CPU - avoiding additional memory transfers between CPU and GPU - when one wishes to use the filter in conjunction with other processes, such as sound synthesis. The recursivity established by the filter equation makes it difficult to obtain an efficient implementation on a parallel architecture like the GPU. Since every output sample is computed in parallel, the necessary values of previous output samples are unavailable at the time the computation takes place. One could force the GPU to execute the filter sequentially using synchronization, but this would be a very inefficient use of GPU resources. This problem is solved by unrolling the equation and "trading" dependences on samples close to the current output by other preceding ones, thus requiring only the storage of a limited number of previous output samples. The resulting equation contains convolutions which are then efficiently computed using the FFT. The proposed technique's implementation is general and works for any time-invariant recursive linear filter. To demonstrate its relevance, an LPC filter is designed to synthesize in real-time realistic sounds of collisions between objects made of different materials, such as glass, plastic, and wood. The synthesized sounds can be parameterized by the objects' materials, velocities and collision angles. Despite its flexibility, this approach uses very little memory, requiring only a few coefficients to represent the impulse response for the filter of each material. This turns this approach into an attractive alternative to traditional CPU-based techniques that use playback of pre-recorded sounds.
|
49 |
BLEEM BLOOM: um ambiente para musicologia assistida por computadorVieira de Araújo Junior, Dídimo 31 January 2011 (has links)
Made available in DSpace on 2014-06-12T16:00:35Z (GMT). No. of bitstreams: 2
arquivo6778_1.pdf: 5875026 bytes, checksum: dac41b089f0a27b12afcbe7bb0a420f0 (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2011 / Tribunal de Justiça de Pernambuco / Pesquisas na área de análise musical são beneficiadas pela possibilidade de
resolver questões que envolvem análises complexas de grandes quantidades de
dados musicais com a utilização do computador. Diferentemente da maioria das
pesquisas sobre expressividade musical - que se concentram em música clássica
para piano - o projeto "Um País, Um Violão", realizado no Centro de Informática da
Universidade Federal de Pernambuco, estuda a dimensão rítmica da bossa nova ao
violão. Vários temas sobre aquisição de conhecimento a respeito da expressividade
musical já foram trabalhados dentro do projeto como o reconhecimento de padrões
rítmicos, análise harmônica, microrrítmo e microdinâmica.
Em se tratando de pesquisa preliminar e pioneira, um dos problemas em torno
do projeto é que seus trabalhos foram realizados sem foco no público-alvo, os
pesquisadores em musicologia, o que implica deficiências na usabilidade, fazendo
com que, em alguns casos, seja praticamente impossível sua utilização por um
usuário sem conhecimentos avançados em computação. Um outro problema do
projeto é que seus trabalhos foram implementados em momentos distintos, sem
qualquer preocupação em como eles poderiam ser integrados, mantidos e
expandidos.
Este trabalho de dissertação objetiva resolver os problemas estruturais e de
usabilidade relacionados. Para tanto, a abordagem utilizada envolve a aplicação de
métodos de interação humano-computador - para conceber uma solução adequada
ao público-alvo - e a análise dos trabalhos atuais, para o projeto e construção de
uma nova arquitetura baseada em plugins. O objetivo é oferecer novas
possibilidades de análise através da integração também dos resultados de cada
trabalho, estimulando o uso prático dos trabalhos científicos realizados no projeto
"Um País, Um Violão".
As avaliações dos protótipos e experimentos, realizadas por colaboradores
representantes do público-alvo, mostraram considerações positivas a respeito do
software proposto
|
50 |
Levantamento, representação e análise computacional de hipóteses sobre combinações de frases percussivasDIAS, Luca Bezerra 31 August 2015 (has links)
Submitted by Fabio Sobreira Campos da Costa (fabio.sobreira@ufpe.br) on 2016-07-12T11:59:57Z
No. of bitstreams: 2
license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5)
Luca Bezerra Dias - Dissertação de Mestrado (versão final) - Capas Oficiais e Normas ABNT [Digital].pdf: 5112956 bytes, checksum: 8c627192221d904c973b582471a171dc (MD5) / Made available in DSpace on 2016-07-12T11:59:57Z (GMT). No. of bitstreams: 2
license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5)
Luca Bezerra Dias - Dissertação de Mestrado (versão final) - Capas Oficiais e Normas ABNT [Digital].pdf: 5112956 bytes, checksum: 8c627192221d904c973b582471a171dc (MD5)
Previous issue date: 2015-08-31 / FACEPE / Os avanços na área de computação musical ao longo dos anos trouxeram no-vas possibilidades e também novas perguntas. A área de geração automática de con-teúdo musical ganhou bastante interesse (BILES, 1994); (SAMPAIO, TEDESCO e RAMALHO, 2005); (GIFFORD, 2013), e com ela, surgiram questões mais profundas sobre o conteúdo gerado por estes sistemas. Qual a aplicabilidade de tais sistemas? Como trabalhar com conceitos como melodia e harmonia? É possível gerar música que não seja apenas um combinado aleatório de notas ou excertos musicais?
Reduzindo o escopo da discussão para sistemas geradores de composições percussivas, um elemento essencial fica em evidência: o ritmo. Qual o impacto de um ritmo destoante dentro de uma música? É possível gerar ritmos neutros, que se en-caixem em qualquer composição? Como gerar automaticamente um bom ritmo? Para responder a essas questões, é necessário antes chegar à resposta de uma pergunta mais fundamental: como saber se um ritmo A combina com um ritmo B?
A literatura (inclusive musical) sobre esse assunto é escassa e, na sua maioria, subjetiva, pessoal e sem bases empíricas. Em geral, o caminho tomado pelos traba-lhos costuma se basear no que pode ser feito algoritmicamente, para depois encaixar os resultados dentro do conceito de ritmo, tornando os resultados questionáveis.
Diante disso, resolvemos seguir o caminho inverso, partindo de teorias e con-ceitos para só depois chegarmos ao algoritmo. Para tal, pedimos que músicos e estu-diosos apresentassem definições de ritmo e suas características fundamentais, a par-tir das quais construímos hipóteses para responder à pergunta deste trabalho. Isto demandou buscar junto aos músicos possíveis hipóteses, encontrar uma forma de representá-las computacionalmente, levantar exemplos concretos (dados) musicais e decidir como representa-los computacionalmente, planejar experimentos que pudes-sem confrontar hipóteses e dados, para, enfim, tirar conclusões com respeito à per-gunta de pesquisa. Neste trabalho, que se insere na linha do uso de computadores como ferramenta de auxílio ao musicólogo, narramos este processo de investigação, elencando as dificuldades, justificando as escolhas, apresentando os resultados obti-dos e discutindo as lições aprendidas. / The advances in the computer music field throughout the years have brought new possibilities, and also new questions. The automatic generation of music content field has aroused a lot of interest (BILES, 1994); (SAMPAIO, TEDESCO e RAMALHO, 2005); (GIFFORD, 2013), and, with it, many deeper questions about the content gen-erated by these systems were brought into attention. What is the point of such sys-tems? How some concepts such as melody and harmony can be dealt with? Is it pos-sible to generate music that is not just a random sequence of notes or musical ex-cerpts?
Narrowing the scope to percussive compositions generative systems, an essen-tial element stands out: the rhythm. What is the impact of a dissonant rhythm within a song? Is it possible to generate neutral rhythms, which could fit into any composition? How to generate a good rhythm? To answer these questions, first of all it is necessary to find the answer to a more fundamental question: how to tell if rhythm A matches rhythm B?
The academic literature (including the musical one) on this subject is scarce, and mostly subjective, relying on personal opinions and without empirical basis. In general, the path chosen on the studies is based on what can be done algorithmically, to only then fit the results within the concept of rhythm, making the results unreliable.
Therefore, we have decided to take the opposite way, starting from theories and concepts, to only then think about the algorithm. In order to do so, we have asked musicians and researchers to provide us with definitions for rhythm and its most fun-damental characteristics, from which we have built the hypotheses to answer this re-search’s main question. To achieve this, we had to ask musicians for possible hypoth-esis, find a way of representing them computationally, find concrete musical examples (data) and decide how to represent this data computationally, plan experiments that could compare hypothesis against data to, finally, get to conclusions about this re-search’s main question. In this work, which is highly linked with using computers as an auxiliary tool for the musicologist, we describe this investigation process, revealing the difficulties, justifying the choices made, presenting the results obtained and discussing the lessons learned.
|
Page generated in 0.0783 seconds