Toca o áudio várias vezes durante a sobreposição (ou seja, simultaneamente) da linha de comando

2

Estou tentando tocar um som de 3 pedágios usando um único arquivo de áudio de pedágio no bash. Eu quero que o som se sobreponha.

A duração única do pedágio é de 4 segundos.

Eu quero isso:

  • o primeiro pedágio começa
  • enquanto o primeiro pedágio é reproduzido, 1 segundo após a começar, um segundo pedágio começa, sobrepondo o primeiro, ou seja, o segundo pedágio não pára o primeiro
  • enquanto o primeiro e o segundo jogo de pedágio, 1 segundo após o início do segundo pedágio, um terceiro pedágio começa, sobrepondo o primeiro e o segundo sem pará-lo

Estou tentando

for i in 1 2 3; do mpg123 "single_toll.mp3" & sleep 1 ; done;

Eu entendo que o primeiro pedágio é jogado inteiramente, e um som indistinto é ouvido quando o segundo e o terceiro pedágio devem ser ouvidos sobrepondo-se ao primeiro.

O que estou perdendo?

    
por Paolo Benvenuto 20.01.2017 / 21:26

1 resposta

2

Na verdade, o sox resolve (inspirado pelo link e modificado de acordo com a página man do sox):

sox single_toll.mp3 -p pad 1 0 | \
sox - -m single_toll.mp3 -p pad 1 0 remix v2 | \
play - -m single_toll.mp3 remix v2

O parâmetro remix v2 deve ser usado porque quando o remix sox reduz o volume em 1/2, como explica a página man.

Para um número arbitrário de pedágios, a segunda linha pode ser repetida quantas vezes forem necessárias, na verdade N-2 times

    
por 21.01.2017 / 23:44

Tags