Tu propio Network-Music-Player o como reciclar una PC obsoleta

algo paso, antes del 775 eran buenas

si es mucho problema por que no le pones una placa barata pci de sonido

En la placa de video hay un componente identificado como B1 que estaba partido al medio, sobre el eje longitudinal. Supongo que es un fusible (como los que me quemó el rayo en el U.S. Robotics) ya que al medir otro en otra parte de la placa, me daba 0 ohms. Con eso "abierto" el mother arranca, sin video obviamente. Con un puente ahí, el mother no arranca siquiera...

Voy a reemplazar esa placa chapuza (vivotek creo que es, no la conoce ni el que la vende) por una XFX de similares características.




EDIT OFF TOPIC: encontré cd-r muy buenos, son "Verbatim" en campana plástica con una etiqueta blanca, made in china, para imprimir en inkjet, de tinte azulado (me recuerda a los viejos Azo Blue, indestructibles, aunque aquellos eran mas para el "turquesa"). Compré 100, los encuentran en Galería Jardín, en C.A.B.A.

Los probé en grabadora samsung IDE (viejita, 40X) y en una TSST mas nueva, IDE también, con NERO Linux 3 (si alguien lo necesita me chifla, ya que no existe mas) y en la Technics 987 andan perfecto, como un original. Y es un lente muy viejo, no había muchos CD-R cuando la compré y es muy "celoso" con los NO-originales. Me los recomendó el flaco del local, y yo no estaba muy convencido, pero son buenos.



Ese VT1611 es un codec AC97 que es el que genera el sonido. No logré encontrar el datasheet, a pesar que la propia VIA la referencia en otros datasheets de componentes de esa época. Hay otro codec muy similar que es el VT1612, pero tiene otro mecanismo de comunicación con el southbridge.
En la placa con sonido, debés tener otro codec que sí está soportado por Linux...

Si, creo que es un "Realtek" que vi por ahí cerca de los conectores.
 
Última edición:
Me olvidé de dejar los datos del chip de audio que SI funciona:

Código:
hk@server:~$ cat /proc/asound/cards
 0 [V8235          ]: VIA8233 - VIA 8235
                      VIA 8235 with ALC650F at 0xe000, irq 12
hk@server:~$

Es de Realtek.
 
Pero te anduvo al final el NMP??? O seguís peleando con las PCs viejas?? :LOL: :LOL:

Estoy esperando que los HDRMP de Motonorte (empresa de envíos oficial de Mercado Lobre) me trigan la placa XFX que compré ayer. Vinieron a casa (dicen) y yo no estaba (dicen). Minga! Todo el día estoy. Dicen que pasan mañana. La vez anterior hicieron lo mismo... El vendedor ya se ataja y te dice 48 hs, mientras ML te dice "mañana te lo llevamos, mostro!"

Mientras estoy deleitándome con Nero Linux grabando CDs MFSL.
Estoy desarrollando un profundo amor por Alanis Morissette.

No probé acá, cuando recupere mi "workstation" (este es el "server") voy a deshabilitar el GDM3 y ahí me pongo a probar con mpd.

Dato piola (quizá ya lo conocen, pero lo pongo igual): hay una utilidad DIVINA para quitar y poner elementos que se ejecutan al iniciar, muy práctica, para no estar escribiendo la rutas completas cada vez que queremos modificar algo:

sysv-rc-conf

xcn4zMY.png
 
Revolviendo la web, encontré el manual del motherboard del NMP, un PCChips M747 V5, y leyendo un poco ví que en un par de renglones de tooodo el texto, mencionaban dos pares de terminales denominados CD1 y CD2 e identificados como Digital Audio IN/OUT... que supuestamente son una entrada SPDIF para un lector de CD :)confused: :confused: :confused:) y una salida SPDIF para un ampli externo.

CD1CD2.gif

El asunto es que el "bracket" de salida SPDIF no lo conoce nadie en el planeta, al menos para este mobo, así que me conseguí un cable que estaba conectado antigüamente al pulsador de reset de un gabinete de una PC muuuy vieja y lo usé para acceder al par de terminales CD2 y ver que corno salía de ahí. Le metí el osciloscopio y encontré una señal SPDIF pero de nivel TTL (0 a 5V... totalmente incompatible con la norma) así que había que llevarla a 1Vpp para mandarla por un cable coaxial RG-59 hasta un DAC con entrada SPDIF y salida RCA que me sobró de cuando hice este proyecto, ya que compré dos de ellos.

