This script acts as a library (to be symlinked/copied into your project) for interfacing with the 'espeak' and 'play' libraries in python. It also has a 'main' functionality where it acts a study timer with a 40/20 minute split of work to rest.
33 lines
908 B
Python
Executable File
33 lines
908 B
Python
Executable File
#!/usr/bin/env python3
|
|
from time import sleep
|
|
from sys import argv
|
|
from os import system
|
|
|
|
def speak(text: str, volume=100, word_gap=20):
|
|
system(f'espeak -a {volume} -g {word_gap} -k 20 "{text}"')
|
|
|
|
def beep():
|
|
system("play -q -n synth 0.1 sin 880")
|
|
|
|
if __name__ == '__main__':
|
|
study_duration = 40
|
|
if (len(argv) > 1):
|
|
study_duration = int(argv[1])
|
|
|
|
gap_duration = 20
|
|
if (len(argv) > 2):
|
|
study_duration = int(argv[2])
|
|
|
|
speak(f"Starting timer with parameters study={study_duration} minutes and gap={gap_duration} minutes")
|
|
|
|
for i in range(1, study_duration + 1):
|
|
sleep(60)
|
|
if i % 10 == 0:
|
|
speak(f"{study_duration - i} minutes of study time left")
|
|
|
|
speak("You can take a break now!")
|
|
for i in range(1, gap_duration + 1):
|
|
sleep(60)
|
|
if i % 10 == 0:
|
|
speak(f"{gap_duration - i} minutes of gap time left")
|