NewTron-Radio: Auflösungsunabhängiges Tron-Radio

  • Hi,

    Danke für die Info, wo die Playlisten hinkommen, da es ja auch ein solches im Verzeichnis ...."newtron-radio" gibt (wozu eigendlich?)

    Also im Verzeichis: "/var/lib/mpd/playlists" werden diese dann auch über das Display wählbar, einfach in das "Sender-Fenster" klicken/touchen (gibt es das Wort überhaupt ???)

    Noch 3 Fragen:
    In wie weit wird mit einer USB-Soundkarte die Audioqualität besser?
    Lohnt sich solch eine Anschaffung?
    Welche USB-Sound-Sticks sind hierbei kompatibel?

  • NewTron-Radio: Auflösungsunabhängiges Tron-Radio? Schau mal ob du hier fündig wirst!

  • Sorry wenn ich das sage oder in dem Fall schreibe, du hast sicher nicht die zig Seiten des Threads gelesen, sonst würden solche und ähnliche Fragen nicht aufkommen, es ist an verschiedenen Stellen erklärt.
    Das man das 'Wissen' nicht zentral auf ein Seite packt liegt in der Eigenschaft eines Forums.

    Aber nun zum Trotz die Antworten auf deine Fragen.

    Das Verzeichnis in newtron-v2 kopiert beim erstenmal ein paar m3u's ins /var/lib/mpd/playlists Verzeichnis, sollten da keine vorhanden sein. Damit der mpd erstmal spielen kann, sonst wäre da nach der Installation Ruhe.

    Eine USB Sound Karte verbessert den Sound, man sollte aber nicht seine Ansprüche zu hoch schrauben. Der USB Weg ist selber ein Flaschenhals. Eine Anschaffung in dem Sinn ist es eigenlich nicht, da die Kosten sich in einem bescheidenen Ausmaß bewegen, um die 5€ bis ... .
    Ich selbst habe ca. 6 USB Soundkarten, von günstig bis exclusiv.
    Eine Soundverbesserung erreichst du nur wenn das Signal direkt abgegriffen wird und der Weiterverarbeitung zugeführt wird, Burrchip o.ä..
    IQsound, x400, Berry-digi, amp o.ä..

    lt. Wiki: Touch oder touch (englisch für „berühren“, „anrühren“ oder „anfassen“)

    Einen Kauftipp werde ich nicht geben, da prinzipell jede USB Soundkarte funktioniert, aber bei den Hörgeschmack ist es anderst und die Boxen.


    Nun habe ich mal Hardwaremäßig einen RP B+ im IVSO Gehäuse, X400 und ein Adafruit kapazitives Touchdisplay gekreuzt.
    Zu den Einzelkomponenten findet man genug im Netz.

    Software habe ich keine Neuinstallation des Betriebssystems, noch der anderen Software vorgenommmen. Ich habe nur die Einstellungen für X400 gemacht.

    Somit habe ich Newtron (neueste Version), 2x 25Watt (iqaudio_plus) und ein 2,8" kap. Touchdisplay und IR. Das Ganze über WLan, mit NAS, USB-Stick, Record, HTTP-Stream, IceCast2 und für Draußen BT Speaker etc.

    Als Grundimage habe ich, damit das Display läuft '2015-09-24-raspbian-jessie-pitft28c.img' genommen. Display und Touch um 270° gedreht, mpd.conf angepasst.

    Außer Newtron läuft z.B. auch ein lemar67 Radio darauf, ein MPC-Radio und auch eine Version des Pi-Radios.
    Alle gemeinsam haben ja den mpd, somit ist es ja fast egal mit welchem Clienten, GUI man auf diesen zugreift.

    Update: konnte durch das Kürzen der Pins noch 5mm in der Höhe reduzieren.

    Einmal editiert, zuletzt von paulaner (28. Februar 2016 um 23:30)

  • Wenn die eigenen Playlisten nicht gehen, aber die mitgelieferten dann ist ein Fehler in deinen m3u Dateien.

    Unsichtbare Steuerzeichen, Leerzeichen? Aber das Thema wurde hier schon ausgiebig besprochen, lies einfach den Thread.

    Einmal editiert, zuletzt von paulaner (28. Februar 2016 um 23:30)

  • Neue Version v2.5!
    Siehe Beitrag #1

    Falls das 'X' im Wiedergabefenster stört: das kann im Skript deaktiviert werden (gilt auch für das '+' im Playlistenauswahlfenster). Nur wird dann auch die entsprechende Funktionalität deaktiviert (entfernen des aktuellen Stücks aus der aktuellen Playliste (X) bzw. Hinzufügen des ausgewählten Verzeichnisses (rekursiv) zur aktuellen Playliste (+)).

    Allgemein gilt nun:
    - Eine ausgewählte Playliste ersetzt die aktuelle Playliste
    - Eine ausgewählte Audiodatei wird an die aktuelle Playliste angehängt
    - Ein ausgewähltes Verzeichnis (mit '+') wird an die aktuelle Playliste angehängt

    Die aktuelle Playliste kann im 'MPD Playback Settings'-Fenster entweder gelöscht, gespeichert oder verwürfelt werden.

    Der Dateiname unter der die aktuelle Playliste gespeichert werden kann, kann im Skript geändert werden (save_filename)

    Das 'Crossfade'-Delay von 7s kann im Skript geändert werden (xfade_secs).

    ...

    Bei so vielen kleinen Änderungen in dieser Version konnte ich natürlich nicht alles vollständig Überprüfen, so dass mit Sicherheit noch Fehler übrig sind.

    Einmal editiert, zuletzt von veloci (27. Februar 2016 um 00:07)

  • mhhh,
    Meine erstes Feedback.
    RPi B, 3.2" WaveShare, v2.44 i.o.

    Wenn keine save_playlist vorhanden ist friert das Skript ein, es läßt sich auch nicht killen.
    Vorhanden, man kann wieder speichern doch dann friert alles ein, reboot.

    Ähnliches in der Playlistansicht, einfrieren oder keine Bedienung über Pfeil nach oben, touch in die Playlist = kein Rücksprung, kein killen nur reboot.
    Anzeige trotz 7 Sek. im Skript eine Null, keine Abwahl möglich.

    Das mpd playback settings Fenster ist super, aber so schwenke ich erstmal zum spielen auf die vorherige Version.

    Ein touch auf updating mpd-Datenbase... -> friert Oberfläche ein

    Update: Was mich nervt, das ich besagten Prozess nach einem Fehlversuch nicht killen kann und es immer nur ein reboot tut.

    Einmal editiert, zuletzt von paulaner (28. Februar 2016 um 23:24)

  • Ich hab gerade versucht, das alles mal nachzuvollziehen - mit einem USB-Stick mit ca. 3000 Songs.

    Das Einfrieren konnte ich auch feststellen, aber nach einiger Zeit lief alles wieder Normal weiter.
    Ich hab dann parallel mal top laufen lassen und konnte dadurch sehen, dass mpd bis zu 100% CPU-Zeit benötigt. Sobald mpd aber alles eingelesen hat (sowohl bei DB-Update, als auch beim Verzeichnis hinzufügen usw.) normalisiert sich das ganze wieder und auch das Radio lässt sich wieder problemlos bedienen.
    Ich hab dir ja mal einen Link geschickt, wo bei großen Playlisten von DOS (Denial of Service) gesprochen wird. MPD blockiert halt alle I/O-Operationen, bis er fertig ist.
    Leider kenne ich keine Möglichkeit, während dieser Zeit zumindest eine Sanduhr oder so einzublenden, da das Radio nicht weiss, wann mpd mit seinen Einlesevorgängen (DB oder Dateien) fertig ist.
    Beim Speichern der Playlist genau dasselbe, auch da blockiert mpd...
    Wenn mir hier jemand helfen könnte, wäre ich sehr dankbar.

    EDIT: Wenn mpd dann irgendwann mal die Datenbank fertig hat, dann reagiert auch das Radio ganz normal - Selbst nach einem reboot konnte ich das Einfrieren dann nicht mehr feststellen - auch nicht bei einem DB-Update auf der 'MPD Playback Settings'-Seite. Voraussetzung dafür ist allerdings, dass das Laufwerk mit den Musikdateien bereits gemounted ist, wenn mpd startet, denn dann benutzt er die vorhandene Datenbank weiter. Wird dagegen das Laufwerk erst nach dem Start von mpd eingebunden, muss mpd die Datenbank (fast) komplett neu erstellen - was dann wieder zur Blockade führt...
    Das gilt natürlich nur für große Musiksammlungen auf dem betreffenden Laufwerk.

    Einmal editiert, zuletzt von veloci (27. Februar 2016 um 14:25)

  • Ich habe beim ersten Start einer neuen Version jetzt immer im SSH mehrere Fenster offen, ein davon mit TOP.
    Das von dir beschriebene Verhalten konnte ich nicht beobachten, also weder mpd noch newtron-radio.py gehen mit der Leistung hoch (an die 100%). Es ist so das newtron bei 5-7% rumeiert und der mpd zu Anfang keine 100% hatte und nach ein paar Sekunden deutlich mit der % Zahl runtergeht (normal), das ist ein Zeichen das er nichts mehr macht.
    Beim 'richtigen' Einlesen der m3u beobachte ich was anderes.

    Auserdem musste die DB nicht geupdatet werden, ersten war sie schon, zweitens ich kopiere nur die paar Grafiken und das Skript nach newtron-v2. Also hat ersteres nicht mit mpd zutun, da es schon vorhanden ist und durch SSH Befehle die Playlisten abspielt.
    Mit dem DB Update war ein weiterer Test!
    Soweit lieg ich richtig?

    'Nur' das geänderte Skript macht Backen.

    Zu meinen so 'überlangen' Listen muss ich dir nochmal sagen, ersten habe ich diese reduziert und gecheckt, dann sprach ich auch nicht davon.

    Grundlage waren normale m3u's mit Webstreams und eine Playlist mit einem (1) Titel.
    Was ist mit der falschen Anzeige der Überblendung?
    Was ist mit dem deaktivieren dieser?
    Warum geht der Rücksprung nicht?

    Das waren meine persönlichen Eindrücke, natürlich hast du viel 'Blut und Schweiß' in die neuen Dinge investiert, aber 100% überzeugen kann mich diese Version nicht, da bleibe ich beim Abspielen bei der v2.44 und probiere die v2.5 und lass die mal 1 Stunde in Ruh, dann werd ich sehen.

    Obwohl ich ja rebooten musste, habe ich den Versuch mit False Plus und Kreuz gemacht, machte aber keinen Unterschied (im allgemeinen Verhalten).

  • Hi Forum,

    danke veloci und Paulaner für die neuen Versionen!!! Zur Version 2.44 habe ich noch eine Frage:

    Wenn ich von NAS oder USB Stick per Menü 2 Mp3´s zur aktuellen Playliste (in meinem Fall Antenne Bayern, "1/1") hinzufüge werden diese nicht in die Playliste in /var/lib/mpd/playlists/
    eingetragen. Einen Neustart des Radios überstehen sie trotzdem - wo sind die Tracks gespeichert? Beim Neustart wird wieder wie gewünscht "Antenne Bayern" gestartet, die dazugelegten Mp3´s tauchen dann auf und lassen sich per Next/Prev abspielen. In der Playliste unter /var/lib/mpd/playlists/ selber erscheinen sie scheinbar nicht.


  • Hi Forum,

    danke veloci und Paulaner für die neuen Versionen!!! Zur Version 2.44 habe ich noch eine Frage:

    Wenn ich von NAS oder USB Stick per Menü 2 Mp3´s zur aktuellen Playliste (in meinem Fall Antenne Bayern, "1/1") hinzufüge werden diese nicht in die Playliste in /var/lib/mpd/playlists/
    eingetragen. Einen Neustart des Radios überstehen sie trotzdem - wo sind die Tracks gespeichert? Beim Neustart wird wieder wie gewünscht "Antenne Bayern" gestartet, die dazugelegten Mp3´s tauchen dann auf und lassen sich per Next/Prev abspielen. In der Playliste unter /var/lib/mpd/playlists/ selber erscheinen sie scheinbar nicht.


    mpd hält die aktuelle Playliste nur intern vor (siehe auch /var/lib/mpd/state) . Erst mit NewTron-Radio v2.5 kann diese abgespeichert werden (unter dem Namen 'saved_playlist.m3u' in /var/lib/mpd/playlists/).

    Einmal editiert, zuletzt von veloci (27. Februar 2016 um 16:53)


  • 'Nur' das geänderte Skript macht Backen.


    Bei mir tuts wie es soll.

    Zitat

    Was ist mit der falschen Anzeige der Überblendung?


    Der Wert der Anzeige wird direkt von mpd geholt (mpc.status()['xfade']). Wenn da was nicht stimmt, dann stimmt was mit deinem mpd nicht.
    Läuft dein mpd noch unter wheezy? Wenn ja, schau mal, ob diese Version Crossfade überhaupt unterstützt ('mpc crossfade').

    Zitat

    Was ist mit dem deaktivieren dieser?


    Geht hier problemlos.

    Zitat

    Warum geht der Rücksprung nicht?


    Solange mpd blockiert gehts halt nicht. Übrigens hab ich in dem Bereich gegenüber der Version 2.4.4 nichts wesentliches geändert.

    Einmal editiert, zuletzt von veloci (27. Februar 2016 um 15:59)

  • Danke,
    bei mir läuft noch Whezzy, die MAN Page äußert sich nicht dazu, da steht dieses Feature zur Verfügung. Ein 'mpc crossfade 10' und anschließend ein 'mpc next' bringt nichts.
    Auch steht nach refresh und download der state dort noch eine Null.
    Auch gibt es keine Fehlermeldung.

    mpd Version 0.16.7
    Bei mpc Eingabe in der Konsole: volume, repeat, random, single, consume.

    Update: nach dem ich das geschrieben hatte hat er die state aktuallisiert und eine 10 bei crossfade darausgemacht. Nun mal noch auf eine Überblendung warten.

    Also das nächste Lied fängt die 10 Sekunden eher an zuspielen, ok.

    Einmal editiert, zuletzt von paulaner (28. Februar 2016 um 23:25)

  • So nun habe ich das v2.5 auf den RPi B+ mit 2,8" Watterott laufen, Whezzy.
    Aktuell spielt es eine Playlist mit 26385 Titeln, ok.
    Habe mal zum Testen BT Dongel gezogen, kein USB Stick dran, kein mount. Nur die m3u mit den Webradios.

    Als erstes zeigt es ja auch leere Verzeichnisse an (usb-usb7), eigentlich wenn ich hineinspringen könnte zeigt er mir 'kein File' und in rot 'keine playlist ...' aber soweit komme ich nicht!
    Ich gehe auf usb und null Reaktion des Enterbutton noch des Pfeil nach oben oder ein touch ins Leere der Playlist.
    mpd -> 15% und newtron ca 6%.
    Warten 10 Minuten, nichts.
    kill Prozessnummer -> nichts.
    mpd spielt Radio Bob im Hintergrund.
    reboot

    nächster Versuch:
    Auch jetzt im MPD Playback Settings
    Crossfade (0)

    'saved Playlist as' bleibt auf dem Display stehen, mpd 16,7%, newtron 7%, null Reaktion auf einen touch, 10 warten nix, kill Prozessnummer -> nix.
    Beim rebooting Sprung der GUI aus dem Textanzeiger zum ursprünglichen Menue.
    reboot

    Neuer Versuch:
    4,9% mpd, newtron 7%
    Kann jetzt den Button 'save as ..' touchen, kurz die Bestätigung das die Playlist gespeichert wird und ein Rücksprung zum voherigen Menu, das ist so ok, bei nicht vorhandensein einer Datei mit freiwählbaren Namen ein Einfrieren des Displays.

    Ok, jetzt funktioniert es soweit, die Anzeige des Crossfaders.
    Habe mal 'mpc crossfade 7 in der Konsole eingegeben und danach ins Menue geschaut, siehe jetzt erst wird die Zahl 7 angezeigt, dh. auch der Befehl so ausgeführt.
    Ein Touch auf den Schriftzug deaktivert nicht den gesetzten Haken, aber die Zeit wird auf 0 zurückgesetzt und somit die Funktion auch außer Betrieb gesetzt, 0 = crossfade = no.

    Einmal editiert, zuletzt von paulaner (28. Februar 2016 um 23:25)

  • mpd hält die aktuelle Playliste nur intern vor (siehe auch /var/lib/mpd/state) . Erst mit NewTron-Radio v2.5 kann diese abgespeichert werden (unter dem Namen 'saved_playlist.m3u' in /var/lib/mpd/playlists/).

    Alles klar
    Automatisch zusammengefügt:


    mpd hat ja ein eigene DB (sticker.sql).
    Schau dir mal in /var/lib/mpd die state und den tag_chache an.

    nur ein mpc update bringts oder ein clear der playlist.

    paulaner

    besten Dank!

    Einmal editiert, zuletzt von holo01 (27. Februar 2016 um 18:57)

  • MPD blockiert!
    Ich hatte an der Stelle ein mpc.update() eingefügt. Kommentiere mal die Zeilen 758-760

    Code
    try: mpc.update(up_dir)
                    except: pass
                    mpc.idle('update')


    und die Zeilen 772-774

    Code
    try: mpc.update(os.path.dirname(playlists[0][1]))
                        except: pass
                        mpc.idle('update')


    aus.

    Dann ist es exakt wie in Version 2.4.4

    Zitat


    nächster Versuch:
    Auch jetzt im MPD Playback Settings
    Crossfade (0)

    Hier verhält sich der wheezy MPD wohl anders als der jessie MPD. Probier mal folgendes:


    Hab momentan leider kein wheezy zur Hand...
    Wenn bei dir nach 'mpc.crossfade(0)' und anschliessendem 'mpc.status()['xfade']' ein u'0' anstelle des Tracebacks angezeigt wird muss ich das Skript für wheezy noch etwas anpassen.

    Einmal editiert, zuletzt von veloci (27. Februar 2016 um 19:34)

  • root@rpi:~# python
    Python 2.7.3 (default, Mar 18 2014, 05:13:23)
    [GCC 4.6.3] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import mpd
    >>> mpc = mpd.MPDClient(use_unicode=True)
    >>> mpc.connect("localhost", 6600)

    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "/usr/local/lib/python2.7/dist-packages/mpd.py", line 516, in connect
    self._sock = self._connect_tcp(host, port)
    File "/usr/local/lib/python2.7/dist-packages/mpd.py", line 489, in _connect_tcp
    raise err
    socket.error: [Errno 111] Connection refused
    >>>

    was jetzt, aber mach dir kein Stress, erstmal geht es so.
    Aber wenn was zu testen ist immer her damit.

    Danke

    Einmal editiert, zuletzt von paulaner (28. Februar 2016 um 23:26)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!