<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Liberdade na era tecnológica? &#187; hydrogen</title>
	<atom:link href="http://azulebanana.com/bluey/tag/hydrogen/feed/" rel="self" type="application/rss+xml" />
	<link>http://azulebanana.com/bluey</link>
	<description>tecnologia :: software livre :: mobilidade :: etc</description>
	<lastBuildDate>Sun, 11 Jul 2010 10:01:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
<image>
  <link>http://azulebanana.com/bluey</link>
  <url>http://azulebanana.com/bluey/favicon.ico</url>
  <title>Liberdade na era tecnológica?</title>
</image>
		<item>
		<title>Jack multi-canal com poucos recursos</title>
		<link>http://azulebanana.com/bluey/2008/11/13/jack-multi-canal-com-poucos-recursos/</link>
		<comments>http://azulebanana.com/bluey/2008/11/13/jack-multi-canal-com-poucos-recursos/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 16:55:53 +0000</pubDate>
		<dc:creator>bluey</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[alsa]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[hydrogen]]></category>
		<category><![CDATA[interfaces]]></category>
		<category><![CDATA[jackd]]></category>
		<category><![CDATA[Música]]></category>
		<category><![CDATA[mixxx]]></category>
		<category><![CDATA[patchage]]></category>
		<category><![CDATA[seq24]]></category>
		<category><![CDATA[som]]></category>
		<category><![CDATA[whiteboard]]></category>
		<category><![CDATA[Wiimote]]></category>

		<guid isPermaLink="false">http://azulebanana.com/bluey/?p=918</guid>
		<description><![CDATA[Eis uma forma simples e barata de ter N saídas (ou entradas) num servidor jack. A ideia é usar algumas placas de som USB baratas e configurar o ALSA para juntá-las num interface único. Para isso usamos um ficheiro de configuração do ALSA parecido com este: $ cat ~/.asoundrc pcm.geral { type multi slaves.a.pcm hw:0 [...]]]></description>
			<content:encoded><![CDATA[<p>Eis uma forma simples e barata de ter N saídas (ou entradas) num servidor <a href="http://jackaudio.org/">jack</a>.</p>
<p>A ideia é usar algumas placas de som USB baratas e configurar o <a href="http://www.alsa-project.org/">ALSA</a> para juntá-las num interface único. Para isso usamos um ficheiro de configuração do ALSA parecido com este:</p>
<pre style="padding:10px;border: 1px solid darkgrey;background-color:#ddd">
<strong>$ cat ~/.asoundrc</strong>
pcm.geral {
  type multi
  slaves.a.pcm hw:0
  slaves.a.channels 6
  slaves.b.pcm hw:1
  slaves.b.channels 2
  slaves.c.pcm hw:2
  slaves.c.channels 2
# 6 canais da placa 1
  bindings.0.slave a
  bindings.0.channel 0
  bindings.1.slave a
  bindings.1.channel 1
  bindings.2.slave a
  bindings.2.channel 2
  bindings.3.slave a
  bindings.3.channel 3
  bindings.4.slave a
  bindings.4.channel 4
  bindings.5.slave a
  bindings.5.channel 5

# 2 canais da placa 2
  bindings.6.slave b
  bindings.6.channel 0
  bindings.7.slave b
  bindings.7.channel 1

# 2 canais da placa 3
  bindings.8.slave c
  bindings.8.channel 0
  bindings.9.slave c
  bindings.9.channel 1
}

ctl.geral {
  type hw
  card 0
}
</pre>
<p>Cheguei a esta configuração com base <a href="http://www.sound-man.co.uk/linuxaudio/ice1712multi.html">neste tutorial</a>.</p>
<p>Estou a usar esta configuração num portátil, usando a placa interna (que tem 6 canais) e mais duas placas de som USB simples só com 1 entrada e 1 saída, e apenas aproveito as saídas. A mesma ideia podia servir para ter N entradas para gravação de várias fontes (para uma banda, por exemplo).<br />
Não tomei atenção à latência do sistema, mas isto não pretende ser algo que compita com placas dedicadas de som de N entradas e saídas, mas que custam várias centenas ou alguns milhares de euros. Potencia porém quem se queira aventurar no assunto e começar a aprender, mas tenha poucos recursos para investir em equipamento e já tenha um computador relativamente recente.<br />
Com os circuitos simples que estas placas têm é possível também sincronizá-las, soldando ligações do cristal de uma das placas para as outras. Um tutorial a abordar esta modificação pode ser encontrado <a href="http://quicktoots.linuxaudio.org/toots/el-cheapo/">aqui</a>. Isto será mais importante na gravação de áudio para garantir que a sample rate é igual para todas as origens de áudio.</p>
<p>Depois a partir daqui com o <a href="http://jackaudio.org/">jackd</a> a correr poderão ser necessários alguns ajustes para tudo funcionar bem. Não experimentei com o kernel rt, mas uso permissões de rt para o áudio no limit.conf:</p>
<pre style="padding:10px;border: 1px solid darkgrey;background-color:#ddd">@audio - rtprio 99
@audio - nice -10
@audio - memlock 512000</pre>
<p>Para arrancar o <a href="http://jackaudio.org/">jackd</a> uso o seguinte .jackdrc:</p>
<pre style="padding:10px;border: 1px solid darkgrey;background-color:#ddd">/usr/bin/jackd -R -m -dalsa -P -dgeral -r48000 -p1024 -n2 -m</pre>
<p>De notar que uso a opção -P para só usar o playback, já que não configurei a captura das placas no ficheiro de configuração do <a href="http://www.alsa-project.org/">ALSA</a>.</p>
<p>Isto permite usar o <a href="http://www.mixxx.org/">mixxx</a> com várias placas de som, basta usar uma versão com suporte para o jack e configurar o master para os canais 6-7 e o monitor para os canais 8-9, para neste exemplo usar as 2 placas externas. Podendo fazer a mistura directamente no <a href="http://www.mixxx.org/">mixxx</a> ou usando uma mesa de mistura externa.</p>
<p>Terei que experimentar melhor para saber se este sistema é minimamente estável, mas para quem quer começar a aprender técnicas de DJ ou a criar alguma coisa com os sequenciadores e sintetizadores que suportem o <a href="http://jackaudio.org/">jackd</a> tendo a possibilidade de monitorizar algumas dessas aplicações, este sistema pode ser um ponto de partida.</p>
<p>Actualmente as aplicações que estou a usar com este sistema são o <a href="http://www.filter24.org/seq24/">seq24</a> (sequenciador) a activar o <a href="http://www.hydrogenaudio.org/">hydrogen</a> (drumbox com samples), o <a href="http://zynaddsubfx.sourceforge.net/">zynaddsubfx</a> (sintetizador multi-canal, polifónico e com efeitos) e o <a href="http://www.nekosynth.co.uk/wiki/nekobee">nekobee</a> (emulador da 303), o som destas 3 aplicações entra no <a href="http://jackeq.sourceforge.net/">jackeq</a> (mesa de mistura virtual com equalizador e 4 canais), o monitor deste liga a uma placa externa e o master entra no <a href="http://jamin.sourceforge.net/">jamin</a> (equalizador e compressor). Do <a href="http://jamin.sourceforge.net/">jamin</a> sai para a placa principal que liga ao sistema de som, ou uso o <a href="http://plugin.org.uk/timemachine/">timemachine</a> para gravações. Tudo isto é ligado com a ajuda do <a href="http://drobilla.net/software/patchage/">patchage</a>. Cheguei a usar o <a href="http://qjackctl.sourceforge.net/">qjackctl</a> mas o <a href="http://drobilla.net/software/patchage/">patchage</a> suporta o <a href="http://lash.nongnu.org/">lash</a> e tem um interface mais simples.<br />
Estas aplicações têm quase todas suporte para o gestor de sessão <a href="http://lash.nongnu.org/">lash</a>, o que simplifica a preparação do sistema quando queremos voltar a um estado usável, ou à última configuração. Além disso permite configurar várias sessões com diferentes aplicações. As aplicações sem suporte para o <a href="http://lash.nongnu.org/">lash</a> (<a href="http://jackeq.sourceforge.net/">jackeq</a>, <a href="http://dssi.sourceforge.net/">jack-dssi-host</a> para correr o <a href="http://www.nekosynth.co.uk/wiki/nekobee">nekobee</a> e o <a href="http://jamin.sourceforge.net/">jamin</a>) podem ser arrancadas com o lash_wrap para ficarem associadas à sessão. Algumas configurações podem não ficar guardadas, mas na globalidade funciona suficientemente bem.</p>
<p>Com várias aplicações e tantos controlos, sinto que o rato se torna um bocado ineficiente… mas com a ajuda de vários desktops virtuais e como a máquina é suficientemente rápida, o <a href="http://www.compiz-fusion.org/">compiz</a> também dá alguma ajuda com os plugins cube, expo e scale, por exemplo. Tenho que experimentar isto com o whiteboard para o wiimote quando tiver acesso a um projector… <img src='http://azulebanana.com/bluey/wp-includes/images/smilies/icon_cool.gif' alt='8-)' class='wp-smiley' /> Não sei se seria funcional, mas não deixa de ser uma ideia engraçada. Os <a href="http://www.korg.com/gear/info.asp?a_prod_no=NanoSeries">controladores nano da Korg</a> também parecem ser uma alternativa de baixo custo para tornar o sistema mais fácil de gerir.</p>
]]></content:encoded>
			<wfw:commentRss>http://azulebanana.com/bluey/2008/11/13/jack-multi-canal-com-poucos-recursos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
