quinta-feira, 29 de maio de 2008

MIR - Music Information Retrieval

Tocar guitarra é um tanto divertido. Já havia tentado tocar teclado, onde aprendi muita teoria musical, e flauta doce, onde comecei a treinar a tirar músicas "de ouvido", mas sempre sentia falta de alguma coisa. Na guitarra, encontrei essa coisa: uma verdadeira rede social, composta de pessoas que tocam guitarra e violão, e estão dispostas a fazer intercâmbio de informações.

Para guitarra, existem sites e sites de tablaturas de músicas populares transcritas. É aí que começa o problema: na tablatura, aparece uma sugestão de digitação, mas não o ritmo. Além do mais, por várias vezes a tablatura se limita a colocar acordes sobre a letra da música, e os solos interessantes ficam por conta de quem está executando. Para piorar, como a maior parte dos transcritores é amadora, geralmente há erros grosseiros de tom, ou cadências de acordes que não casam com a música.

Há alguns meses comecei a pensar em formas de obter essas informações diretamente de uma música. Não queria muito, só o tom, o tempo, talvez o ritmo... A afinação também é interessante (nem sempre o Lá está em 440Hz). Comecei a estudar meu livro de processamento de sinais novamente, principalmente no tocante a processamento multi-rate. Até que me toquei de procurar algum paper sobre o assunto.

Pois é. Não encontrei só um paper! Encontrei muitos. Na verdade, tem até um grupo na TU Wienn estudando isso, com filtros, redes neurais e tudo que você puder imaginar. Além disso, há frameworks para processamento de músicas, como o Clam e outros milhares listados num site chamado MIR Systems. Tudo é bem documentado, e, pelo lado positivo, o caminho que havia escolhido é exatamente o que esses sistemas implementam!

Bom, tenho muita coisa nova pra brincar agora.

quarta-feira, 28 de maio de 2008

A felicidade

Dizem que a felicidade está nas pequenas coisas da vida. Eu concordo: um pequeno iate, uma pequena mansão na Riviera, uma pequena BMW Z4M Roadster. Como ainda estou muito longe de ser feliz, sigo com meu contentamento descontente!

Bobagens a parte, ontem achei a solução pro meu problema de rede no Ubuntu: arranquei o Network Manager e coloquei o WICD que, apesar de não tão interativo, é muito legal. Realmente wicked (do dicionário Merrian-Webster: going beyond reasonable or predictable limits; of exceptional quality or degree, ou seja, muito legal). É disso que gosto no Ubuntu e gostava no Gentoo: ambos tem uma comunidade participativa que não fica esperando acontecer.

Juntando Linux e pequenas coisas, sempre acabo me lembrando de um sonho de consumo: Gumstix! Pra quem não conhece são computadores com processadores ARM, que medem cerca de 8cm de comprimento por 2cm de largura (sem caixa, é claro), tendo o tamanho aproximado de um chiclete americano. Vale a pena dar uma olhada!




terça-feira, 20 de maio de 2008

Durou pouco

Como dizia o poeta: RTFM!!

  • In Ubuntu 8.04, network-manager only manages interfaces that are marked for roaming. Thus, all interfaces that were previously managed by network-manager will be set to roaming mode during upgrade. Technically, this takes any interface stanzas using the dhcp method with no options and that are marked auto, and removes them from /etc/network/interfaces. If you rely on your interfaces being started by ifupdown when the system starts up, you need to re-enable them in /etc/network/interfaces manually, or disable roaming in System -> Administration -> Network.

Como dizia um conhecido meu: It's not a bug!! It's a feature!!

Problemas no paraíso

Pois é... O Ubuntu está de implicância comigo de novo!

Parece estranho, mas meu micro de casa tem uma placa 802.11g. Eu usei essa placa na casa da minha mãe, enquanto o meu apartamento não ficava pronto, e acabei por deixá-la instalada, como mais um gadget. Pois bem, o Ubuntu identifica e configura essa placa, mas dá a preferência a placa Ethernet do micro.

Tudo funciona bem se eu usar o DHCP. O problema começa quando tento atribuir um IP estático para a placa de rede: o Ubuntu então decide que a placa Ethernet não está funcionando e troca a conexão para o WiFi. Se eu configurar usando o ifconfig e route, a rede funciona como esperado. Tudo volta ao normal quando eu coloco todas as placas em DHCP.

Vou tentar descobrir como resolver o problema, e, se encontrar a resposta, coloco aqui.

segunda-feira, 19 de maio de 2008

Bemvindos ao novo blog

Pensei muito se começava um novo blog, ou se continuava o do LiveSpaces. Depois de perceber que o LiveSpaces só conversa bem com o IE, resolvi que devia começar de novo. Não vou tentar importar os posts antigos, até por que são pensamentos soltos e não importá-los não cria nenhum problema de continuidade.

O blog antigo vai continuar lá, no LiveSpaces.

Nesse aqui vou tentar reclamar menos... Espero que consiga!

Minha saga no Linux

Publiquei isso ontem no meu antigo blog, e resolvi inaugurar esse aqui com o texto na íntegra.




Do Slackware ao Gentoo...

Vou começar pelo começo. Houve uma grande explosão, a matéria se agrupou em átomos, as galaxias se formaram. Ao redor das estrelas, a matéria se condensou em planetas...

