AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1493871
Accepted
fixit7
fixit7
Asked: 2023-11-25 12:17:03 +0800 CST2023-11-25 12:17:03 +0800 CST 2023-11-25 12:17:03 +0800 CST

Programa temporizador que reproduz 4 sons, um após o outro, durante 30 segundos cada

  • 772

Alguém poderia me ajudar. Preciso de um script bash para reproduzir um arquivo de som curto, esperar 30 segundos, reproduzir outro arquivo de som, esperar mais 30 segundos.

(Vou usá-lo como um lembrete para passar 30 segundos em cada quadrante dos dentes ao usar uma escova de dentes elétrica.)

mpg123 /usr/share/sounds/My_Sounds/Alarm_Clock_Sound.mp3
sleep 30
mpg123 /usr/share/sounds/My_Sounds/Alarm-sound-buzzer.mp3
sleep 30
mpg123 /usr/share/sounds/My_Sounds/facility-alarm.mp3
sleep 30

Mas só reproduz o primeiro arquivo de som. ??

20.04
  • 2 2 respostas
  • 209 Views

2 respostas

  • Voted
  1. Best Answer
    Raffa
    2023-11-25T21:47:16+08:002023-11-25T21:47:16+08:00

    (Vou usá-lo como um lembrete para escovar cada quadrante dos dentes ao usar uma escova de dentes elétrica.)

    Devo dizer que esta é uma das razões mais estranhas que já ouvi ( as escovas de dente elétricas têm temporizadores embutidos hoje em dia ): D... Provavelmente, você preferiria que seu computador também lhe desse instruções faladas:

    {
    t=$(date +"%s")
    
    while true
      do
        n=$(date +"%s")
        ((n<=(t+30))) && spd-say -w 'Brush Upper Left Quadrant'
        ((n>(t+30) && n<=(t+60))) && spd-say -w 'Brush Upper Right Quadrant'
        ((n>(t+60) && n<=(t+90))) && spd-say -w 'Brush Lower Left Quadrant'
        ((n>(t+90) && n<=(t+120))) && spd-say -w 'Brush Lower Right Quadrant'
        ((n>(t+120))) && break
        done
    }
    

    Ou torne-o menos tagarela assim:

    {
    f=(
    'Brush Upper Left Quadrant'
    'Brush Upper Right Quadrant'
    'Brush Lower Left Quadrant'
    'Brush Lower Right Quadrant'
    'Congratulations, mission accomplished'
    )
    
    for i in {0..4}
      do
        spd-say -w "${f[$i]}"
        [ "$i" -lt 4 ] && sleep 30
        done
    }
    

    Ou use o timeoutcomando com seu player e arquivos de áudio assim:

    {
    timeout 30 mpg123 --loop -1 /usr/share/sounds/My_Sounds/Alarm_Clock_Sound.mp3
    timeout 30 mpg123 --loop -1 /usr/share/sounds/My_Sounds/Alarm-sound-buzzer.mp3
    timeout 30 mpg123 --loop -1 /usr/share/sounds/My_Sounds/Alarm_Clock_Sound.mp3
    timeout 30 mpg123 --loop -1 /usr/share/sounds/My_Sounds/Alarm-sound-buzzer.mp3
    }
    

    ou com sleepe o Bash integrado killassim:

    {
    f=(
    '/usr/share/sounds/My_Sounds/Alarm_Clock_Sound.mp3'
    '/usr/share/sounds/My_Sounds/Alarm-sound-buzzer.mp3'
    '/usr/share/sounds/My_Sounds/Alarm_Clock_Sound.mp3'
    '/usr/share/sounds/My_Sounds/Alarm-sound-buzzer.mp3'
    )
    
    for i in {0..3}
      do
        mpg123 --loop -1 "${f[$i]}" &> /dev/null & p="$!"
        sleep 30
        kill "$p"
        done
    }
    

    Ou reproduza cada arquivo uma vez , espere 30 segundos e passe para o próximo arquivo assim:

    {
    f=(
    '/usr/share/sounds/My_Sounds/Alarm_Clock_Sound.mp3'
    '/usr/share/sounds/My_Sounds/Alarm-sound-buzzer.mp3'
    '/usr/share/sounds/My_Sounds/Alarm_Clock_Sound.mp3'
    '/usr/share/sounds/My_Sounds/Alarm-sound-buzzer.mp3'
    )
    
    for i in {0..3}
      do
        mpg123 "${f[$i]}" &> /dev/null
        [ "$i" -lt 3 ] && sleep 30
        done
    }
    
    • 6
  2. WinEunuuchs2Unix
    2023-11-26T11:55:09+08:002023-11-26T11:55:09+08:00

    Há alguns anos, postei um script bash aqui no Ask Ubuntu que aborda o problema de vários temporizadores:

    • Execute um conjunto de alarmes consecutivamente

    No entanto, permite apenas um arquivo de som personalizado usado em todos os alarmes.

    Desde então escrevi uma versão Javascript que roda no navegador Chrome ou Firefox em qualquer dispositivo:

    • Tim-ta (tarefas cronometradas)

    A vantagem dessa grande reescrita é que você pode acionar os cronômetros do seu smartphone e levá-lo para o banheiro. É claro que roda no Ubuntu, mas arrastar o computador até a pia para escovar os dentes não é o ideal.

    A outra vantagem do Tim-ta é que você pode carregar arquivos de som personalizados ilimitados e escolher um deles para cada cronômetro.

    • 1

relate perguntas

  • Como posso configurar a resolução de domínio curinga local (127.0.0.1) em 18.04..20.04?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve