Lastfm-Radiorecorder

Übersicht Sonstiges Projekte

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

AndreasV

Betreff: Lastfm-Radiorecorder

BeitragSo, Jul 13, 2008 22:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Lastfm-Radiorecorder ist ein Programm zum Anhören und Aufnehmen von Radiostationen des sozialen Musiknetzwerk Last FM. Last.FM ist ein Musiknetzwerk, das für den Anwender anhand seiner Hörgewohnheiten einen persönlichen Radiosender generiert; alternativ stellt last.fm einen Musik-Stream anhand von Schlüsselwörtern, Lieblings-Bands, Musikrichtungen etc. zusammen. Mit meinem Programm kann man diese Streams anhören und aufnehmen, ohne dass man dazu Mitglied bei last.fm sein müsste.

user posted image

Funktionen:
  • Abspielen von "Tag/ Genre"-, "Ähnliche Künstler"- und "Benutzer" Radiostationen, ohne dass der Hörer selbst bei last.fm angemeldet sein muss (über Einbindung der last.fm Widgets mit Hilfe der MaxGUI-HTMLView-Funktion).
  • Einfaches Umschalten zwischen verschiedenen Kanälen, Favoritenliste
  • Aufnahme der laufenden Radiostation direkt im OGG oder MP3-Format (analoge Aufnahme über den StereoMix der Soundkarte)
  • Automatische Aufteilung in Tracks (experimentelle Funktion)
  • Graphischer VU-Meter zur Kontrolle der Lautstärke des Eingangssingnals
  • Portabilität: Lastfm-Radiorecorder läuft ohne Installation und besteht aus einer einzelnen, ausführbaren Datei. Packen Sie das Programm auf einen USB-Stick, schließen ihn an einen PC mit Internetanschluss an und Sie sind bereit zur Aufnahme.
  • Update 14.07.08 Last.FM Seite kann aufgerufen werden. Last.FM-Nutzer können sich so einloggen und die Lieder, die sie in last.fm abspielen werden dann auch 'gescrobblet' (zu ihrem Benutzerprofil hinzugefügt)

Systemvoraussetzungen:
  • PC mit Windows 2000/XP/VISTA und einem Internetanschluss, mit dem störungsfreies Streaming von Internetradio möglich ist (DSL, UMTS oder vergleichbare Bandbreite)
  • Internetexplorer mit installiertem Flash Plugin
  • Für die Aufnahme: Eine Soundkarte, die den Stereo Mix (je nach Hersteller auch als "WaveOut" oder "What You Here" bezeichnet) aufnehmen kann oder eine virtuelle Soundkarte (z.B. Virtual Audio Cable).
  • 1 MB für das Programm und 3 MB für temporäre Dateien auf einem beliebigen, beschreibaren Datenträger (Festplatte, USB-Stick, Wechselmedium), für das Aufnehmen sollte es dann natürlich etwas mehr Platz sein (Empfohlen: mindestens 200 MB für eine Stunde Aufnahme, je nach Aufnahmedauer entsprechend mehr).


Download: http://lastfm-radiorecorder.origo.ethz.ch/download (ca. 1.23 MB)
Anleitung: http://lastfm-radiorecorder.or...leitung_de
Homepage http://lastfm-radiorecorder.origo.ethz.ch/
  • Zuletzt bearbeitet von AndreasV am Di, Jul 15, 2008 9:18, insgesamt 7-mal bearbeitet
 

Darren

BeitragSo, Jul 13, 2008 22:49
Antworten mit Zitat
Benutzer-Profile anzeigen
schade, dass ich linux habe. Ist aber ne coole Idee, die du da hattest. Gefällt mir. aber wieso sollte ich die lieder aufnehmen, wenn ich sie mir eh online anhören kann?
MFG Darren
 

Code der Verwirrung

BeitragSo, Jul 13, 2008 22:54
Antworten mit Zitat
Benutzer-Profile anzeigen
ist doch nicht schlecht wenn man mal ein coolen track gefunden hat oder?
 

AndreasV