Ver el archivo adjunto 122718

El primer atenuador que probé fué el que está en esta página, llamado "Simplest TTL to S/PDIF coax interface", que no es mas que un divisor de tensión x5... con una resistencia total muy baja para mi gusto, pero compatible con la norma IEC958 (SPDIF)... y que dudaba que funcionara. Pues... el que sueña que se muere... se muere, y la salida CD2 no se bancaba la carga del divisor y ni siquiera funcionaba :cry: :cry:.
Así que hay que usar un buffer intermedio, con capacidad para manejar el divisor (12mA... maso) y decidí armar el circuito, de la misma web, llamado "Simple S/PDIF output without galvanic isolation", que usa un 74HC04 con varios inversores en paralelo para aumentar la corriente de salida. Como no tenía el 74HC04, le puse un 74HC14 (sextuple Schmitt trigger) que supongo que debe ir igual (no me convence mucho el tema de los niveles del disparador... pero bue.. es lo que hay por ahora).

Junté varias cosas viejas: una "lata" tapa slot de PC, una ficha RCA para panel, el cable de "reset" que había usado antes, un pedacito de PCB experimental, un capacitor de 100nF, el divisor que ya tenía, un zócalo DIL14, el chip, varios recortes de patas de resistencias recuperadas del basurero y un conector de alimentación de diskettera de 3.5" (el divisor lo hice con 390Ω y 100Ω que mas o menos dá igual, excepto la resistencia de terminación, que vale 79Ω en lugar de 75Ω). El engendro que resultó fué esto:

TTL2SPDIF.jpg

Este finde veremos si funciona la porquería....

Si alguien se pregunta para que hago esto, la respuesta es "per jodere... :LOL:"
 
Última edición:
Bien, al fin cayó en mis manos una pc desechada formada por el siguiente combo:

Mother Asus M2N68-AM
Micro AMD Athlon 64 5200+
1 GB DDR2 667MHz Kingston

El mother tiene como audio "ALC662 High Definition Audio 6 Channels CODEC" en hardware de NVIDIA.
Al cual le agregué un rígido IDE Hitachi/IBM de 80 GB de una vieja desktop mía modelo 2006.
Metí en un pen-drive la iso de debian jessie 8.5 net install (la última versión a la fecha).
Una vez finalizada la instalación mínima con ssh, ejecuté como root:

Código:
apt-get install cifs-utils mpd alsa-base alsa-utils pm-utils
cifs-utils: instala lo necesario para acceder a comparticiones windows
mpd: no hace falta describirlo
alsa-base y alsa-utils: instala los drivers de audio y la mezcladora "alsamixer" (vital, ya veremos por qué).
pm-utils: nos permite poner el equipo en suspensión, o hibernación para encenderlo o despertarlo sin movernos de donde estemos.

Luego de instalar los paquetes mencionados, siempre como root, ejecuté:

Código:
vi /etc/network/interfaces 

# This file describes the network interfaces available on your system 
# and how to activate them. For more information, see interfaces(5). 
 
