Объявить время на час?

10

На Mac есть функция, которая позволяет вашему компьютеру устно объявлять время на часе, есть ли что-то похожее на Ubuntu? То есть есть пакет, который уже делает это, или мне нужно настроить что-то вроде sayсчитывания времени на часе? И если так, то как мне это сделать? Я использую Ubuntu GNOME 15.04 с GNOME 3.16.


источник
dateвыводит это в тексте. может быть, вы могли бы передать это через программу преобразования текста в речь?
Promille
@Wildcard: хотя мне пришлось бы сильно обрезать и изменить вывод этой команды, потому что она говорит слишком много, все, что мне нужно и нужно в час, это что-то вроде ( [time]заменено часом):It is now [time] O'clock
Смотрите мой ответ, надеюсь, что это может помочь некоторым. Вы также можете добавить что-то вроде «Это сейчас ...», прежде чем он объявит время сsed
Promille
Вау, это звучит раздражающе.
Гонки легкости на орбите
@LightnessRacesinOrbit: Да, это становится так ...: D

Ответы:

20

Вы могли бы использовать свой crontab

  1. Создать маленький сценарий

    mkdir -p ~/bin
    nano ~/bin/say_hour
    

    добавьте код ниже

    #!/usr/bin/env bash
    my_date=$(date +'%H:%M:%S')
    padsp espeak "$my_date"
    

    и установить исполняемые права

    chmod +x ~/bin/say_hour
    
  2. Отредактируйте свой crontab через

    crontab -e
    

    и добавьте конфигурацию ниже

    0 * * * * bin/say_hour
    

Вы можете заменить espeakлинию одной из следующих возможностей

sudo apt-get install espeak
espeak $(date +"%H:%M:%S")
espeak $(date +%T)

# Adjust speed with `-s`, in words per minute, default is 160
espeak -s 10 $(date +"%H:%M:%S")

или

sudo apt-get install festival
date +"%H:%M:%S" | festival --tts
date +%T | festival --tts

или

sudo apt-get install speech-dispatcher
spd-say $(date +"%H:%M:%S")
spd-say $(date +%T)

# Adjust speed with  (-100 .. 0 .. 100)
spd-say -r -50 $(date +%T)

  • %I - часовой (01..12) формат
  • %H - час в формате (00..23)
  • %M - минута (00..59)
  • %S - второй (00 .. 60)
  • %T- HH:MM:SSв 24 формате

Еще через man date, man espeak, man festivalиman spd-say

AB
источник
Это не работает, он просто хочет получить информацию и дает мне один из них > .
@AB приятно =) ... можно ли регулировать скорость?
Раван
1
вау @AB работает :) +1
Раван
Не могли бы вы также включить в свой ответ, как заставить его работать в час, возможно, с заданием cron, как я знаю о них и как они работают, но на самом деле никогда не устанавливали его вручную.
На самом деле, у меня под столом Raspberry Pi, который делает именно это (и многое другое). Он запускает не весь Фестиваль, а Фестиваль Света ( flite) Он говорит время в полный час и (чч: мм) всякий раз, когда я отправляю ему пакет Wake-on-Lan. Я установил его, чтобы говорить немного медленнее ( set Duration_stretch=1.3), чтобы получить более приятный тон голоса.
Йос
5

Это дает вам время в речи (спасибо kos за лучший синтаксис):

Первая установка say, которая находится в gnustep-gui-runtime:

sudo apt-get install gnustep-gui-runtime

Тогда запустите это.

24-часовой режим:

say "$(date +%R)"

12-часовой режим

say "$(date +%I:%M%p)"
Promille
источник
Не могли бы вы также включить в свой ответ, как заставить его работать в час, возможно, с заданием cron, как я знаю о них и как они работают, но на самом деле никогда не устанавливали его вручную.
Извините, я не знаю, как это сделать @ParanoidPanda. Если кто-то другой сделает это, он может опубликовать его в качестве комментария, и я включу его в свой пост
Promille
@Wildcard: AB включил его в свой ответ, чтобы вы могли просто взять его оттуда или прочитать, что прокомментировал kos. :)
У @ParanoidPanda AB есть принятый ответ, так что это не так уж важно
Promille