Audio book player for senior visually impaired.

Overview

PI Zero W Audio Book

Motivation and requirements

My dad is practically blind and at 80 years has trouble hearing and operating tiny or more complicated electronics controls. Touch screens, smart phones, keyboards, and small mp3 players are completely out of the picture. I have tried using small dummy MP3 player (Sencor) with 5 buttons (prev, next, play|pause, volume up/down) as an initial assessment whether audio book player is something he would be able to control. Even though he uesd it, he was struggling with controlling it and the small player with 2-3x overloaded button controlls was too much. Also it lacked a fundamental option of remote book update. So I've decided to build custom player with following requirements:

  • volume control is an analog knob (ideally it turns off all the way to the left)
  • keep the number of buttons to minimum (spaced far apart - resilient to random touch)
  • allow remote content change - wifi
  • open content (not locked to a publisher)
  • does not need to be battery operated
  • minimal level of state indicators
  • sufficient output volume to drive speakers/headphones

Install

Dependencie

Use venv for managing dependencies

python3 -mvenv env
activate env with `source env/bin/activate`
pip3 install gpiozero
pip3 install python-mpd2
pip3 install google-cloud-texttospeech

knihaui.py

  • User pi on Raspberry PI Zero has this repo checked out under knihaui folder.
  • There is also folder /data on the root writable by pi user.
  • /etc/rc.local is modified to disable video output, set PCM volume to 100, set IO pins and set permissions on /data
  • We have wifi_restart.sh and related service definition to automatically ping and restart wifi.
  • /etc/systemd/system/knihaui.service takes care of running the UI.
  • Service is enabled with systemctl enable knihaui.
  • MPD is installed and enabled on the system running on port 6600 and using /data for media directory.
  • Unused or extra components are disabled. We keep avahi for name discovery.
  • To prolong SD card lifetime download overlayfs and use as per instructions in readme.