source /etc/network/interfaces.d/* 
 
# The loopback network interface 
auto lo 
iface lo inet loopback 
 
# The primary network interface 
allow-hotplug eth0 
iface eth0 inet static 
address 192.168.1.3 
netmask 255.255.255.0 
gateway 192.168.1.1
Con ésto le doy ip fija al NMP para poder manejarlo por ssh, encenderlo y apagarlo desde el celular. SI. Sin necesidad de instalar NADA MAS en el sistema, lo que facilita el trabajo a quienes no tienen
experiencia con GNU/Linux y evita "cargarlo" con mas servicios. Estuve contemplando la opción propuesta por el ilustre Dr. Zoidberg, pero encontré dos aplicaciones geniales y 100% free en Play Store,
y funcionaron al primer intento, con lo cual, para quien quiera hacer esto y no tiene ganas de configurar un webserver, es una opción muy interesante. Hay aplicaciones all-in-one pero... Las que ví, tienen
publicidad molesta o te obligan a instalar software en el servidor, cosa que a mi no me gusta. Pero sigamos con la configuración...

Verifico el audio:

Código:
hk@NMP:~$ aplay -l 
**** List of PLAYBACK Hardware Devices **** 
card 0: NVidia [HDA NVidia], device 0: ALC662 rev1 Analog [ALC662 rev1 Analog] 
  Subdevices: 0/1 
  Subdevice #0: subdevice #0 
card 0: NVidia [HDA NVidia], device 1: ALC662 rev1 Digital [ALC662 rev1 Digital] 
  Subdevices: 1/1 
  Subdevice #0: subdevice #0 
hk@NMP:~$
Esto me dice que el audio está OK, y una vez configurado el mpd como ya nos contó el Dr. Zoidberg para apuntar a una unidad de red (mediante cifs/samba y NO montando la unidad en fstab, sino en la configuración del mpd) ejecuté alsamixer como root y puse en mute todo lo que no me interesaba, y dejé al máximo MASTER, PCM y FRONT.

Funciona perfectamente. :D

¿Por qué instalar alsa-base y alsa-utils? Porque si no lo instalamos, no hay sonido. Los drivers solamente no alcanzan ya que, vaya uno a saber por qué, por defecto MASTER está en mute. Con lo que, si no
hubiese ejecutado alsamixer (parte de alsa-utils) a pesar de estar todo correcto, el MUTE hubiese evitado que escuchara algo. Y el instalador de Debian no instala alsa en una instalación mínima, uno debe instalar todo a mano. Por eso AMO Debian. No instala nada a menos que uno lo indique.

Hay una opción de Auto-Mute en alsamixer, la cual estaba "Enabled" y la cambié a "Disabled", pero no tiene efecto alguno en la reproducción. Por lo tanto la dejé tal como estaba por defecto.


A jugar.

Tenía Mupeace en el celular, y comencé a jugar. El sonido es muy parecido al que obtengo de mi CD-player Technics, en cuanto a niveles de agudos, graves y volumen; el NMP esta conectado a la entrada VCR del
sinto. La velocidad de respuesta de los comandos es inmediata. Por razones de practicidad usé un cable utp, de manera que me ví favorecido por la función WOL de todos los motherboards de este siglo.

Aquí es donde entra en juego pm-utils.

pm-utils es una colección de comandos para exprimir las posibilidades de energía de un mother. Para ver de qué es capaz un mother, basta con teclear:

Código:
hk@NMP:~$ cat /sys/power/state 
freeze standby mem disk 
hk@NMP:~$
Debemos prestar atención a mem y disk. El primero nos indica que el sistema puede suspenderse guardando todo en la memoria, y el segundo, que puede hibernar, enviando el contenido de la memoria al "disk".

Cualquiera de las dos posibilidades nos permite "dormir" y "despertar" nuestro NMP desde cualquier dispositivo android.
Para tal fin, hallé dos aplicaciones FREE y SIN PUBLICIDAD que me dejaron mas que conforme. La primera se llama "Wake On Lan" y es muy fácil de configurar, ya que la misma busca las placas de red en la LAN y
nos muestra ip y MAC, elegimos la que nos interesa, y fin del setup. Despertar el equipo se reduce a tocar el botón WAKE. Estoy 90% seguro que este sistema funciona vía WiFi de manera "indirecta". Me refiero
a que si eligen la opción de utilizar un router que "les sobre" como cliente WiFi, debido a que el WOL funciona a nivel MAC, va a enviar el paquete a la MAC correcta, sin importar como esté conectada, siempre
y cuando sea una MAC de una placa Ethernet, no inalámbrica.

XUNfQ2M.png
XUNfQ2M.png


La otra aplicación no es tan sencilla para el usuario newbie, pero cualquiera que sea capaz de enviar un mensaje de whatsapp puede realizar el "duro" trabajo de suspender o hibernar el equipo.
La app se llama Mobile SSH y configurarla es muy sencillo, basta con cargar la ip del NMP y listo. Cuando nos conectamos nos pide usuario, contraseña, y ya estamos en bash.
Tecleamos:

sudo pm-hibernate

ó bien:

sudo pm-suspend

Tocamos SEND, nos pide el pass de sudo, y en segundos nuestro NMP se pone a dormir. No es tan rápido como el Wake On Lan, lleva mas pasos, pero prefiero mil veces escribir esas líneas que lidiar con una
app que me muestra publicidad.

Al final, en whatsapp escriben mas...

n2Azba8.png


8mQNBUI.png


Hasta aquí lo que corresponde a la configuración del NMP (que es realmente muy sencilla, al alcance de cualquiera que tenga ganas de implementarlo).

Ahora, algo que me tiene "loco"...

No logro que mpd reproduzca streaming aac. Y es vital para escuchar en buena calidad la transmisión de Radio Mitre, ya que el streaming en mp3 es HO-RRI-BLE.
Localmente, es decir, no streaming sino archivos en el share samba, los reproduce sin problemas, todos, ALAC, FLAC, MP3, APE, WAV...

En fin, inviten una linda chica geek a sus casas, y van a ver como ganan cuando enciendan la pc desde el celular...

Nd0miY9.png




Faltaba la foto del NMP!!!


FZjgiWc.jpg
 
Última edición:
Bien, al fin cayó en mis manos una pc desechada formada por el siguiente combo:

Mother Asus M2N68-AM
Micro AMD Athlon 64 5200+
1 GB DDR2 667MHz Kingston

El mother tiene como audio "ALC662 High Definition Audio 6 Channels CODEC" en hardware de NVIDIA.
Al cual le agregué un rígido IDE Hitachi/IBM de 80 GB de una vieja desktop mía modelo 2006.
Ahh... bueeeee.... eso es una PC en serio!!!! :oops: :oops:

La velocidad de respuesta de los comandos es inmediata. Por razones de practicidad usé un cable utp, de manera que me ví favorecido por la función WOL de todos los motherboards de este siglo.
:oops: :oops: :oops: :cry: :cry:

Ahora, algo que me tiene "loco"...
No logro que mpd reproduzca streaming aac. Y es vital para escuchar en buena calidad la transmisión de Radio Mitre, ya que el streaming en mp3 es HO-RRI-BLE.
Localmente, es decir, no streaming sino archivos en el share samba, los reproduce sin problemas, todos, ALAC, FLAC, MP3, APE, WAV...
Necesitás instalar la libcurl mas actual que tenga Debian. Esa biblioteca es la que usa MPD para conectarse al servidor de streaming. Y tambien necesitás el decoder de AAC... que no se cual es :confused:. Tal vez venga incluido en algun otro...

:aplauso: :aplauso: :aplauso: :aplauso:
:aplauso: :aplauso: :aplauso: :aplauso:
 
Última edición:
Ahh... bueeeee.... eso es una PC en serio!!!! :oops: :oops:


:oops: :oops: :oops: :cry: :cry:


Necesitás instalar la libcurl mas actual que tenga Debian. Esa biblioteca es la que usa MPD para conectarse al servidor de streaming. Y tambien necesitás el decoder de AAC... que no se cual es :confused:


:aplauso: :aplauso: :aplauso: :aplauso:
:aplauso: :aplauso: :aplauso: :aplauso:

El mpd reproduce ese formato desde la versión .16 si no me falla la memoria.

Código:
hk@NMP:~$ mpd --version
Music Player Daemon 0.19.1

Copyright (C) 2003-2007 Warren Dukes <warren.dukes@gmail.com>
Copyright (C) 2008-2014 Max Kellermann <max@duempel.org>
This is free software; see the source for copying conditions.  There is NO
warranty; not even MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Database plugins:
 simple proxy upnp

Storage plugins:
 local smbclient nfs

Neighbor plugins:
 smbclient upnp

Decoders plugins:
 [mad] mp3 mp2
 [mpg123] mp3
 [vorbis] ogg oga
 [oggflac] ogg oga
 [flac] flac
 [opus] opus ogg oga
 [sndfile] wav aiff aif au snd paf iff svx sf voc w64 pvf xi htk caf sd2
 [audiofile] wav au aiff aif
 [dsdiff] dff
 [dsf] dsf
 [faad] aac
 [mpcdec] mpc
 [wavpack] wv
 [modplug] 669 amf ams dbm dfm dsm far it med mdl mod mtm mt2 okt s3m stm ult umx xm
 [mikmod] amf dsm far gdm imf it med mod mtm s3m stm stx ult uni xm
 [sidplay] sid mus str prg P00
 [wildmidi] mid
 [fluidsynth] mid
 [adplug] amd d00 hsc laa rad raw sa2
 [ffmpeg] 16sv 3g2 3gp 4xm 8svx aa3 aac ac3 afc aif aifc aiff al alaw amr anim apc ape asf atrac au aud avi avm2 avs bap bfi c93 cak cin cmv cpk daud dct divx dts dv dvd dxa eac3 film flac flc fli fll flx flv g726 gsm gxf iss m1v m2v m2t m2ts m4a m4b m4v mad mj2 mjpeg mjpg mka mkv mlp mm mmf mov mp+ mp1 mp2 mp3 mp4 mpc mpeg mpg mpga mpp mpu mve mvi mxf nc nsv nut nuv oga ogm ogv ogx oma ogg omg psp pva qcp qt r3d ra ram rl2 rm rmvb roq rpl rvc shn smk snd sol son spx str swf tgi tgq tgv thp ts tsp tta xa xvid uv uv2 vb vid vob voc vp6 vmd wav webm wma wmv wsaud wsvga wv wve
 [gme] ay gbs gym hes kss nsf nsfe sap spc vgm vgz
 [pcm]

Output plugins:
 shout null fifo pipe alsa roar ao oss openal pulse jack httpd recorder

Encoder plugins:
 null vorbis opus lame wave flac

Archive plugins:
 [bz2] bz2
 [zzip] zip
 [iso] iso

Input plugins:
 file alsa archive curl ffmpeg smbclient nfs mms cdio_paranoia

Playlist plugins:
 extm3u m3u pls xspf asx rss soundcloud cue embcue

Protocols:
 file:// http:// https:// mms:// mmsh:// mmst:// mmsu:// gopher:// rtp:// rtsp:// rtmp:// rtmpt:// rtmps:// smb:// nfs:// cdda:// alsa://
hk@NMP:~$

La librería faad2 está instalada (te la instala el propio mpd). El tema es por streaming... Estuve leyendo mucho sobre eso y todo el mundo tiene el mismo problema...
Todas las librerías las tengo acutalizadas, es la última versión de Debian.
 
Pero la libcurl la tenés instalada? Con esa accedés al streaming. Con la faad decodificás aac.
Además tené ojo, por que MPD no tiene decoders propios sino que usa los externos que están instalados... pero sé que tiene algunos bardos con algunas cosas. Metete al foro del MPD y hacé una búsqueda para ver que reportan ahí...
 
Pero la libcurl la tenés instalada? Con esa accedés al streaming. Con la faad decodificás aac.
Además tené ojo, por que MPD no tiene decoders propios sino que usa los externos que están instalados... pero sé que tiene algunos bardos con algunas cosas. Metete al foro del MPD y hacé una búsqueda para ver que reportan ahí...

Si, libcurl está, el streaming funciona para todo, menos aac. Ya paseé por 50 foros y todos están con lo mismo. :cry:
 
Es una URL que termina en .aac. Yo pongo esa URL en un m3u.



Acá está el m3u:

Código:
hk@NMP:/var/lib/mpd/playlists$ cat Mitre.m3u 
#EXTM3U

 #EXTINF:-1, MitreMP3
http://201.212.5.145/Mitre790.mp3

 #EXTINF:-1, MitreAAC
http://201.212.5.145/Mitre790.aac
hk@NMP:/var/lib/mpd/playlists$

Hasta hoy andaba bien el mp3, pero ahora se corta... Muy raro...
 
Última edición:
Odio las payasas radios argentas que solo están preparadas para ser escuchadas a través de un pu@#$ navegador web con un player del or%$@
Acá en San Juan hay una radio con muy buena música, pero vía web se accede por medio de un sitio que les dá el servicio de radio-on-line y genera una cookie y una clave y no se que mie@#$%da más... ergo... el MPD no puede pillarla por que la URL tiene verdura agregada al final, y cambia con cada conexión... ahora bien.. con el player web de porquería que ellos te dan, si anda..
Mejor la corto por que me estoy envenenando de nuevo...



El mpd reproduce ese formato desde la versión .16 si no me falla la memoria.

hk@NMP:~$ mpd --version
Music Player Daemon 0.19.1

Copyright (C) 2003-2007 Warren Dukes <warren.dukes@gmail.com>
Copyright (C) 2008-2014 Max Kellermann <max@duempel.org>
Recién me doy cuenta de esto. Fijate si hay alguna versión mas nueva del MPD en los repositorios de Debian. Yo estoy usando la 0.19.10 o 0.19.13.. no me acuerdo, y la 0.19.1 es medio vieja.
Si no hay, vas a tener que bajar la ultima del www.musicpd.org y vas a tener que compilarla a pedal... pero es fácil y vá como piña...

Acá hay algunas cosas adicionales para mirar (buscar en google con mpd play aac stream)
http://mpd.wikia.com/wiki/Music_Player_Daemon_Stream_Troubleshooting
https://bugs.musicpd.org/view.php?id=4161

Hay mas links sobre el problema... pero son viejos, de versiones muy antiguas...
Fijate el primer link, por que es una guía de posibles causas y soluciones por la cual no funcan los streams. En el segundo hay link a una solución (pero es del 2014). O fijate el log del MPD a ver que onda...
 
Última edición:
Acá hay algunas cosas adicionales para mirar (buscar en google con mpd play aac stream)
http://mpd.wikia.com/wiki/Music_Player_Daemon_Stream_Troubleshooting
https://bugs.musicpd.org/view.php?id=4161

Hay mas links sobre el problema... pero son viejos, de versiones muy antiguas...
Fijate el primer link, por que es una guía de posibles causas y soluciones por la cual no funcan los streams. En el segundo hay link a una solución (pero es del 2014). O fijate el log del MPD a ver que onda...

Si, ya estuve viendo esos links... Hace una semana que estoy renegando con el aac...

No recuerdo dónde, pero en algún lado leí que si no accedés desde la página de la radio, no te manda el stream...

El foobar2000 lo reproduce sin problemas, pero cambia la extensión de aac a flv. ¿?
 
Y abajo de todo está la solución, el bug fue solucionado en la versión 0.19.2. Agregué backports a apt, y actualicé a 0.19.12.
Me parece que vas a tener que seguir trabajando :unsure:

En la 0.19.10 o un poco anterior apareció un bug en el cual te desaparece la evolución temporal del avance de la canción. Lo vas a ver en el Mupeace por que la "barrita y pelotita" que marca cuanto tiempo lleva la canción no comienza a moverse, o se mueve un poco y luego se detiene y ahí queda, con lo que no sabés cuanto tiempo de reproducción lleva la canción.
Ese bug lo repararon en la versión 0.19.13, que es la que yo tengo instalada, aunque en la actualidad van por la versión 0.19.18, con varios fixes mas.

Vos verás si te molesta o no este detalle.
 
Me parece que vas a tener que seguir trabajando :unsure:

En la 0.19.10 o un poco anterior apareció un bug en el cual te desaparece la evolución temporal del avance de la canción. Lo vas a ver en el Mupeace por que la "barrita y pelotita" que marca cuanto tiempo lleva la canción no comienza a moverse, o se mueve un poco y luego se detiene y ahí queda, con lo que no sabés cuanto tiempo de reproducción lleva la canción.
Ese bug lo repararon en la versión 0.19.13, que es la que yo tengo instalada, aunque en la actualidad van por la versión 0.19.18, con varios fixes mas.

Vos verás si te molesta o no este detalle.
No lo ví aún eso, sí ví que no podés adelantar la canción. Se arregló en tu versión?





Acabo de testearlo, y con archivos APE funciona bien, pero con FLAC no se mueve... Voy a ver qué hay en "testing".
 
Última edición:
Instalé desde testing la versión 0.19.18-1 y funciona todo.

Por si alguien quiere hacerlo, el procedimiento sería el siguiente:

agregar al archivo /etc/apt/sources.list la línea:

deb http://http.us.debian.org/debian/ testing main

Guardar.

apt-get update

apt-get -t testing install mpd

Actualiza algunas librerías además del mpd.
 
No lo ví aún eso, sí ví que no podés adelantar la canción. Se arregló en tu versión?
No sé... nunca tuve ese problema :confused:

Acabo de testearlo, y con archivos APE funciona bien, pero con FLAC no se mueve...
Yo tengo todo en FLAC y algo en emepetré y en ninguno funcionaba, por eso compilé la versión 0.19.13 que informaba de la corrección del fallo.
 
Atrás
Arriba