BeitragSo, Jul 13, 2008 22:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Darren hat Folgendes geschrieben:
schade, dass ich linux habe. Ist aber ne coole Idee, die du da hattest. Gefällt mir. aber wieso sollte ich die lieder aufnehmen, wenn ich sie mir eh online anhören kann?


Benutze das quasi als Zufallsgenerator für den mp3-Stick: aufnehmen geht direkt dadrauf und ich hab die songs auch unterwegs ohne internetanschluss.

außerdem ist es auch ohne aufnahme ganz praktisch...
 

Darren

BeitragSo, Jul 13, 2008 22:57
Antworten mit Zitat
Benutzer-Profile anzeigen
AndreasV hat Folgendes geschrieben:
außerdem ist es auch ohne aufnahme ganz praktisch...


nuja dafür gibts bei ubuntu rythmbox. da hab ich nen last.fm plugin.

vlt kannst du ja noch einbauen, dass die leute, die nen account haben mit dem tool auch tracks scrobbeln, liben oder taggen können.
MFG Darren
 

AndreasV

BeitragSo, Jul 13, 2008 23:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Darren hat Folgendes geschrieben:
AndreasV hat Folgendes geschrieben:
außerdem ist es auch ohne aufnahme ganz praktisch...


nuja dafür gibts bei ubuntu rythmbox. da hab ich nen last.fm plugin.

vlt kannst du ja noch einbauen, dass die leute, die nen account haben mit dem tool auch tracks scrobbeln, liben oder taggen können.


gescrobblet wird schon, solange man im internetexplorer bei lastfm eingeloggt ist (bzw. sich nicht ausgeloggt hat), werde aber noch einen "Log In" Button hinzufügen, dass mit lieben oder taggen ist schwieriger, weil das Programm technisch gesehen ja nur ein widget von last.fm einbettet und diesem widget fehlen die beiden funktionen leider...

im moment quält mich eher das tracksplitting, das funktioniert bei größerer Aufnahmezeit nämlich nur sehr bedingt...
 

Rocys

BeitragMo, Jul 14, 2008 9:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Top Idee! Gleich mal saugen!

Edit:
Der Server sagt:
Zitat:
An internal error occured: the download list is currently not available.

joKe

BeitragMo, Jul 14, 2008 9:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Was sagen denn die "echten" last.fm betreiber denn dazu?
Ich bin zufällig last.fm user und die haben dafür doch ihr eigenes Tool,
wollt nur mal wissen ob das überhaupt legal ist Smile

mfg
joKe
Projekt: Pollux Renegades Coop
[Maschine: Intel DualCore2 2x 3Ghz | 4096 DRR2 | GeForce GTX 260 Ultra]
 

AndreasV

BeitragMo, Jul 14, 2008 9:52
Antworten mit Zitat
Benutzer-Profile anzeigen
joKe hat Folgendes geschrieben:
Was sagen denn die "echten" last.fm betreiber denn dazu?
Ich bin zufällig last.fm user und die haben dafür doch ihr eigenes Tool,
wollt nur mal wissen ob das überhaupt legal ist Smile

mfg
joKe


Das Programm macht nichts anderes, als die frei verfügbaren Widgets (kleine Flash-Applikationen, die man in Webseiten einbinden kann) über die HTMLview Funktion von MaxGUI in das Programm zu integrieren (und den Betreibern sollte es egal sein, mit welchem Browser ihre Widgets abgerufen werden, nichts anderes passiert in meinem Programm). Abgesehen davon stünde sogar die "offizielle" last.fm Software unter einer offenen Lizenz (ich meine sogar GPL), ist für mein Programm aber irrelevant, da es wie gesgt nur eine Oberfläche für die Internet-Widgets darstellt.

Die Aufnahme von Internetradios über den StereoMix ist in Deutschland auch legal (solange Du brav deine GEMA-Gebühren für deinen internetfähigen PC bezahlst). Mein Programm ist kein Streamripper, der direkt die Dateien abgreift, es wird nur der von der Soundkarte wiedergegebene Ton aufgenommen (auch dafür gibt es andere Programme, ich habe das nur der Einfachheit halber unter eine gemeinsame Oberfläche gepackt).

