<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Buendias Blog]]></title><description><![CDATA[Desde el principio]]></description><link>https://blog.buendias.com/</link><image><url>https://blog.buendias.com/favicon.png</url><title>Buendias Blog</title><link>https://blog.buendias.com/</link></image><generator>Ghost 4.36</generator><lastBuildDate>Mon, 15 Dec 2025 23:36:01 GMT</lastBuildDate><atom:link href="https://blog.buendias.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Averiguar IP máquina WSL y Host Windows]]></title><description><![CDATA[<!--kg-card-begin: markdown--><p>Desde WSL</p>
<pre><code># IP WSL
ip a
# IP HostWindows (en nameserver est&#xE1; la IP)
cat /etc/resolv.conf
</code></pre>
<!--kg-card-end: markdown-->]]></description><link>https://blog.buendias.com/averiguar-ip-maquina-wsl/</link><guid isPermaLink="false">6311af5ca1b806000163954f</guid><dc:creator><![CDATA[Buendias.com]]></dc:creator><pubDate>Fri, 02 Sep 2022 07:23:39 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><p>Desde WSL</p>
<pre><code># IP WSL
ip a
# IP HostWindows (en nameserver est&#xE1; la IP)
cat /etc/resolv.conf
</code></pre>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[WSL no puede acceder a servicios en la máquina Windows local]]></title><description><![CDATA[<!--kg-card-begin: markdown--><h2 id="descripci%C3%B3n-del-problema">Descripci&#xF3;n del problema</h2>
<p>Desde WSL no se puede acceder a servicios que est&#xE1;n disponibles en Windows</p>
<h2 id="causa-del-problema">Causa del problema</h2>
<p>El problema es que WSL est&#xE1; instalado de manera semioculta en una m&#xE1;quina virtual que est&#xE1; conectada al host Windows en una red</p>]]></description><link>https://blog.buendias.com/wsl-no-puede-acceder-a-servicios-en-la-maquina-windows-local/</link><guid isPermaLink="false">6311acc8a1b80600016394ff</guid><dc:creator><![CDATA[Buendias.com]]></dc:creator><pubDate>Fri, 02 Sep 2022 07:22:35 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><h2 id="descripci%C3%B3n-del-problema">Descripci&#xF3;n del problema</h2>
<p>Desde WSL no se puede acceder a servicios que est&#xE1;n disponibles en Windows</p>
<h2 id="causa-del-problema">Causa del problema</h2>
<p>El problema es que WSL est&#xE1; instalado de manera semioculta en una m&#xE1;quina virtual que est&#xE1; conectada al host Windows en una red con IP privada que Windows la considera con perfil p&#xFA;blico (hay tres perfiles: dominio, privado y p&#xFA;blico). Tanto la m&#xE1;quina WSL como la m&#xE1;quina Windows tienen sus propias IPs en dicha red privada. Por lo tanto, el firewall de Windows bloquea el tr&#xE1;fico entre ambas IPs.</p>
<h2 id="soluci%C3%B3n">Soluci&#xF3;n</h2>
<h3 id="m%C3%A9todo-1">M&#xE9;todo 1</h3>
<p>En Propiedades Windows Defender Firewall con seguridad avanzada, solapa perfil p&#xFA;blico, conexiones de red protegidas, personalizar y desmarcar vEthernet (WSL)</p>
<h3 id="m%C3%A9todo-2">M&#xE9;todo 2</h3>
<p>Permitir el tr&#xE1;fico de red del adaptrador en el Firewall del Windows Host</p>
<pre><code>New-NetFirewallRule -DisplayName &quot;WSL&quot; -Direction Outbound -InterfaceAlias &quot;vEthernet (WSL)&quot; -Action Allow
</code></pre>
<h3 id="m%C3%A9todo-3">M&#xE9;todo 3</h3>
<p>Crear una regla de entrada en el Firewall de Windows para el servicio en concreto desde la IP de WSL para mayor seguridad</p>
<!--kg-card-end: markdown--><h2></h2>]]></content:encoded></item><item><title><![CDATA[Decibelios, mentiras y muestras de sonido]]></title><description><![CDATA[<!--kg-card-begin: markdown--><h1 id="decibelios-mentiras-y-muestras-de-sonido">Decibelios, mentiras y muestras de sonido</h1>
<p>La producci&#xF3;n musical es un arte, y como tal, cierra los ojos y deja que tus dedos suban ese potenci&#xF3;metro hasta el lugar donde se produce la magia.</p>
<p>Para todo lo dem&#xE1;s, sigue leyendo.</p>
<h2 id="decibelio">Decibelio</h2>
<p>Medida logar&#xED;</p>]]></description><link>https://blog.buendias.com/decibelios-mentiras-y-muestras-de-sonido/</link><guid isPermaLink="false">62e8e9594f3cca0001974d61</guid><dc:creator><![CDATA[Buendias.com]]></dc:creator><pubDate>Tue, 02 Aug 2022 19:13:39 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><h1 id="decibelios-mentiras-y-muestras-de-sonido">Decibelios, mentiras y muestras de sonido</h1>
<p>La producci&#xF3;n musical es un arte, y como tal, cierra los ojos y deja que tus dedos suban ese potenci&#xF3;metro hasta el lugar donde se produce la magia.</p>
<p>Para todo lo dem&#xE1;s, sigue leyendo.</p>
<h2 id="decibelio">Decibelio</h2>
<p>Medida logar&#xED;tmica respecto a un valor de referencia. Es importante decir que es un valor adimensional, es decir, sin unidades.</p>
<pre><code>dB = 10 * log10 ( P1 / P0 )
dB = 20 * log10 ( P1 / P0 )
</code></pre>
<p>P1 es el valor de la se&#xF1;al y P0 el valor de referencia</p>
<p><a href="https://es.wikipedia.org/wiki/Decibelio">Wikipedia</a></p>
<h2 id="db-spl">dB SPL</h2>
<p>Decibelios de presi&#xF3;n sonora. Se toma como presi&#xF3;n de referencia (0 dB) 20 &#x3BC;Pa en el aiere que corresponde con el umbral de audici&#xF3;n del o&#xED;do humano.</p>
<p>Una onda de 20 &#x3BC;Pa son 0 dB:</p>
<pre><code>0dB = 20 * log10 ( 20 &#x3BC;Pa / 20 &#x3BC;Pa )
</code></pre>
<p>140 dB (umbral del dolor) corresponden a:</p>
<pre><code>P = 10^(dB/20) * P0 = 1.97 atm&#xF3;sferas
</code></pre>
<p>2 atm&#xF3;sferas ser&#xED;a lo equivalente a estar a una profundidad de 20 metros.</p>
<h2 id="db-fs">dB FS</h2>
<p>dB Full scale. Como valor de referencia se usa el valor m&#xE1;ximo de la escala.</p>
<p>Los dB FS son los que se usan en los v&#xFA;metros del DAW.</p>
<h3 id="calcular-db-en-una-onda-de-16-bits">Calcular dB en una onda de 16 bits</h3>
<p>Para 16 bits el valor m&#xE1;ximo son 2^16 (el valor de la onda puede tomar un valor puntual entre -32767 a 32767). Si el valor m&#xE1;ximo de una onda en su pico es 14731, entonces el volumen ser&#xED;a respecto a un valor m&#xE1;ximo de escala de 16bits de 32767:</p>
<pre><code>dB = 20 * log10(14731 / 32767) = -7.13
</code></pre>
<p><a href="https://stackoverflow.com/questions/2445756/how-can-i-calculate-audio-db-level">C&#xF3;mo calcular los decibelios de un audio</a></p>
<h2 id="db-rms-db-root-mean-square">dB RMS (dB root mean square)</h2>
<p>En lugar de usar un valor puntual (como el de pico), se calcula un valor promedio como la ra&#xED;z cuadrada de la media de la suma de los cuadrados de las medidas.</p>
<pre><code>dB RMS = &#x221A;( &#x2140;dBi&#xB2; / n)
</code></pre>
<h2 id="lufs">LUFS</h2>
<p>Mide la intensidad de la se&#xF1;al (como los db RMS) pero tambi&#xE9;n tiene en cuenta la sonoridad percibida.<br>
Para tener en cuenta la sonoridad percibida, el c&#xE1;lculo tiene en cuenta las curvas de Fletcher Munson.</p>
<h3 id="curvas-de-fletcher-munson">Curvas de Fletcher-Munson</h3>
<p>Son denominadas curvas isot&#xF3;nicas, representa c&#xF3;mo de sensible es el o&#xED;do humano a una se&#xF1;al ac&#xFA;stica en las diferentes frecuencias.<br>
En ellas se se observa que el o&#xED;do humano es menos sensible a los graves y los agudos y m&#xE1;s a las frecuencias medias.</p>
<div style="background: white;">
    <img src="https://upload.wikimedia.org/wikipedia/commons/5/50/FletcherMunson_ELC.png">
</div>
<p>En estas curvas se aprecia que a medida que se aumenta el volumen, las curvas se vuelven m&#xE1;s planas.</p>
<h3 id="tipos-de-lufs">Tipos de LUFS</h3>
<p>Seg&#xFA;n la duraci&#xF3;n del muestreo para realizar el c&#xE1;lculo (de mayor a menor duraci&#xF3;n):</p>
<ul>
<li>LUFS-M (LUFS Momentary) - Durante un momento</li>
<li>LUFS-S (LUFS Short term) - Un momento corto (hay diferencias entre estrofa y estribillo)</li>
<li>LUFS-I (Integrated) - Valor medio a lo largo de la canci&#xF3;n</li>
</ul>
<h3 id="niveles-lufs-seg%C3%BAn-diferentes-plataformas">Niveles LUFS seg&#xFA;n diferentes plataformas</h3>
<ul>
<li>Spotify: -14 LUFS</li>
<li>Apple Music: -16 LUFS</li>
<li>Amazon Music: -9 a -13 LUFS</li>
<li>Youtube: -13 a -15 LUFS</li>
<li>Deezer: -14 a -16 LUFS</li>
<li>CD: -9 LUFS</li>
<li>Soundcloud: -8 a -13 LUFS</li>
</ul>
<h2 id="se%C3%B1al-coherente-e-incoherente">Se&#xF1;al coherente e incoherente</h2>
<p>Coherente si tienen la misma fase</p>
<p>Incoherente distinta fase</p>
<h2 id="matem%C3%A1ticas-con-se%C3%B1ales-y-ondas">Matem&#xE1;ticas con se&#xF1;ales y ondas</h2>
<p><a href="http://www.sengpielaudio.com/calculator-leveladding.htm">http://www.sengpielaudio.com/calculator-leveladding.htm</a></p>
<h3 id="suma-dos-se%C3%B1ales-incoherentes">Suma dos se&#xF1;ales incoherentes</h3>
<pre><code>La y Lb = 10 * log10 ( A/Po + B/Po )
</code></pre>
<h3 id="suma-de-dos-se%C3%B1ales-coherentes">Suma de dos se&#xF1;ales coherentes</h3>
<p>Dos se&#xF1;ales coherentes ser&#xED;an, por ejemplo, las producidas por dos altavoces pegados el uno al lado del otro emitiendo la misma se&#xF1;al:</p>
<pre><code>La y Lb = 20 * log10 ( A/Po + B/Po )
</code></pre>
<h3 id="caso-particular-dos-ondas-con-el-mismo-volumen-db1-db2">Caso particular dos ondas con el mismo volumen (dB1 = dB2)</h3>
<pre><code>dB1 y dB2 = 10 * log10( A/Po + B/Po )
= 10 * log10( 2 * A/Po )
= 10 * log10(2) + log10( A/Po )

dB1 y dB2 = 10 * log10(2) + dB1 = 3.01 + dB1
</code></pre>
<p>Conclusi&#xF3;n: la suma es unos 3dB m&#xE1;s. Es decir, al sumar dos ondas normalmente obtendremos unos 3dB m&#xE1;s.</p>
<h3 id="reducir-el-volumen-de-una-onda-%CE%B4db">Reducir el volumen de una onda &#x394;dB</h3>
<pre><code>dB = 20 * log10( P/Po ) [1]
dB - &#x394;dB = 20 * log10( a * P/Po ) [2]
</code></pre>
<p>Despejando P/Po en [1] y sustituyendo en [2]</p>
<pre><code>a = 10^(-&#x394;d/20)
</code></pre>
<p>Por ejemplo, para bajar -20dB una onda, habr&#xE1; que multiplicar la se&#xF1;al por 0.1</p>
<h2 id="headroom-y-bits-de-muestreo">Headroom y bits de muestreo</h2>
<p>Es el espacio que tienes entre el nivel m&#xE1;ximo de ganancia y 0dB</p>
<h3 id="16-bits-y-24-bits">16 bits y 24 bits</h3>
<p>Con 16 bits tenemos una resoluci&#xF3;n posible de 2^16 / 2 = 32.768 (valores negativos, positivos y cero de la se&#xF1;a)<br>
Con 24 bits tenemos una resoluci&#xF3;n posible de 2^24 / 2 = 8.388.608</p>
<p>Como hemos dicho antes, si bajamos el volumen 20 dB, estamos dividiendo las muestras por 10. As&#xED; que los valores m&#xE1;ximos para 16 y 24 bits ser&#xED;an los siguientes:<br>
16 bits --&gt; 3277<br>
24 bits --&gt; 838.861 (mayor resoluci&#xF3;n que 16 bits a todo volumen)</p>
<h3 id="grabaci%C3%B3n-de-muestras-de-instrumentos-a-16-bits">Grabaci&#xF3;n de muestras de instrumentos a 16 bits</h3>
<p>Supongamos que dejamos 6dB de headroom en una muestra grabada a 16 bits</p>
<pre><code>dB = 20 * log10(valor_max/32.768) = -6 dB --&gt; valor_max = 16.423
</code></pre>
<p>As&#xED; que estamos reduciendo nuestra resoluci&#xF3;n en un 50% con 16.423 valores posibles de 32.768 que ten&#xED;amos inicialmente.</p>
<h3 id="grabaci%C3%B3n-de-muestra-de-intrumentos-a-24-bits">Grabaci&#xF3;n de muestra de intrumentos a 24 bits</h3>
<p>Si dejamos 6dB de headroom en una muestra grabada a 24 bits</p>
<pre><code>dB = 20 * log10(valor_max/8.388.608) = -6 dB --&gt; valor_max = 4.204.263
</code></pre>
<p>As&#xED; que estamos reduciendo nuestra resoluci&#xF3;n en un 50% de 8.388.608 que teniamos en un principio a 4.204.264. A&#xFA;n as&#xED; tenemos mucha m&#xE1;s resoluci&#xF3;n que si usasemos toda la escala de 16 bits.</p>
<h3 id="reaper">Reaper</h3>
<p>El problema de trabajar con una muestra de 16 bits y reducirle el volumen a -20dB es que reducimos el n&#xFA;mero de posibles valores de 32.768 a 3.277. Eso resulta una disminuci&#xF3;n de resoluci&#xF3;n muy elevada. Este problema no existe con muestras a 24 bits.</p>
<p>Afortun&#xE1;damente DAWs, como Reaper, usan internamente 64 bits. As&#xED; que no tendr&#xED;amos problemas con muestras de 16 bits con buena ganancia, a las cuales reducimos el volumen a -20dB</p>
<p>Como dice stupeT un [hilo sobre trabajar a 16 o 24 bits](<a href="https://forum.cockos.com/stupeT">https://forum.cockos.com/stupeT</a> en este hilo showthread.php?t=69048):</p>
<pre><code>24 bit recording makes life easy. You dont have to fine tune and gain stage the signals to perfection when you record as you had to do with 16 bit.

The fact that REAPER internally works with 64 bit leads to the least possible summing/rounding errors while mixing. Another great benefit: Did you notice, that REAPER does not distort when you level a track to say +10 dB? Yeah, internal channels/tracks have plenty of headroom! Thats great and very much like in analog consoles. Again: makes life easy.

In a simple setup the master channel will be the only one where you have to stay below 0dB, because this one will drive the DA-converters which will have to use 24 bit (or 16). Dont forget to dither here as the very last plugin in the master FX chain.
</code></pre>
<h2 id="vol%C3%BAmenes-relativos-en-la-mezcla">Vol&#xFA;menes relativos en la mezcla</h2>
<p>Volumen de la voz humana a 1ft (0,3m) de distancia:</p>
<ul>
<li>Normal: 70 dB</li>
<li>Elevada: 76 dB</li>
<li>Muy fuerte: 82 dB</li>
<li>Chillando: 88 dB</li>
</ul>
<p>Como se puede ver en los datos anteriores, se toma como elevar la voz, subir 6dB.</p>
<p>Por otro lada, &#xBF;cu&#xE1;l es la m&#xED;nima diferencia de dB que un ser humano puede detectar? Haciendo el test <a href="https://www.audiocheck.net/blindtests_level.php?lvl=1">m&#xED;nima diferencia de volumen que un ser humano puede detectar</a> podemos decir que 1dB de diferencia empieza a no ser apreciable.</p>
<p>As&#xED; que cuando estemos hablando de subir el volumen, al menos tendr&#xE1; que ser 1dB.</p>
<h2 id="sensibilidad-de-un-altavoz">Sensibilidad de un altavoz</h2>
<p>Esta parte ya est&#xE1; fuera de nuestro DAW.<br>
Sirve para saber cu&#xE1;ntos decibelios SPL dar&#xE1; un altavoz en su eje a un 1m de distancia al inyecrtarle una se&#xF1;al de audio el&#xE9;ctrica de 1W.</p>
<p>Se expresa en dB/1W/1m.<br>
Suele rondar los 90 dB.<br>
Sensibilidad del Altavoz</p>
<h2 id="conclusiones">Conclusiones</h2>
<p>Usar 24 bits.</p>
<p>La suma de dos ondas que tienen el mismo valor de dBs ser&#xE1; 3 dB m&#xE1;s que los dBs de una de ellas.</p>
<p>10 ondas con los mismos dB aumentan la salida en 10 dB<br>
30 ondas con los mismos dB aumentan la salida en 14.7 dB<br>
<a href="http://www.sengpielaudio.com/calculator-spl.htm">Calculadora suma de 10 ondas incoherentes</a><br>
<a href="http://www.sengpielaudio.com/calculator-spl30.htm">Calculadora suma de 30 ondas incoherentes</a></p>
<h3 id="regla-de-los-vol%C3%BAmenes">Regla de los vol&#xFA;menes</h3>
<p>En el DAW, todo en dB(FS) y lo que mide el v&#xFA;metro correspondiente (no el nivel que hayamos puesto en el fader)</p>
<p>Volumen m&#xE1;ximo grabaci&#xF3;n instrumento &lt; -6 dB<br>
Volumen m&#xE1;ximo cada pista &lt; -20 dB<br>
Volumen m&#xE1;ximo mezcla &lt; -6 dB<br>
Volumen m&#xE1;ximo mezcla masterizada = 0 dB</p>
<p>Con el volumen de pistas a -20 dB, nos aseguramos que aunque tuvi&#xE9;semos 30 muestras, una en cada pista, como mucho, llegaremos a -5,3 dB en el m&#xE1;ster.</p>
<h2 id="referencias">Referencias</h2>
<h3 id="headroom">Headroom</h3>
<p><a href="https://blog.landr.com/es/7-trucos-para-crear-headroom/">https://blog.landr.com/es/7-trucos-para-crear-headroom/</a><br>
<a href="https://es.wikipedia.org/wiki/Decibelio">https://es.wikipedia.org/wiki/Decibelio</a></p>
<h3 id="calibrar-monitores-seg%C3%BAn-bob-katz">Calibrar monitores seg&#xFA;n Bob Katz</h3>
<p><a href="https://www.digido.com/ufaqs/monitor-calibration-with-k-system/">Monitor Calibration with K-System</a></p>
<h3 id="db-rms">dB RMS</h3>
<p><a href="https://www.hispasonic.com/foros/niveles-ganancia-grabacion-exportacion/419071">https://www.hispasonic.com/foros/niveles-ganancia-grabacion-exportacion/419071</a><br>
<a href="https://www.youtube.com/watch?v=_s2vkOOMwo0">https://www.youtube.com/watch?v=_s2vkOOMwo0</a><br>
<a href="https://www.youtube.com/watch?v=Pmn_ZJ1pdfg">https://www.youtube.com/watch?v=Pmn_ZJ1pdfg</a></p>
<h3 id="lufs">LUFS</h3>
<p><a href="https://emastered.com/es/blog/what-are-lufs">&#xBF;Qu&#xE9; son los LUFS?</a></p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Solving ssh-connect error in VSCode]]></title><description><![CDATA[<!--kg-card-begin: markdown--><h2 id="problem">Problem</h2>
<p>When you try to Remote SSH-connect you get this message:</p>
<pre><code class="language-shell">[13:49:17.132] Checking ssh with &quot;ssh -V&quot;
[13:49:17.137] Finding installed ssh failed: spawn UNKNOWN
[13:49:17.138] Resolver error: Error: spawn UNKNOWN
	at ChildProcess.spawn (node:internal/child_process:412:11)</code></pre>]]></description><link>https://blog.buendias.com/solving-vscode/</link><guid isPermaLink="false">628cc677ce7c2d0001b8e4a9</guid><dc:creator><![CDATA[Buendias.com]]></dc:creator><pubDate>Tue, 24 May 2022 11:55:13 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><h2 id="problem">Problem</h2>
<p>When you try to Remote SSH-connect you get this message:</p>
<pre><code class="language-shell">[13:49:17.132] Checking ssh with &quot;ssh -V&quot;
[13:49:17.137] Finding installed ssh failed: spawn UNKNOWN
[13:49:17.138] Resolver error: Error: spawn UNKNOWN
	at ChildProcess.spawn (node:internal/child_process:412:11)
</code></pre>
<p>Visual Studio Code can&apos;t find SSH program</p>
<h2 id="how-to-fix-it">How to fix it</h2>
<p>Extensions, Remote - SSH extension, settings</p>
<pre><code>Remote.SSH: Path
An absolute path to the SSH executable. When empty, it will use &quot;ssh&quot; on the path or in common install locations.
</code></pre>
<p>Set absolute path to your ssh program</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Generando par de claves SSH]]></title><description><![CDATA[<!--kg-card-begin: markdown--><h2 id="generar-claves">Generar claves</h2>
<p>La clave se genera en el directorio .ssh del usuario</p>
<pre><code># -b indica el tama&#xF1;o de la clave
ssh-keygen -t rsa -b 4096
ssh-keygen -t dsa 
# Nuevo algoritmo m&#xE1;s seguro
ssh-keygen -t ecdsa -b 521
ssh-keygen -t ed25519
</code></pre>
<h2 id="copiar-la-clave-al-servidor-ssh">Copiar la clave al servidor SSH</h2>
<pre><code>ssh-copy-id</code></pre>]]></description><link>https://blog.buendias.com/generando-par-de-claves-ssh/</link><guid isPermaLink="false">627b76a9ce7c2d0001b8e48d</guid><dc:creator><![CDATA[Buendias.com]]></dc:creator><pubDate>Wed, 11 May 2022 08:46:49 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><h2 id="generar-claves">Generar claves</h2>
<p>La clave se genera en el directorio .ssh del usuario</p>
<pre><code># -b indica el tama&#xF1;o de la clave
ssh-keygen -t rsa -b 4096
ssh-keygen -t dsa 
# Nuevo algoritmo m&#xE1;s seguro
ssh-keygen -t ecdsa -b 521
ssh-keygen -t ed25519
</code></pre>
<h2 id="copiar-la-clave-al-servidor-ssh">Copiar la clave al servidor SSH</h2>
<pre><code>ssh-copy-id -i ~/.ssh/tatu-key-ecdsa user@host
</code></pre>
<h2 id="referencias">Referencias</h2>
<p><a href="https://www.ssh.com/academy/ssh/keygen">https://www.ssh.com/academy/ssh/keygen</a></p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Trazando problemas con SSH]]></title><description><![CDATA[<!--kg-card-begin: markdown--><h2 id="servidor-alternativo-con-log-en-consola">Servidor alternativo con log en consola</h2>
<p>La mejor manera de ver los errores de autenticaci&#xF3;n es arrancando un servidor sshd en un puerto diferente y viendo el log en la pantalla</p>
<pre><code class="language-shell"># Abre servidor SSH en el puerto 2222 con debug 3
/usr/sbin/sshd -ddd -p 2222
</code></pre>
<p>Desde</p>]]></description><link>https://blog.buendias.com/trazando-problemas-con-ssh/</link><guid isPermaLink="false">627b6f8bce7c2d0001b8e45e</guid><dc:creator><![CDATA[Buendias.com]]></dc:creator><pubDate>Wed, 11 May 2022 08:23:48 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><h2 id="servidor-alternativo-con-log-en-consola">Servidor alternativo con log en consola</h2>
<p>La mejor manera de ver los errores de autenticaci&#xF3;n es arrancando un servidor sshd en un puerto diferente y viendo el log en la pantalla</p>
<pre><code class="language-shell"># Abre servidor SSH en el puerto 2222 con debug 3
/usr/sbin/sshd -ddd -p 2222
</code></pre>
<p>Desde el cliente nos conectamos con</p>
<pre><code class="language-shell"># Abre servidor SSH en el puerto 2222 con debug 3
ssh -p 2222 usuario@servidor
</code></pre>
<h2 id="errores-t%C3%ADpicos">Errores t&#xED;picos</h2>
<h3 id="permisos-incorrectos-en-el-directorio-ssh">Permisos incorrectos en el directorio .ssh</h3>
<pre><code class="language-ssh"># El propietario del directorio debe ser el usuario
chown user:user /home/user/.ssh
# Los permisos deben ser solo para el usuario
chmod 700 ~/.ssh
</code></pre>
<h3 id="publickey-authentication-test-rsa-key-is-not-allowed">publickey authentication test: RSA key is not allowed</h3>
<p>sshd no considera RSA segura y por lo tanto no permite la conexi&#xF3;n</p>
<pre><code class="language-shell"># Generar un par de claves con seguridad ed25519 y copiar la p&#xFA;blica authorized_keys
ssh-keygen -t ed25519 -b 521
</code></pre>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Crear certificado https para NGINX]]></title><description><![CDATA[<h2 id="generaci%C3%B3n-ficheros">Generaci&#xF3;n ficheros</h2><p>Generamos el par de claves (privada y p&#xFA;blica). Cuando nos pregunte el Common Name (e.g. server FQDN or YOUR name), ponemos el nombre DNS del servidor (por ejemplo, midominio.org)</p><pre><code class="language-bash">openssl req -newkey rsa:2048 -nodes -keyout certificado.key -x509 -days 365 -out</code></pre>]]></description><link>https://blog.buendias.com/crear-certificado-tls-para-https/</link><guid isPermaLink="false">621f328c486bb100010e5ba1</guid><category><![CDATA[Administración]]></category><dc:creator><![CDATA[Buendias.com]]></dc:creator><pubDate>Wed, 02 Mar 2022 09:08:08 GMT</pubDate><content:encoded><![CDATA[<h2 id="generaci%C3%B3n-ficheros">Generaci&#xF3;n ficheros</h2><p>Generamos el par de claves (privada y p&#xFA;blica). Cuando nos pregunte el Common Name (e.g. server FQDN or YOUR name), ponemos el nombre DNS del servidor (por ejemplo, midominio.org)</p><pre><code class="language-bash">openssl req -newkey rsa:2048 -nodes -keyout certificado.key -x509 -days 365 -out certifcado.pub</code></pre><h2 id="configuraci%C3%B3n-nginx">Configuraci&#xF3;n NGINX</h2><pre><code>...
http {
...
  server {
    listen      443;

    ssl_certificate           /etc/nginx/certs/cerfificado.pub;
    ssl_certificate_key       /etc/nginx/certs/cerfificado.key;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    server_name midominio.org;
    index       index.html;
    root        html;

    location / {
      ...
    }
  }
...
}
</code></pre>]]></content:encoded></item><item><title><![CDATA[Spleeter con Docker]]></title><description><![CDATA[<!--kg-card-begin: markdown--><h2 id="crear-el-contenedor">Crear el contenedor</h2>
<p>Vamos a crear un contenedor bas&#xE1;ndonos en un fichero Dockerfile del proyecto Spleeter.</p>
<pre><code class="language-bash">FROM python:3.7
RUN mkdir -p /model
ENV MODEL_PATH /model
RUN apt-get update &amp;&amp; apt-get install -y ffmpeg libsndfile1
RUN pip install musdb museval
RUN pip install spleeter==1.</code></pre>]]></description><link>https://blog.buendias.com/spleeter-con-docker/</link><guid isPermaLink="false">621d0cba486bb100010e5b65</guid><dc:creator><![CDATA[Buendias.com]]></dc:creator><pubDate>Mon, 28 Feb 2022 18:02:00 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><h2 id="crear-el-contenedor">Crear el contenedor</h2>
<p>Vamos a crear un contenedor bas&#xE1;ndonos en un fichero Dockerfile del proyecto Spleeter.</p>
<pre><code class="language-bash">FROM python:3.7
RUN mkdir -p /model
ENV MODEL_PATH /model
RUN apt-get update &amp;&amp; apt-get install -y ffmpeg libsndfile1
RUN pip install musdb museval
RUN pip install spleeter==1.4.5
ENTRYPOINT [&quot;spleeter&quot;]
</code></pre>
<p>Este archivo lo guardaremos con el nombre Dockerfile en la carpeta de trabajo que vayamos a usar. Posteriormente construiremos una imagen a partir de este fichero:</p>
<pre><code class="language-bash">$ docker build -t spleeter .
</code></pre>
<p>Crearemos una carpeta data/in/ para el fichero de entrada y otra data/out/ para los ficheros de salida:</p>
<pre><code class="language-bash">$ mkdir data/in data/out -p
</code></pre>
<h2 id="ejecutar-el-contenedor">Ejecutar el contenedor</h2>
<p>Ahora copiamos el archivo que queramos separar en data/in y ejecutamos el contenedor:</p>
<pre><code class="language-bash">$ cp archivo_a_separar.mp3 data/in$ docker run -v $(pwd)/data:/data spleeter separate -i /data/in/archivo_a_separar.mp3 -o /data/out
</code></pre>
<p>Esto separar&#xE1; el archivo de entrada en dos ficheros, uno de voz y otro de acompa&#xF1;amiento en la carpeta data/out.<br>
Si queremos separar en 4 pistas (voz, bajo, bater&#xED;a y resto), usaremos el siguiente comando:</p>
<pre><code class="language-bash">$ docker run -v $(pwd)/data:/data spleeter separate -i /data/in/i.mp3 -o /data/out/i2 -p spleeter:4stems
</code></pre>
<p>En el momento de escribir este art&#xED;culo podemos hacer la siguientes separaciones:</p>
<ul>
<li>spleeter:2stems &#x2013; voz y acompa&#xF1;amiento</li>
<li>spleeter:4stems &#x2013; voz, bajo, bater&#xED;a y resto<br>
spleeter:5stems &#x2013; voz, bajo, bater&#xED;a, piano y resto</li>
<li>Podemos resumir todo con el siguiente script:</li>
</ul>
<pre><code class="language-bash">$ git clone https://github.com/Deezer/spleeter$ cp spleeter/docker/python-3.7.dockerfile Dockerfile$ mkdir data/in data/out -p $ docker build -t spleeter .$ cp i.mp3 data/in$ docker run -v $(pwd)/data:/data spleeter separate -i /data/in/i.mp3 -o /data/out$ ls data/out
</code></pre>
<h2 id="procesando-varios-archivos">Procesando varios archivos</h2>
<p>Si queremos hacer un batch podemos usar el siguiente par&#xE1;metro para i:</p>
<pre><code class="language-bash">$ eval &quot;files=($(ls --quoting-style=shell-always -vd ./data/in/*.mp3))&quot;$ ... -i &quot;${files[@]}&quot; ...
</code></pre>
<h2 id="referencias">Referencias</h2>
<p><a href="https://github.com/deezer/spleeter/wiki/2.-Getting-started">Empezando con Spleeter</a></p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Hola mundo]]></title><description><![CDATA[<p>Bievenidos al nuevo blog de buendias.com</p>]]></description><link>https://blog.buendias.com/hola-mundo/</link><guid isPermaLink="false">621d0b9c486bb100010e5b57</guid><dc:creator><![CDATA[Buendias.com]]></dc:creator><pubDate>Mon, 28 Feb 2022 17:52:16 GMT</pubDate><content:encoded><![CDATA[<p>Bievenidos al nuevo blog de buendias.com</p>]]></content:encoded></item></channel></rss>