Um pouco depois, em 1994, um estudante de Engenharia na UFRJ, empolgado com o desenvolvimento de software distribuído em UNIX (Ultrix 32, em estações DECstation 4000) esbarrou no Linux. Era um kernel de um sistema operacional POSIX, que acabara de chegar a sua versão 1.0. Na verdade, era a versão 1.0.23, na primeira vez que ele viu, e ficou empolgado com a possibilidade de instalar isso em casa e ter todas as vantagens que não encontrava na dupla MS-DOS 5.0 e Windows 3.0 (sim, 3.0!). Nessa época, a única distribuição disponível era o Slackware, em 26 disquetes. O brinquedo era interessante, mas as constantes quebras em atualizações do kernel (1.0.89, por exemplo, não bootava e corrompia o disco) fizeram o Linux ficar esquecido.

Já em 1999, o engenheiro já formado, resolveu tentar de novo, pois ouvira falar de uma distribuição nova, com um mecanismo capaz de simplificar as atualizações. Era o RedHat, já facilmente encontrado em revistas de CD para um público alvo bem definido (por exemplo, a revista Geek, voltada para, bem, geeks). O RedHat era legal, usava o novíssimo kernel 2.0, muito mais estável. Sem que o engenheiro soubesse, o chapéu vermelho escondia a face do mal, e o levou para o famígero RPM hell. Esse era um mal que assolava o RedHat, e que criava problemas seríssimos de dependências circulares que bloqueavam todas as tentativas de update. O pior: por várias vezes, essas dependências apareciam entre pacotes básicos, ou seja, bastava o básico do RedHat estar instalado pra acontecer. Frustrado, o engenheiro largou o Linux pela segunda vez, mas nunca se conformou.

Em 2002, esse engenheiro foi catapultado pela empresa em que trabalhava para uma outra cidade, onde, obviamente não conhecia ninguém. Havia acabado de terminar um namoro longo, e procurava um hobby, quando o Linux reapareceu em seus pensamentos. Conversando com um colega recém-chegado na empresa, o engenheiro descobriu que as distribuições haviam se multiplicado, e que duas valiam a pena ser tentadas: Debian e Gentoo. O engenheiro resolveu partir para o Debian que possuia um mecanismo de atualização parecido com o RPM, mas a administração das atualizações evitava as dependências circulares. No entanto isso era levado tão a sério, que as versões dos aplicativos era extremamente desatualizada. Em resumo, o Debian era Débil!

Nessa mesma época, esse engenheiro pegou seu primeiro link de banda larga, um ISDN de 128kbps. Era hora de tentar o Gentoo, com sua abordagem radical de compilar tudo do zero, o que garantia que não haveria dependências não resolvidas. Baixou o CD do Gentoo 1.4 e resolveu instalar. O Gentoo oferecia três tipos de instalação, e ele, é claro, escolheu a mais radical: stage 1. Nessa instalação tudo, inclusive o gcc era compilado do zero. O engenheiro levou 3 dias para compilar o sistema base, e mais 3 dias para compilar o KDE. No sétimo dia, ao invés de descansar, teve que reinstalar o Windows XP, pois na pressa de fazer o Gentoo funcionar, passou o HD errado para o mke2fs e mandou tudo pelos ares.

O Gentoo era o paraíso. Tudo funcionava, e o namoro durou 5 anos, até 2007. Os problemas começaram um pouco antes, pois o engenheiro já estava cansado de ter que esperar 20 horas para as atualizações compilarem. Havia chegado o momento de procurar outro caminho.



Do Gento ao Fedora, e do Fedora ao Ubuntu...

Após avaliar todas as opções, o engenheiro escolheu o Fedora, em sua versão 7, como a melhor opção. O Fedora 7 nem esquentou o micro. Era tão focado em segurança que sua configuração do SELinux não permitia fazer nada! Aborrecido, em 15 dias o engenheiro tentou a segunda opção: o Ubuntu, na versão 7.10.

A primeira surpresa do engenheiro foi quando o Ubuntu se instalou em 2 minutos (!), sem reclamar de nada e advinhando a maior parte das opções! Uma maravilha. Mas na mão do engenheiro, o brinquedo quebrou, de tanto que ele mexeu nas configurações de som. Ele pensou em reinstalar, mas faltavam apenas 3 dias pro lançamento da versão 8.04, e então resolveu instalar essa nova versão do zero.

Do Ubuntu ao Fedora... E de volta para o Ubuntu!!

Primeiro problema: quando o sistema entrava no X, tudo que aparecia eram linhas verdes verticas. Tempo perdido! O engenheiro levou um tempo para descobrir como ativar o driver VESA e instalar. Um tanto frustrante, especialmente por que o driver da nVidia também não estava legal, e se recusava a ir além de 60Hz de refresh rate.

Novamente, o canto da sereia: o Fedora 9 foi lançado e o engenheiro, empolgado tentou instalá-lo. Dessa vez, o pessoal do Fedora exagerou! TUDO era beta, inclusive o X, que não era compatível com o driver da nVidia. Ficar restrito ao driver VESA, em 60Hz era sua sina!

O engenheiro então fraquejou:
- Vou formatar essa m... toda e deixar tudo com o RWindows!!

Então seu coração apertou, e ele resolveu dar uma segunda chance ao Ubuntu 8.04. Já sabendo os problemas que enfrentara na primeira tentativa, utilizou as lições aprendidas para conseguir instalá-lo em 2 minutos, como havia feito no passado! A comunidade do Ubuntu, mais ativa, já havia encontrado soluções para todos os problemas encontrados, como o Java, o refresh dos drivers da nVidia.

O engenheiro e o Ubuntu resolveram suas diferenças, e foram felizes para sempre... Pelo menos nos últimos dois dias!


Postagens populares