Posted by hordia on 7th July 2008
Este post surge dado que recientemente redescubrí la radio de last.fm. Principalmente gracias a que me bajé el programa que proveen ellos (btw, multiplaforma y Software Libre). Digo que redescubrí porque antes la usaba desde el amarok, cosa que esta bien, ya que uno centraliza todo ahi, pero este programita tiene algunas cosas piolas y en algunas situaciones es mucho más cómodo de usar, sobre todo para cambiar de radios, por artistas o tags, etc y encima te tira algo de data (parecido a lo que tiene el amarok que busca en wikipedia, nada más que “propiedad” de last.fm). Pero lo que me hizo “engancharme” es el tema de poner un artista que me guste y que me empiece a tirar temas con la misma onda, cosa que me hace conocer canciones e interpretes nuevos. ¿Por qué cuento esto? Por que desencadeno en que comience a usar seguido el botón de “Love”/”Favorito” de la aplicación, que es una forma de decirle a last.fm que ese tema te gusta y que lo tenga en cuenta para volverlo a pasar en el futuro o para (supongo) que tengan más probabilidad de aparecer temas similares (si no te gusta para nada, también se puede “bannear”). Bueno, todo esto viene dado que de tanto presionar “love” (y descubrir/redescubrir varios artistas, sobre todo en blues y jazz) queria tener una forma de acceder a todo eso (nombre del tema + interprete). El programa en cuestión muestra una lista de las canciones recientemente maracadas como favoritas, pero no permite copy&paste y tampoco vía web hay forma de acceder a esa información, como si pasa con otras cosas, por ejemplo las canciones recientemente escuchadas… (con la nueva versión del sitio si se puede: Last.fm: The Next Generation)
Bueno, buscando un poco di con la API (versión 2.0), al parecer reciente, pero sin la capacidad de “recuperar” las últimas loved songs… asi que me remití a la versión 1.0 que si lo permite y además se puede usar sin api key. Entonces lo que hice fue armarme un script en python que descargara las últimas canciones “favoritas” y las vaya guardando en un xml (o .txt), es decir a medida que aparecen nuevas, las agrega y elimina los duplicados…
El script es este: recentLovedTracksList.py
Tip: si uno quiere estar seguro de no perderse ninguna canción, dado que las “canciones favoritas recientes” son solo 10, puede poner este script a correr en cron… (si es que va marcar muchas canciones como favoritas, pero a lo sumo y con mucha suerte uno marca como “loved” una por hora y la frecuencia por supuesto tiende bajar)
Ya que estaba jugando con la api, hice otro script para descargarme todo el historial de escucha (otra “feature” que no vi disponible vía web, pero por suerte con un poco de “hacking” se puede hacer con la API):
lastfmProfileBackup.py
No se para que me puede servir, pero es info mía y ya que la tiene otra persona, al menos me gusta poder tenerla yo
Otras aplicaciones
Ya que escribo sobre last.fm aprovecho para comentar un par de “nuevos usos” que se me ocurrieron de este tipo de sistemas, ambos se aplican a un player haciendo scrobbling en una fiesta/reunión:
- Con esto se tiene automáticamente trackeada y publicada la lista de canciones que se escucharon. ¿Cuantas veces uno quiere saber como se llama esa canción que le gustó el día anterior para poder volverla a escucharla?
- Si uno no quiere estar eligiendo música, pero quiere asegurarse que va a escuchar algo de su agrado, puede poner su radio personalizada y listo… “satisfacción garantizada”
. Esta feature ahora es paga, pero dado que cualquier usuario puede escuchar la radio del otro… no es difícil imaginarse como se puede salvaguardar este punto… de todas formas, la suscripción no es cara, alrededor de 3 euros por mes (creo).
audio
, Castellano
, free software
, ideas
, MIR
, music
, python
, web 
Share This/Compártelo
Posted in music, free software, python, Castellano, web, MIR, ideas | No Comments »
Posted by hordia on 6th August 2007
Recently I’ve added cortado applet to my server to have ogg streaming (check this) in this blog… but then I realized that does not work with many applets in the same page… (bad for a blog) so I had to move the streaming parts to many separate (new) html pages (for example one for each post or topic)
And for each one add a code like this one:
<body>
<script language="javascript">
function restart() {
document.applets[0].restart();
}
function loadUrl(uri, audio) {
document.applets[0].setParam("audio", audio);
document.applets[0].setParam("url", uri);
restart();
}
</script>
<applet archive="../cortado-ovt.jar" code="com.fluendo.player.Cortado.class" width="320" height="20">
<param name="url" value="" />
<param name="local" value="false" />
<param name="framerate" value="5.0" />
<param name="keepaspect" value="true" />
<param name="video" value="false" />
<param name="audio" value="true" />
<param name="seekable" value="true" />
<param name="autoPlay" value="false" />
<param name="duration" value="200" /></applet>
<button onClick="loadUrl('http://audiores.uint8.com.ar/files/audios/morph/Piano.ff.C5-mono-short.ogg', 'true')">
Piano C5
</button>
<button onClick="loadUrl('http://audiores.uint8.com.ar/files/audios/morph/oboe.mf.C5B5-mono-short.ogg', 'true')">
Oboe C5
</button>
<button onClick="loadUrl('http://audiores.uint8.com.ar/files/audios/morph/take1.ogg', 'true')">
Take1
</button>
<button onClick="loadUrl('http://audiores.uint8.com.ar/files/audios/morph/take2-inverted.ogg', 'true')">
Take2
</button>
</body>
To have something like this: streaming morph demos.
audio
, english
, flash
, java
, programming
, web 
Share This/Compártelo
Posted in audio, programming, English, web, java, flash | No Comments »
Posted by hordia on 1st August 2007
If you noticed, in my last post I had added ready to play demos through del.icio.us streaming script, which it’s really simple, you only have to copy the code below and place it in anywhere you want in your HTML and your mp3 links will automatically become playable.
<script type="text/javascript" src="http://del.icio.us/js/playtagger"></script>
Then you have something like this: Elvis harmonized
There are many other options like odeo players with different sizes and also ready to embed where you want… Indeed, this google player (flash based) should work too:
<iframe style="border: 1px solid rgb(170, 170, 170); width: 500px; height: 25px;" id="musicPlayer"
src="http://mail.google.com/mail/html/audio.swf?audioUrl=URLMP3FILE MP3"></iframe>
But all those implementations only work with mp3 files and aren’t free software…, and that was annoying me a little (check this) so I was looking for ogg vorbis alternatives… and luckily I found one: Cortado.
It’s a Java applet from Fluendo which is able to play Ogg Theora, Ogg Vorbis, Mulaw audio, MJPEG and his own Smoke codec. It’s also free software and it’s released under GPL. As I read only works with SUN’s jre version… so isn’t completely free either… but I think is closer and I can choose ogg files again… btw, SUN java version should (or at least they say that) be GPL compatible very soon…
The bad thing: has poorly documentation (and not clear)… anyway I managed to get it working. I’ve downloaded the ogg vorbis last pre-compiled jar file and with an applet code like below, I get it working more or less quickly.
<applet archive="cortado-ovt.jar" code="com.fluendo.player.Cortado.class" width="320" height="20">
<param name="url" value="http://audiores.uint8.com.ar/files/audios/elvis-harmonized.ogg" />
<param name="local" value="false" />
<param name="framerate" value="5.0" />
<param name="keepaspect" value="true" />
<param name="video" value="false" />
<param name="audio" value="true" />
<param name="seekable" value="true" />
<param name="autoPlay" value="false" />
<param name="duration" value="203" /></applet>
Then you have something like this:
enjoy!
Update: For many applets in the same page check this post: “Many files to stream with cortado in the same page”
audio
, blog
, english
, flash
, free software
, GPL
, java
, music
, podcast
, programming
, web 
Share This/Compártelo
Posted in audio, music, free software, podcast, programming, GPL, blog, English, web, java, flash | 8 Comments »