All Projects → seisfeld → TonUINO

seisfeld / TonUINO

Licence: GPL-3.0 license
Alternative TonUINO Firmware

Projects that are alternatives of or similar to TonUINO

Sbplayerclient
支持全格式的mac版视频播放器
Stars: ✭ 110 (-1.79%)
Mutual labels:  player, music-player, mp3, audio-player
audioStreamDemo
A music player created in swift using AVPlayer to stream audio from server.
Stars: ✭ 33 (-70.54%)
Mutual labels:  player, music-player, mp3, audio-player
NFCReaderWriter
NFCReaderWriter which supports to read data from NFC chips(iOS 11), write data to NFC chips(iOS 13) and read NFC tags infos(iOS 13) by iOS devices. Compatible with both Swift and Objective-C. I will appreciate you if give me a star on the top right of page.
Stars: ✭ 58 (-48.21%)
Mutual labels:  mifare, nfc, nfc-tag, nfc-reader
ATtiny85-TinyDFPlayer
MP3-Player
Stars: ✭ 22 (-80.36%)
Mutual labels:  player, mp3, diy
Pandoraplayer
🅿️ PandoraPlayer is a lightweight music player for iOS, based on AudioKit and completely written in Swift.
Stars: ✭ 1,037 (+825.89%)
Mutual labels:  player, music-player, media
React Native Jw Media Player
React-Native Android/iOS bridge for JWPlayer SDK (https://www.jwplayer.com/)
Stars: ✭ 76 (-32.14%)
Mutual labels:  player, media, media-player
React Cassette Player
Simple ReactJS HTML5 audio player component built with SVG icons from The Noun Project.
Stars: ✭ 93 (-16.96%)
Mutual labels:  player, music-player, audio-player
Freemp
Free Media Player (FreeMp)
Stars: ✭ 97 (-13.39%)
Mutual labels:  player, media, audio-player
Vue Howler
[UNMAINTAINED] A Howler.js mixin for Vue 2 that makes it easy to create custom audio player components
Stars: ✭ 103 (-8.04%)
Mutual labels:  player, mp3, media-player
Html Midi Player
🎹 Play and display MIDI files on the web
Stars: ✭ 158 (+41.07%)
Mutual labels:  player, music-player, audio-player
Cog
Cog - A Free and Open Source Audio Player for macOS 10.13+
Stars: ✭ 152 (+35.71%)
Mutual labels:  player, music-player, audio-player
Libvlc Go
Go bindings for libVLC and high-level media player interface
Stars: ✭ 188 (+67.86%)
Mutual labels:  player, media, media-player
minimal-player
This is a minimal, clean audio/music/mp3 player with spinning cover images, built with jQuery, TweenMax.js and SVG images.
Stars: ✭ 48 (-57.14%)
Mutual labels:  player, music-player, audio-player
Universalvideoview
A better Android VideoView with more Media Controller customization. 一个更好用的Android VideoView
Stars: ✭ 941 (+740.18%)
Mutual labels:  player, media, media-player
Sjmediacacheserver
A HTTP Media Caching Framework. It can cache FILE or HLS media. 音视频边播边缓存框架, 支持 HLS(m3u8) 和 FILE(mp4, mp3等).
Stars: ✭ 87 (-22.32%)
Mutual labels:  player, mp3, media
Monstercat Visualizer
A real time audio visualizer for Rainmeter similar to the ones used in the Monstercat videos.
Stars: ✭ 571 (+409.82%)
Mutual labels:  player, media, media-player
Flutter Assetsaudioplayer
Play simultaneously music/audio from assets/network/file directly from Flutter, compatible with android / ios / web / macos, displays notifications
Stars: ✭ 458 (+308.93%)
Mutual labels:  player, mp3, media
Swift Radio Pro
Professional Radio Station App for iOS!
Stars: ✭ 2,644 (+2260.71%)
Mutual labels:  player, music-player, audio-player
Simple Music Player
Simple Music Player - SimpleMP - Keeps it simple and plays your music
Stars: ✭ 298 (+166.07%)
Mutual labels:  player, music-player, mp3
Skplayer
🎵 A simple & beautiful HTML5 music player
Stars: ✭ 437 (+290.18%)
Mutual labels:  player, music-player, audio-player

For english, please click here!

Alternative TonUINO Firmware

Dies ist meine alternative Firmware für das wundervolle TonUINO Projekt. Ziel ist hier nicht unbedingt 100%ige Funktionsgleichheit mit der original Firmware. Es wurden vielmehr für meinen Zweck interessante Funktionen hinzugefügt und desweiteren auch einige Punkte (erstmal?) ausgelassen. Im großen und ganzen macht es einfach Spaß, sich mit der TonUINO Plattform auszutoben, ich bin deswegen auch viel in der TonUINO Community aktiv. Schaut doch einfach mal vorbei - ihr findet dort viele Bauvorschläge, Hacks und Informationen rund um den TonUINO.

Die Firmware wird "as-is" zur Verfügung gestellt. Wenn jemand die Firmware in seinem TonUINO einsetzt, freue ich mich natürlich darüber. Ich kann allerdings keinen Support bieten.

Inhalt

Funktionsübersicht

  • Standard Abspielmodi: Hörspiel, Album, Party, Lieblingsfolge und Hörbuch.
  • Erweiterte Abspielmodi: Virtuelle Ordner für die Modi Hörspiel, Album und Party.
  • Nächster/Vorheriger Titel sowohl in den Standard Abspielmodi Album, Party und Hörbuch - als auch bei der Nutzung von virtuellen Ordnern in den Modi Album und Party.
  • Der aktuell laufende Titel kann dauerhaft wiederholt werden.
  • Speichert die Ordnerverknüpfungen, Abspielmodi etc. auf den NFC Tags/Karten.
  • Unterstützung für MIFARE Classic (Mini, 1K & 4K) Tags/Karten.
  • Unterstützung für MIFARE Ultralight / Ultralight C Tags/Karten.
  • Unterstützung für NTAG213/215/216 Tags/Karten.
  • Debugausgabe auf der seriellen Konsole.
  • Einstellungen werden im EEPROM gespeichert.
  • Konfigurationsdialoge (NFC Tags/Karten anlernen/löschen, Elternmenü etc.) können abgebrochen werden.
  • NFC Tags/Karten können wieder komplett gelöscht werden.
  • Elternmenü um NFC Tags/Karten zu löschen und um Einstellungen wie Startlautstärke, Maximallautstärke, Menülautstärke, Equalizer und Abschalttimer (benötigt eine externe Schaltung oder eine passende Powerbank) vorzunehmen. Dort kann TonUINO auch von Hand abgeschaltet werden und es lassen sich der Hörbuchfortschritt und die Einstellugen zurücksetzen.
  • Optional: PIN Code um Elternfunktionen zu schützen.
  • Optional: Umstellbar auf 5 Tasten Bedienung.
  • Optional: Fernbedienbar über eine Infrarotfernbedienung (diese muss mindestens 7 Tasten haben), welche über das Elternmenü angelernt werden kann. Über die Fernbedienung ist es dann auch möglich die Tasten von TonUINO zu sperren.
  • Optional: Unterstützung einer Status LED.
  • Optional: Unterstützung von WS281x LED(s) als Status LED(s).
  • Optional: Unterspannungsabschaltung für z.B. die CubieKid Platine.
  • Optional: Unterstützung des Pololu Power Switch (LV).

Tastenbelegung

Tastenbelegung

PIN Code

Der (optional einschaltbare) PIN Code um die Elternfunktionen abzusichern lautet standard mässig

  • play/pause, vol-, vol+, play/pause

und kann im Sketch vor dem kompilieren geändert werden.

Ordnerstruktur auf der SD Karte

Die Ordner auf der SD Karte, in denen eure MP3-Dateien abgelegt werden, müssen 01 bis 99 heissen - also zweistellig sein. Die Dateien in den Ordnern müssen mit einer dreistelligen Nummer beginnen - 001 bis 255 - können aber in der Regel [1] weitere Zeichen enthalten. Erlaubt wäre demnach 001.mp3 oder auch 001Lieblingslied.mp3.

Es hat sich bewährt, die gesammte Ordnerstruktur auf dem Comupter vorzubereiten und dann in einem Rutsch auf die SD Karte zu kopieren. So wird sichergestellt, daß alle Dateien auch in der richtigen Reihenfolge sind.

[1] Nicht alle DFPlayer Mini Module akzeptieren im Dateinamen weitere Zeichen hinter der dreistelligen Nummer. Hier geht dann leider nur 001.mp3, 002.mp3 usw.

Audio Meldungen

TonUINO funktioniert nur korrekt, wenn ein zur Firmware passendes Set an Audio Meldungen auf der SD Karte vorhanden ist. Dies sind die Ordner advert und mp3.

Audio Meldungen herunterladen

Die Audio Meldungen sind mit Amazon Polly generiert worden und können in verschiedenen Sprachen heruntergeladen werden:

Die .zip Datei entpacken und die Ordner advert und mp3 auf die SD Karte kopieren. Fertig.

Audio Meldungen selbst erzeugen

Das passende Set an Audio Meldungen lässt sich auch jederzeit mit dem beigelegten Python Skript create_audio_messages.py erzeugen. Hier sind dann auch weitere text-to-speech Engines möglich wenn ihr möchtet (siehe unten). Das Skript kann sowohl deutsche, englische, niederländische, spanische, tschechische als auch italienische Audio Meldungen erzeugen (unterstützt wird ebenfalls französisch, es liegt dafür allerdings momentan keine Quelldatei bei). Es ist unter macOS, Linux und Windows getested, und benötigt Python 3 und ggf. ffmpeg.

Unter Linux kann Python 3 mit dem zur Distribution gehörenden Paketmanager installiert werden. macOS Nutzer benutzen z.B. Homebrew: brew install python und für Windows kann es hier heruntergeladen werden.

Das Skript unerstützt dabei die Nutzung von drei text-to-speech Engines:

  • Lokal - nur unter macOS - mit den Tools say und ffmpeg. Sofern man einen Mac hat ist dieser Weg schnell, einfach und dauerhaft kostenlos.
  • Über das Internet mit Amazon Polly, dem text-to-speech Service von Amazon.
  • Über das Internet mit Hilfe des Cloud text-to-speech Service von Google.

Für die Anzahl der benötigten Meldungen ist die Nutzung der Services von Amazon (Preise) bzw. Google (Preise) erstmal kostenlos. Für beide Services muss man allerdings erst einen Account anlegen, ist dann das Freikontingent irgendwann einmal aufgebraucht fallen Kosten im Bereich von ein paar Cent an.

Audio Meldungen mit say und ffmpeg erzeugen

Neben dem Tool say (ist Teil von macOS) wird hier noch ffmpeg benötigt.

  1. ffmpeg installieren, z.B. via Homebrew: brew install ffmpeg
  2. In den Ordner wechseln wo ihr die .zip Datei von GitHub entpackt, bzw. das Repository gecloned habt.
  3. python3 tools/create_audio_messages.py --use-say ausführen.
  4. Kopiert nun den Inhalt des Ordners sd-card auf die SD Karte. Fertig.

Audio Meldungen mit Amazon Polly erzeugen

  1. Auf der AWS Webseite einen Account anlegen und Access Keys erzeugen.
  2. Das Tool aws installieren (Windows / Linux), macOS z.B. via Homebrew: brew install awscli.
  3. Das Tool aws konfigurieren.
  4. In den Ordner wechseln wo ihr die .zip Datei von GitHub entpackt, bzw. das Repository gecloned habt.
  5. python3 tools/create_audio_messages.py --use-amazon ausführen.
  6. Kopiert nun den Inhalt des Ordners sd-card auf die SD Karte. Fertig.

Audio Meldungen mit dem Cloud text-to-speech Service von Google erzeugen

  1. Auf Googles Cloud text-to-speech Webseite einen Account anlegen und einen API-Key erzeugen.
  2. In den Ordner wechseln wo ihr die .zip Datei von GitHub entpackt, bzw. das Repository gecloned habt.
  3. python3 tools/create_audio_messages.py --use-google-key=ABCD ausführen.
  4. Kopiert nun den Inhalt des Ordners sd-card auf die SD Karte. Fertig.

Hilfe und weitere Optionen

Das Python Skript hat noch einige weitere Funktionen. Eine Übersicht gibt:

  • python3 tools/create_audio_messages.py --help

Titelansagen in MP3-Dateien einfügen

Im Hörspielmodus gibt es das Problem, daß man beim Auflegen der Karte nicht weiß, welche Folge abgespielt wird. Spielt man z.B. Benjamin Blümchen ab, dann kommt immer zuerst der Titelsong, der sich bei allen Folgen gleich anhört.

Das Python Skript add_lead_in_messages.py fügt der MP3-Datei eine Titelansage wie z.B. Benjamin Blümchen im Urlaub hinzu. Wenn man eine andere Folge hören möchte, kann man dann einfach nochmal die Benjamin Blümchen Karte auflegen. Es ist unter macOS getested, sollte aber mit minimalem Aufwand auch unter Windows / Linux laufen - wenn alle Abhängigkeiten erfüllt werden.

Funktionsweise

Angenommen man hat einen Ordner mit folgendem Inhalt:

+- 04_Benjamin Blümchen
   +- Benjamin Blümchen hat Geburtstag.mp3
   +- Benjamin Blümchen im Urlaub.mp3
   +- Benjamin Blümchen als Pilot.mp3

Dann kann man mit folgendem Aufruf MP3-Dateien mit Ansagen generieren (Beispiel):

python3 tools/add_lead_in_messages.py -i '04_Benjamin Blümchen' -o /Volumes/TonUINO/04 --google-key=ABCD --add-numbering

Was dann passiert:

  • Es werden neue MP3-Dateien mit den Ansagen erzeugt. Man kann dabei auch optional direkt auf die SD-Karte schreiben (wie im Beispiel).
  • Die Original-Dateien werden dabei nicht geändert.
  • Die MP3-Dateien werden nicht neu enkodiert (also kein Qualitätsverlust).
  • Auf Wunsch werden die MP3-Dateien kompatibel zum DFPlayer Mini numeriert. Also z.B. 001_Benjamin Blümchen hat Geburtstag.mp3 (Parameter --add-numbering)
  • Das Skript unerstützt dabei die Nutzung von drei text-to-speech Engines:
    • Lokal - nur unter macOS - mit den Tools say und ffmpeg. (Parameter --use-say)
    • Über das Internet mit Amazon Polly, dem text-to-speech Service von Amazon. (Parameter --use-amazon)
    • Über das Internet mit Hilfe des Cloud text-to-speech Service von Google. (Parameter --google-key=ABCD)

Das Ergebnis sieht dann so aus:

+- /Volumes/TonUINO/04
   +- 001_Benjamin Blümchen hat Geburtstag.mp3
   +- 002_Benjamin Blümchen im Urlaub.mp3
   +- 003_Benjamin Blümchen als Pilot.mp3

Hilfe und weitere Optionen

Das Python Skript hat noch einige weitere Funktionen. Eine Übersicht gibt:

  • python3 tools/add_lead_in_messages.py --help

Lizenz

GPL v3. Siehe LICENSE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].