리눅스 : 음성타이머를 만들어보자
2018.12.08 11:00
저는 넋놓고 인터넷하는 시간이 너무 많은데요
누군가 잔소리 하는 사람이 필요하죠.
자, 먼저 tts 프로그램을 깝니다.
sudo apt-cache search tts
해보니까 espeak이라는게 있군요. 설치합니다.
sudo apt install espeak
터미널에서는 다음과 같이 써주면
for min in {15..1}; do echo "$min minutes left" | espeak; sleep 60; done; echo "Time is up!" | espeak
1분마다 남은 시간을 음성으로 알려줍니다.
물론 음성이 거슬린다면,
echo "$min minutes" | espeak 부분을 notify-send "$min"하면 데탑 창으로 알려주게 할수 있고요.
시간이 종료된 다음 sudo shutdown now 등으로 컴퓨터가 꺼지게도 할 수 있죠
리눅스는 너무 좋은게 필요한것을 바로 만들어 쓸수 있으니 얼마나 좋은가요
*찾아보니 구글tts서비스를 이용하는 파이선 패키지도 있군요. 저는 안써봤는데 그걸 쓰면 한글이나 더 자연스러운 음성이 될수도 있을거 같습니다.
간단하고도 재밌네요 ㅎㅎ
버그리포트를 올리겠습니다
1. 이유는 알수없지만 위 명령어를 그대로 복사해서 붙이니 bash: !": event not found라고 뜹니다. 저는 time is up에서 느낌표를 제거했습니다.
2. 첫번째 espeak에서 "를 제거해야 합니다
3. 이건 버그는 아니고... 막판에 "zero minutes left"라고 읽고는 일분후에 "Time is up"하는군요. 이게 부자연스런 분들은 {15..1} 등으로 수정하면 될것 같네요