Skip to main content

Application for reading voice messages

Project description

VoicemailBox

VoicemailBox is an application for reading voice messages. Its graphical interface is based on the Kivy framework.

Created to run on a Raspberry Pi with a touch screen, it should work on any GNU/Linux system.

Installation - General case

VoicemailBox can be installed with pip :

pip install voicemailbox

Installation - Raspberry Pi

The app has been tested on a Raspberry Pi 3, running Raspberry Pi OS Lite (Buster release), and the following hardware :

  • official Raspberry Pi touchscreen ;
  • OneNiceDesign touchscreen case ;
  • adafruit speaker bonnet ;
  • adafruit stereo enclosed speaker set.

On this system, some packages have to be installed first (Source) :

apt install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev \ 
libsdl2-ttf-dev pkg-config libgl1-mesa-dev libgles2-mesa-dev \
python3-setuptools libgstreamer1.0-dev \
gstreamer1.0-plugins-{bad,base,good,ugly} \
gstreamer1.0-{omx,alsa} python3-dev libmtdev-dev \ 
xclip xsel libjpeg-dev gstreamer1.0-tools

Then, Kivy and VoicemailBox can be installed (virtual environment recommended) :

pip install --upgrade pip setuptools Cython
pip install kivy[base,media] --no-binary kivy
pip install voicemailbox

Additionnal configuration

  • create ssh file in /boot to enable ssh

  • edit /boot/config.txt :

    • touchscreen rotation : add lcd_rotate=2
    • GPU's memory set to 256 Mb : add gpu_mem=256
    • adafruit speaker bonnet :
      • add dtoverlay=hifiberry-dac
      • add dtoverlay=i2s-mmap
      • comment dtparam=audio=on
  • for speaker bonnet support, create /etc/asound.conf with the following content :

     pcm.speakerbonnet {
        type hw card 0
     }
    
     pcm.dmixer {
        type dmix
        ipc_key 1024
        ipc_perm 0666
        slave {
          pcm "speakerbonnet"
          period_time 0
          period_size 1024
          buffer_size 8192
          rate 44100
          channels 2
        }
     }
    
     ctl.dmixer {
         type hw card 0
     }
    
     pcm.softvol {
         type softvol
         slave.pcm "dmixer"
         control.name "PCM"
         control.card 0
     }
    
     ctl.softvol {
         type hw card 0
     }
    
     pcm.!default {
         type             plug
         slave.pcm       "softvol"
     }	   
    
  • Wi-Fi : create wpa_supplicant.conf file in /boot with following content (Source) :

     ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
     update_config=1
     country=<Insert 2 letter ISO 3166-1 country code here>
     
     network={
      ssid="<Name of your wireless LAN>"
      psk="<Password for your wireless LAN>"
     }
    
  • to use kivy with Raspberry Pi touchscreen, modify ~/.kivy.config.ini, add under [input] section :

     mouse = mouse
     mtdev_%(name)s = probesysfs,provider=mtdev
     hid_%(name)s = probesysfs,provider=hidinput
    
  • add udev rule to use rpi-backlight without root access :

     $ echo 'SUBSYSTEM=="backlight",RUN+="/bin/chmod 666 /sys/class/backlight/%k/brightness /sys/class/backlight/%k/bl_power"' | sudo tee -a /etc/udev/rules.d/backlight-permissions.rules
    
  • create systemd service : create /etc/system/systemd/repondeur.service with the follonwing content :

     [Unit]
     Description=repondeur
     After=multi-user.target
     
     [Service]
     Type=idle
     Environment=KIVY_AUDIO=ffpyplayer
     ExecStart=/home/pi/repondeur/env/bin/python -m repondeur
     WorkingDirectory=/home/pi/repondeur
     User=pi
     
     [Install]
     WantedBy=multi-user.target
    
  • use ram2log :

    • install :
       echo "deb http://packages.azlux.fr/debian/ buster main" | sudo tee /etc/apt/sources.list.d/azlux.list
       wget -qO - https://azlux.fr/repo.gpg.key | sudo apt-key add -
       apt update
       apt install log2ram
      
    • modify frequency : run systemctl edit log2ram-daily.timer and add :
       [Timer]
       OnCalendar=weekly
      

License

VoicemailBox is placed under CeCILL license (version 2.1).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

voicemailbox-0.1.1.tar.gz (579.4 kB view details)

Uploaded Source

Built Distribution

voicemailbox-0.1.1-py3-none-any.whl (580.7 kB view details)

Uploaded Python 3

File details

Details for the file voicemailbox-0.1.1.tar.gz.

File metadata

  • Download URL: voicemailbox-0.1.1.tar.gz
  • Upload date:
  • Size: 579.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.6.9 Linux/5.4.0-65-generic

File hashes

Hashes for voicemailbox-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f73fa5c9930247bc22a7b0b8052e67dcea8fc4453f8ddc2973bb33e11bb96282
MD5 1ae3feca232f35eeae74c03f60083b32
BLAKE2b-256 713efbe1edf38f949448d5cfd419583e2a4599a55bec40a066cf00b1db65f6cb

See more details on using hashes here.

Provenance

File details

Details for the file voicemailbox-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: voicemailbox-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 580.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.6.9 Linux/5.4.0-65-generic

File hashes

Hashes for voicemailbox-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d9d81c89fb207ab6b971192e47a022cdc9103505c1cc057def2c4211efdc234f
MD5 0119cafaff01ea07897d22c86d143469
BLAKE2b-256 36c4ad218883050de8fed5cdbdf406938f8c04965c9f0a43da5b24c0b79de973

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page