@Rocys: Einfach später nochmal probieren, bei mir funktioniert es!

Ansonsten ist hier ein Mirror.
 

AndreasV

Betreff: UPDATE: Version 1.2

BeitragMi, Jul 16, 2008 22:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, so jetzt ist endlich einiges verwirklicht, was mich schon länger genervt hatte:
  • Automatische Track-Aufteilung basiert jetzt auf CUE-Dateien, die während der Laufzeit dynamisch erstellt werden. Ein Anzeigefenster informiert über derzeitige Trackanzahl etc. Ist das Tracksplitting aktiviert, sollten allerdings im Hintergrund nach Möglichkeit möglichst wenig andere Programme laufen (jedenfalls keine, die intensiv Lese-Screibzugriffe produzieren), dann arbeitet die Funktion mittlerweile recht präzise (Sie nimmt allerdings an, das Lieder mindestens 1 Minute lang sind, was in den meisten Fällen allerdings ohnehin zutreffen sollte).
  • Windows-Mixer und VU-Meter lassen sich während der Aufnahme nun nicht mehr aktivieren (spart wichtige Systemresourcen).
  • Eigene Bookmarks werden nun ganz oben in der Favoritenliste abgespeichert, Bookmarks können jetzt auch gelöscht werden.
  • Das Programm merkt sich nach dem Beenden die letzten Einstellungen (Speicherort, -format, letzte gewählte Radiostation.
  • Endlich BiltzMax Framework-Funktion genutzt, Programm ist jetzt wieder diesseits von 1 MB!

Download-URL ist immer noch die im ersten Post.

Christoph

BeitragDo, Jul 17, 2008 23:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey, erstmal Lob, dein Projekt gefällt mir!

Es hat im Vergleich zur Konkurrenz "TheLastRipper" schon einige Vorteile.

Allerdings hab ich einen Verbesserungsvorschlag:

Es wäre gut, wenn die Dateien beim Modus "Tracks automatisch teilen" gleich schon richtig benannt (am besten noch mit ID3-Tags Very Happy ) gespeichert würden. Dann muss man nicht selbst umbennenen.

Das ist vor allem gut, wenn man den aufgenommenen Titel nicht kennt und dann nicht weiß, wie er heißt und von wem er ist Wink
 

AndreasV

BeitragDo, Jul 17, 2008 23:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Christoph hat Folgendes geschrieben:
Hey, erstmal Lob, dein Projekt gefällt mir!

Es hat im Vergleich zur Konkurrenz "TheLastRipper" schon einige Vorteile.

Allerdings hab ich einen Verbesserungsvorschlag:

Es wäre gut, wenn die Dateien beim Modus "Tracks automatisch teilen" gleich schon richtig benannt (am besten noch mit ID3-Tags Very Happy ) gespeichert würden. Dann muss man nicht selbst umbennenen.

Das ist vor allem gut, wenn man den aufgenommenen Titel nicht kennt und dann nicht weiß, wie er heißt und von wem er ist Wink


Das mit dem id-tag ist ein sehr frommer Wunsch, im Moment ist das Tracksplitting selbst noch etwas buggy, z.T. trennt es etwas zu früh.

Um zu verstehen, warum ID3-Tags so schwierig sind: Das Programm 'rippt' den Stream nicht, sondern nimmt ihn analog über die Soundkarte neu auf. Es 'weiss' also gar nicht, welcher Track gerade gespielt wird und muss außerdem auch 'raten' wann ein Track zu Ende ist bzw. ein neuer anfängt. Dazu benutze ich im Moment folgende Algorithmus: Das Programm geht genau dann davon aus, dass eine Pause vorliegt, wenn nach einer Minuten ein Stillephase von wenigstens einer halben Sekunde oder nach 30 Sekunden eine Stillephase von wenigstens 2 Sekunden entsteht. Diese Daten werden in einer CUE-Datei abgespeichert und nach Ende der Aufnahme wird dann die Aufnahme gemäß dieser Datei geschnitten.

Für ID3-Tags gibt es aber eine gut funktionierende Lösung: Winamp kann ab Version 5.5 der aktuellen Version "Auto-Taggen" (sendet Daten über den Track an CDDB und findet dann in 95% der Fälle die passenden Titel/ Künstler). Damit das klappt sollte man allerdings vorher die Tracknummer von Hand entfernen. Klappt übrigens besonders gut, wenn man z.B. wenigstens den Titel ODER die Band schon kennt, dann findet es die restlichen daten eigentich so gut wie immer.

Für die nächste Version habe ich zunächst geplant, den Player aus dem heute offiziell gestartetenneuen Design der last.fm Page einzubauen, läuft auch schon, allerdings ist der Player noch etwas instabil, bzw. erzeugt relativ hohe Umschaltzeiten.

Hier mal ein Screenshot:

user posted image

Günstiger Nebeneffekt: last.fm Benutzer können dann auch Tracks "lieben" oder "verbannen"![/img][/url]
  • Zuletzt bearbeitet von AndreasV am Fr, Jul 18, 2008 0:07, insgesamt einmal bearbeitet

Eingeproggt

BeitragDo, Jul 17, 2008 23:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab deinen Recorder bis jetzt noch nicht getestet... Bin allgemein nicht so der Inet-Radio Fan.

Zitat:
Für ID3-Tags gibt es aber eine gut funktionierende Lösung: Winamp kann in der aktuellen Version "Auto-Taggen" (sendet daten über den Track an CDDB und findet dann in 95% der Fälle die passenden Daten).


Aber das halte ich wiederum für einen sehr frommen Wunsch Smile
Die Winamp-Funktion "Auto-Tag" bracht bei mir noch NIE die richtigen Ergebnisse oder überhaupt welche. Confused

mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9
 

AndreasV

BeitragFr, Jul 18, 2008 0:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Eingeproggt hat Folgendes geschrieben:
Hab deinen Recorder bis jetzt noch nicht getestet... Bin allgemein nicht so der Inet-Radio Fan.

Zitat:
Für ID3-Tags gibt es aber eine gut funktionierende Lösung: Winamp kann in der aktuellen Version "Auto-Taggen" (sendet daten über den Track an CDDB und findet dann in 95% der Fälle die passenden Daten).


Aber das halte ich wiederum für einen sehr frommen Wunsch Smile
Die Winamp-Funktion "Auto-Tag" bracht bei mir noch NIE die richtigen Ergebnisse oder überhaupt welche. Confused

mfG, Christoph.


Welche Winamp-Version hast Du denn? Ich habe es mit der 5.54er mit diversen selbst live mitgeschnittenen Tracks probiert, und da hat es teilweise selbst bei nur halb aufgenommenen Liedern geklappt (und es war beileibe nicht nur Kommerzscheiss, hat sogar Turmion Kätilöt ohne Mühe erkannt und das will was heißen...).

Die andere Version um an die Titeldaten zu kommen: Bei last.FM registrieren, dann wird eh jeder gespielte Track protokolliert und man kann ganz einfach naschauen, welches Lied es war.

Technisch ist sonst eben bei der Arbeitsweise meines Programms nichts anderes drin, die einzige theoretische Möglichkeit wäre ein OCR der im Flash-Window jeweils angezeigten Daten und das ist natürlich absolut utopisch...

DAK

BeitragFr, Jul 18, 2008 0:08
Antworten mit Zitat
Benutzer-Profile anzeigen
geile sache das...

das zeug zeigt ja an, wie das lied heißt... könntest du nicht den teil des bildschirms sozusagen abfilmen und auslesen und so auf den liednamen kommen?

könntest du bitte auch das 'Tracküberwachung'sfenster minimierbar machen? so dauer-im-vordergrund und unminimierbar nervts schon irgend wie... und aus dem bildschirm rausschieben ist auch nicht so wirklich das ware...
Gewinner der 6. und der 68. BlitzCodeCompo
 

AndreasV

BeitragFr, Jul 18, 2008 0:15
Antworten mit Zitat
Benutzer-Profile anzeigen
DAK hat Folgendes geschrieben:
geile sache das...

das zeug zeigt ja an, wie das lied heißt... könntest du nicht den teil des bildschirms sozusagen abfilmen und auslesen und so auf den liednamen kommen?

könntest du bitte auch das 'Tracküberwachung'sfenster minimierbar machen? so dauer-im-vordergrund und unminimierbar nervts schon irgend wie... und aus dem bildschirm rausschieben ist auch nicht so wirklich das ware...


Genau das mein ich ja mit "OCR", der Liedtext wird angezeigt, aber das ist innerhalb einer Flash-Datei und nicht ohne Weiteres als Text abgreifbar...von daher: Nein.

Minimierbares Tracksplitting-Window ist hingegen kein großes Ding...merk ich für 1.3 vor.

DAK

BeitragFr, Jul 18, 2008 0:28
Antworten mit Zitat
Benutzer-Profile anzeigen
weiß schon, dass du das nicht direkt als text auslesen kannst... ich hab mir nur gedacht, dass dus vll abfilmen kannst und das ergebniss dann per einer art schrifterkennung in text verwandeln kannst...

so viel ich gesehen hab, hat das ganze die ganze zeit über die gleiche schriftart/größe, also sollt es nicht allzu schwer sein, das ganze in text umzuwandeln...

dadurch währe dann auch das problem des falschen schneidens weg, da das prog immer dann schneiden könnte, wenn sich der text ändert... da hättest du dann auch kein problem mit liedern, die zwischen durch mal eine sekunde pause drin haben.
Gewinner der 6. und der 68. BlitzCodeCompo
 

AndreasV

BeitragFr, Jul 18, 2008 10:18
Antworten mit Zitat
Benutzer-Profile anzeigen
DAK hat Folgendes geschrieben:
weiß schon, dass du das nicht direkt als text auslesen kannst... ich hab mir nur gedacht, dass dus vll abfilmen kannst und das ergebniss dann per einer art schrifterkennung in text verwandeln kannst...

Irgendwie reden wir aneinander vorbei OCR ist die englische Abkürzung für [url=de.wikipedia.org/wiki/Texterkennung]Texterkennung[url] und eine solche überschreitet a) meine Fähigkeiten in BlitzMax bei Weitem b) bezweifle ich, dass sich das bei angemessener Verarbeitungsgeschwindigkeit und halbwegszuverlässiger Erkennungsrate überhaupr realisieren lässt.


