Friday, December 19, 2008

Charge - Fourier



hhahahhahha

Friday, December 12, 2008

Gravação e Edição de audio no linux

Para começo de história, em edição e gravação de audio, é recomendado usar um rt-kernel... um Real Time Kernel, que gerencia os processos e interrupções de forma que nenhum outro periférico do sistema interfira sobre o fluxo de audio. Num kernel normal, se você estiver fazendo uma gravação e ocorrer uma interrupção da placa de rede, ocorrerá um corte no processamento do audio gerando um ruido, principalmente se estiver gravando com altas frequências de amostragem.

Para usuários do ubuntu ou ubuntustudio é bem simples
$ sudo apt-get install linux-restricted-modules-2.6.27-3-rt

Já é a versão mais atualizada... 2.6.27-3
Enfim, meu sistema é um:
Laptop Dell Inspiron 1525, core 2 duo T5550, 2GB ram
Placa de audio, on-board, é uma Sigmatel (não lembro a referência)...
Consegui usa-la a 192khz com uma latencia de 5.3ms, gravando 2 faixas (over + bumbo, gutiarra + baixo) em um estúdio de ensaio, sem NENHUM ruido, ZERO :)

Quanto aos programas, Ardour, que para um não profissional e usuário "caseiro" como eu, já dá conta do recado. Porem me parece que dá conta do recado até para os profissionais.

Se você é usuário do ubuntu...
$ sudo apt-get install ubuntustudio-audio-plugins

E terá uma gama imensa de plugins a sua disposição... para os que ainda precisem de mais, pode-se utilizar o wine para instalar plugins compativeis apenas com windows... muito embora, embora eu não recomende.

Questão de drivers, o ALSA (Advanced Linux Sound Architecture) é ótimo, é capaz de gerenciar múltiplas placas de audio. Nunca tive problemas, apenas o mic externo do meu laptop que não estava funcionando, mas foi resolvido adicionando uma linha a um dos arquivos de configuração.

Como root:
$ echo "options snd-hda-intel model=ref" >> /etc/modprobe.d/alsa-base

Enfim, isso ainda é um mundo novo pra mim, tenho feito gravações dos ensaios de minha banda com apenas 3 microfones, (2 na bateria + 1 microfonando a guitarra) e o meu BDI (Direct Box para o baixo), ligados a uma mesa de som. Como o line-in é de 2 canais, mixei os 2 mics da bateria em um dos canais e a guitarra e o baixo em outro canal, não é nada como uma gravação de milhões de canais simultaneos, mas já consegui uma qualidade muito boa e um som setentista, o que é muito bom :)

A propósito, BackdoorMan é a banda que toco, 70´s bem legal :)

Até o próximo post... que eu não faço a mínima ideia sobre o que será :P

Saturday, September 06, 2008

OpenCores.org

Essa semana eu tive o prazer de conhecer o opencores.org. É uma comunidade de hardware livre, muito bem organizada, usa o cvs, tem listas de discussão internas e tudo mais. É muito interessante encontrar uma comunidade "livre" para discurssões de hardware. Recomendo a todos interessado na área, na hora de se registrar, ele faz uma análise, para saber se você pode ser aceito ou não, restrição ou não, talvez ajude a manter o projeto organizado. Enfim, recomendo, OpenCores.org.

www.opencores.org

;]

Monday, August 25, 2008

Class BitOutPut

Há pouco tempo me tornei bolsista do projeto Brasil-Ip. Tal projeto visa a criação de ip cores em parceira com as universidades do pais. Foi através desse mesmo projeto que a UFCG ficou famosa, pela criação de seu ip-core decodificador de MPEG4.

O processo de criação de um ip-core é um tanto quanto complexo e demorado, há várias etapas que devem ser seguidas para evitar surpresa no final, um ip-core defeituoso, que custa muito dinheiro.

Durante a primeira parte de meu trabalho, que consiste na validação das definições do projeto em alto nível, se fez necessário um objeto que fosse capaz de escrever uma stream de saída bit a bit. Como já estava definido na arquitetura do projeto, a solução foi fazer mesmo. Foi então criada a classe BitOutPut.

A classe BitOutPut é uma classe de apenas um método, writebitout (int bit). Esse método recebe um inteiro que indica o bit a ser escrito, 0 ou 1. A classe também possui duas variáveis, buffer e bitsinbuffer. Bitsinbuffer indica a quantidade de bits dentro do buffer, como buffer é declarado como um char, ela contem 8 bits. Dados antes são escritos no buffer e depois exportados para o arquivo. Durante a sua destruição, 0 são incluidos para completar os 8 bits do buffer, e assim serem exportados.

Abaixo segue o código em C++, e, para os entusiastas do djava, aqui vai um link interessante.
#include
using namespace std;
#include

class BitOutPut {
private:
unsigned char buffer;
unsigned char bitsinbuffer;
public:
ofstream outstream;

BitOutPut();
~BitOutPut();
void writebitout (int bit);
};

BitOutPut::BitOutPut () {
outstream.open ("outputstream.bin", ios::binary);
buffer = 0;
bitsinbuffer = 0;
}

BitOutPut::~BitOutPut () {
if (bitsinbuffer != 0) {
buffer = buffer << (8 - bitsinbuffer); outstream << bitsinbuffer ="="" bitsinbuffer =" 0;" buffer =" (buffer" buffer =" buffer">

Tuesday, August 19, 2008

Renovando

Percebendo a importância de ter um blog para postar as idéias, experiências e compartilhar conhecimento útil, resolvi renovar esse blog estreando um novo layout e tentando redirecionar seu principal assunto. Espero poder contribuir com conhecimento aos que compartilham do mesmo interesse que eu.

Breve re-apresentação:

Como já devem ter percebido, me chamo Igor Gadelha. Tenho fortes interesses na área de, hardware, desenvolvimento de/para sistemas embarcados, software livre e astronomia. Sou usuário linux, e não ligo se me chamarem de nerd, haha.

Tuesday, June 10, 2008

Jupter, sargitário




11/jun/2008 - 1hr.

Jupter, Sargitário e Nebulosa da via lactéa.

Sony DSC-60
iso 400, preto e branco, foco infinito.

Havia esquecido o quanto fotografar o céu me limpava a mente. Um agradecimento a Kris que me fez rever isso. Thanks Kris =]

Wednesday, July 11, 2007

Centauro, Crux


Malditas nuvens u.u!

construirei um ventilador gigante para que possa espantar as nuvens daqui... atentarei contra a chesf para desligarem as luzes de noite.... derrubarei os 2 edificios que estão construindo na frente de minha casa... derrubarei a coberta da garagem.. grrrrrrrrrr
não se respeita mais o hobby de ninguem!






Na foto: Centauros incompleta, da para observar o aglomerado, omega centauri. Crux, e na região direita de Crux, da para observar parte da constelação carinae, justamente proximo a nebulosa eta carinae, uma grande concentração de objetos na região.

foto tirada em minha casa (maldito lugar para isso)
- sony dsc-60
- iso 400
- 30 segundos de exposição