newsgen.py

  • download project certificate from google cloud to env/newsgen-credentials.json` To run:
  • export GOOGLE_APPLICATION_CREDENTIALS=env/newsgen-credentials.json
  • source env/bin/activate
  • Running python3 newsgen.py creates /tmp/news.mp3 if successful

Listen to Example brief in Slovak here

Automate with crontab.

V0

V0 was the set of scripts to slice larger audio books into manageable small files suitable for dumb players. This also allowed to prepend "chapter X" voice at the start of each slice.

V1

V1 is the physical build with buttons that my dad is using right now.

  • Build hardware using Pi zero W
  • PY UI that drives the buttons and controlls MPD
  • Test remotre upgrade capability - SSH
  • Add support for internet radios (SRo and Radio Litera)
  • Add doc of system modification of raspbian to this doc

V2

  • HW: Add serial port output to external connector for improved troubleshooting
  • HW: Replace potentiometer with rotary encoder and set master volume directly using Alsa
  • HW: Add rocker switch with indicator to allow turn off/on and immediate powered-on indication
  • OS: Serial console
  • SW: rotary switch volume control
  • SW: user request to have information about the day available as another station
  • OS: read-only mount mode to prolong SD card lifetime

Schematic

Schematic

Photos

Top Inside

Owner
Andrej Hosna
Mostly harmless
Andrej Hosna
Oliva music bot help to play vc music

OLIVA V2 ๐ŸŽต Requirements ๐Ÿ“ FFmpeg NodeJS nodesource.com Python 3.7+ PyTgCalls Commands ๐Ÿ›  For all in group /play - reply to youtube url or song file

SOULใ€…Hา‰Aา‰Cา‰Kา‰Eา‰Rา‰ 2 Oct 22, 2021
Anaphones are like anagrams, but for sounds.

Anaphones Anaphones are like anagrams but for sounds (phonemes). Examples include: salami-awesomely, atari-tiara, and beefy-phoebe. Anaphones can be a

James Murphy 18 Nov 02, 2022
Music Streaming Platform based on full implementation of DBSM

Symphony Music Streaming Platform based on full implementation of DBSM List of Commands Insert User (INSERT) Function to implement input in USER Get a

Parth Maradia 1 Nov 12, 2021
Any-to-any voice conversion using synthetic specific-speaker speeches as intermedium features

MediumVC MediumVC is an utterance-level method towards any-to-any VC. Before that, we propose SingleVC to perform A2O tasks(Xi โ†’ Yฬ‚i) , Xi means utter

่ฐทไธ‹้›จ 47 Dec 25, 2022
Okaeri-Music is a telegram music bot project, allow you to play music on voice chat group telegram.

Okaeri-Music is a telegram bot project that's allow you to play music on telegram voice chat group

Wahyusaputra 1 Dec 22, 2021
A lightweight yet powerful audio-to-MIDI converter with pitch bend detection

Basic Pitch is a Python library for Automatic Music Transcription (AMT), using lightweight neural network developed by Spotify's Audio Intelligence La

Spotify 1.4k Jan 01, 2023
SU Music Player โ€” The first open-source PyTgCalls based Pyrogram bot to play music in voice chats

SU Music Player โ€” The first open-source PyTgCalls based Pyrogram bot to play music in voice chats Note Neither this, or PyTgCalls are fully

SU Projects 58 Jan 02, 2023
Terminal-based music player written in Python for the best music in the world ๐ŸŽต ๐ŸŽง ๐Ÿ’ป

audius-terminal-player Terminal-based music player written in Python for the best music in the world ๐ŸŽต ๐ŸŽง ๐Ÿ’ป Browse and listen to Audius from the com

Audius 21 Jul 23, 2022
:speech_balloon: SpeechPy - A Library for Speech Processing and Recognition: http://speechpy.readthedocs.io/en/latest/

SpeechPy Official Project Documentation Table of Contents Documentation Which Python versions are supported Citation How to Install? Local Installatio

Amirsina Torfi 870 Dec 27, 2022
A voice based calculator by using termux api in Android

termux_voice_calculator This is. A voice based calculator by using termux api in Android Instagram account ๐Ÿ‘‰ ๐Ÿ‘ˆ Requirements and installation Downloa

ส•ยดโ€ขแดฅโ€ข`ส”โ• ลžฤฆแปฎฮฒฤฆaฬทmฬทโ•ฃส•ยดโ€ขแดฅโ€ข`ส” 2 Apr 29, 2022
A fast MDCT implementation using SciPy and FFTs

MDCT A fast MDCT implementation using SciPy and FFTs Installation As usual pip install mdct Dependencies NumPy SciPy STFT Usage import mdct spectrum

Nils Werner 43 Sep 02, 2022
Port Hitsuboku Kumi Chinese CVVC voicebank to deepvocal. / ็ญ†ๅขจใ‚ฏใƒŸDeepvocalไธญๆ–‡้Ÿณๆบ

Hitsuboku Kumi (็ญ†ๅขจใ‚ฏใƒŸ) is a UTAU virtual singer developed by Cubialpha. This project ports Hitsuboku Kumi Chinese CVVC voicebank to deepvocal. This is the first open-source deepvocal voicebank on Gith

8 Apr 26, 2022
Desktop music recognition application for windows

MusicRecognizer Music recognition application for windows You can choose from which of the devices the recording will be made. If you choose speakers,

Nikita Merzlyakov 28 Dec 13, 2022
PianoPlayer - Automatic fingering generator for piano scores

PianoPlayer - Automatic fingering generator for piano scores

Marco Musy 571 Jan 02, 2023
Implementation of "Slow-Fast Auditory Streams for Audio Recognition, ICASSP, 2021" in PyTorch

Auditory Slow-Fast This repository implements the model proposed in the paper: Evangelos Kazakos, Arsha Nagrani, Andrew Zisserman, Dima Damen, Slow-Fa

Evangelos Kazakos 57 Dec 07, 2022
MusicBrainz Picard

MusicBrainz Picard MusicBrainz Picard is a cross-platform (Linux/Mac OS X/Windows) application written in Python and is the official MusicBrainz tagge

MetaBrainz Foundation 3k Dec 31, 2022
Python wrapper around sox.

pysox Python wrapper around sox. Read the Docs here. This library was presented in the following paper: R. M. Bittner, E. J. Humphrey and J. P. Bello,

Rachel Bittner 446 Dec 07, 2022
Stream Music ๐ŸŽต ๐˜ผ ๐™—๐™ค๐™ฉ ๐™ฉ๐™๐™–๐™ฉ ๐™˜๐™–๐™ฃ ๐™ฅ๐™ก๐™–๐™ฎ ๐™ข๐™ช๐™จ๐™ž๐™˜ ๐™ค๐™ฃ ๐™๐™š๐™ก๐™š๐™œ๐™ง๐™–๐™ข ๐™‚๐™ง๐™ค๐™ช๐™ฅ ๐™–๐™ฃ๐™™ ๐˜พ๐™๐™–๐™ฃ๐™ฃ๐™š๐™ก ๐™‘๐™ค๐™ž๐™˜๐™š ๐˜พ๐™๐™–๐™ฉ๐™จ ๐˜ผ๐™ซ๐™–๐™ž๐™ก?

Stream Music ๐ŸŽต ๐˜ผ ๐™—๐™ค๐™ฉ ๐™ฉ๐™๐™–๐™ฉ ๐™˜๐™–๐™ฃ ๐™ฅ๐™ก๐™–๐™ฎ ๐™ข๐™ช๐™จ๐™ž๐™˜ ๐™ค๐™ฃ ๐™๐™š๐™ก๐™š๐™œ๐™ง๐™–๐™ข ๐™‚๐™ง๐™ค๐™ช๐™ฅ ๐™–๐™ฃ๐™™ ๐˜พ๐™๐™–๐™ฃ๐™ฃ๐™š๐™ก ๐™‘๐™ค๐™ž๐™˜๐™š ๐˜พ๐™๐™–๐™ฉ๐™จ ๐˜ผ๐™ซ๐™–๐™ž๐™ก?

Sadew Jayasekara 15 Nov 12, 2022
Dataset and baseline code for the VocalSound dataset (ICASSP2022).

VocalSound: A Dataset for Improving Human Vocal Sounds Recognition Introduction Citing Download VocalSound Dataset Details Baseline Experiment Contact

Yuan Gong 58 Jan 03, 2023
Spotifyd - An open source Spotify client running as a UNIX daemon.

Spotifyd An open source Spotify client running as a UNIX daemon. Spotifyd streams music just like the official client, but is more lightweight and sup

8.5k Jan 09, 2023