DAK hat Folgendes geschrieben:
dadurch währe dann auch das problem des falschen schneidens weg, da das prog immer dann schneiden könnte, wenn sich der text ändert... da hättest du dann auch kein problem mit liedern, die zwischen durch mal eine sekunde pause drin haben.


Die Idee, den Screen zu grabben, um das Trackende zu bestimmen ist nicht so schlecht, hier gibt es zwei Voraussetzungen, die ich prüfen muss:
  • Bislang ist die Tracküberwachung in einem separeten Programm realisiert, das müsste ich als Funktion einbauen. Damit das vernünftig geht, würde ich die Nutzerinteraktion während der Aufnahme auf das Drücken der "Stop"-Taste, maximal noch den "Track weiter" Button reduzieren. das wäre ohnehin sinnvoll, man muss während der Aufnahme ja nicht unbedingt das Radio wechseln, da kann man ja auch vorher "Stop" drücken.
  • Die ScreenGrab und Vergleich-Routine muss eine Laufzeit von ca. 250 ms oder weniger haben, sonst verzögert sie das Programm zu stark.


Ich schätze mal, das wird für die nächste Version nichts, aber eventuell für die übernächste.
Vorteil bei der Methode: Es wäre u.U. möglich, statt eines "echten" ID3-Tags in Textform einfach die Screenshots in den ID3-tag einzufügen (geht ja ab ID3v2), dann hätte man die Bilder in den MP3-Dateien und müsste es halt noch selber ablesen. Ob das für OGG dann auch geht, stünde dann noch auf einem anderen Blatt...

DAK

BeitragFr, Jul 18, 2008 14:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke, die Schrifterkennung währe nicht so schwer zu machen...

(Ich kann kein BM nur B3D, also kanns sein, dass mein Ansatz vll nicht so einfach zu realisieren ist...)
zuerst machst du von jedem Buchstaben, der hw in einem Liedtitel vorkommen kann (a-z, A-Z, 0-9, -, [Leerzeichen]) während der Laufzeit ein Bild (einfach in einen Imagebuffer mit der Hintergrundfarbe des Players einen Buchstaben in der Textfarbe des Titels hinenschreiben).
Dann speicherst du dir den Teil des Screenshots, in dem der Titel steht, in einen Imagebuffer.
Als nächstes vergleichst du Pixel per Pixel nach einander die Buchstabenbilder mit dem gleich großen Ausschnitt des Bildes mit dem Songtitel. Wenn einer der Buchstaben Pixel für Pixel fehlerfrei passt, dann hast du den Buchstaben gefunden, wenn nicht, dann nimmst du am Ende des Durchlaufes den Buchstaben, mit der niedrigsten Fehlerzahl. Damit hast du dann auch das Problem mit irgend welchen seltsamen Sonderbuchstaben gelöst.

Dann rückst du den Anfangs-X-Punkt des zu lesenden Ausschnitts um die X-Breite des Buchstaben nach rechts und beginnst von neuem.

In BB/B3D währe das ganze nicht eine Einsteigeraufgabe, aber auch keine Meisterleistung...
Gewinner der 6. und der 68. BlitzCodeCompo
 

AndreasV

BeitragFr, Jul 18, 2008 15:09
Antworten mit Zitat
Benutzer-Profile anzeigen
DAK hat Folgendes geschrieben:
Ich denke, die Schrifterkennung währe nicht so schwer zu machen...

(Ich kann kein BM nur B3D, also kanns sein, dass mein Ansatz vll nicht so einfach zu realisieren ist...)
zuerst machst du von jedem Buchstaben, der hw in einem Liedtitel vorkommen kann (a-z, A-Z, 0-9, -, [Leerzeichen]) während der Laufzeit ein Bild (einfach in einen Imagebuffer mit der Hintergrundfarbe des Players einen Buchstaben in der Textfarbe des Titels hinenschreiben).
Dann speicherst du dir den Teil des Screenshots, in dem der Titel steht, in einen Imagebuffer.
Als nächstes vergleichst du Pixel per Pixel nach einander die Buchstabenbilder mit dem gleich großen Ausschnitt des Bildes mit dem Songtitel. Wenn einer der Buchstaben Pixel für Pixel fehlerfrei passt, dann hast du den Buchstaben gefunden, wenn nicht, dann nimmst du am Ende des Durchlaufes den Buchstaben, mit der niedrigsten Fehlerzahl. Damit hast du dann auch das Problem mit irgend welchen seltsamen Sonderbuchstaben gelöst.

Dann rückst du den Anfangs-X-Punkt des zu lesenden Ausschnitts um die X-Breite des Buchstaben nach rechts und beginnst von neuem.

In BB/B3D währe das ganze nicht eine Einsteigeraufgabe, aber auch keine Meisterleistung...


Kling theoretisch ganz gut, hat aber einen kleinen Nachteil: Dein Verfahren funktioniert nur dann, wenn die Schriftart auch tatsächlich dicktengleich (also jeder Buchstabe gleich breit) ist (das ist die im lastfm Player definitiv NICHT), bei nichtproportionalen Schriftarten und wenn Ligaturen (engere Zusammenschreibung von fi ff etc.) auftreten, musst Du noch einen Algorithmus haben, der überprüft, wo ein Buchstabe aufhört und wo der nächste anfängt.

Ich habe aber nach etwa Internetrecherche im Moment eine ander Lösung im Blick: Einbindung von GOCR, ist nur etwa 300 kB groß, funktioniert nicht 100%ig, aber sollte reichen, Einbidung in Blitzmax ist schon fertig und habe es mit ein paar manuellen Screenshots getestet, klappt besser als ich dachte und benötigt keine 100ms für die Texterkennung.

Jetzt muss aber eh erstmal die Routine für das Tracksplitting auf Basis des Bildwechsels fertiggestellt werden: Will sagen: Bin dran, kann aber noch dauern.[/url]

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Projekte

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group