reproduir àudio des del terminal per Piper:

Sí! Hi ha diverses alternatives per reproduir l’àudio generat per Piper:

Alternatives des del terminal:

1. Guardar a fitxer i reproduir:

# Generar i guardar
echo "Text" | piper --model /config/ca_ES-upc_ona-medium.onnx --output_file /tmp/audio.wav

# Reproduir amb aplay
aplay /tmp/audio.wav

# O amb paplay (PulseAudio)
paplay /tmp/audio.wav

2. Utilitzar paplay (PulseAudio):

echo "Text" | piper --model /config/ca_ES-upc_ona-medium.onnx --output_file - | \
paplay --raw --rate=22050 --format=s16le --channels=1

3. Utilitzar ffplay (FFmpeg):

echo "Text" | piper --model /config/ca_ES-upc_ona-medium.onnx --output_file - | \
ffplay -f s16le -ar 22050 -ac 1 -i -

4. Utilitzar sox (Sound eXchange):

echo "Text" | piper --model /config/ca_ES-upc_ona-medium.onnx --output_file - | \
play -t raw -r 22050 -b 16 -c 1 -

5. Python amb pydub o playsound:

import subprocess
from pydub import AudioSegment
from pydub.playback import play

# Generar àudio
result = subprocess.run([
    'docker', 'exec', 'piper', 'bash', '-c',
    'echo "Text" | piper --model /config/ca_ES-upc_ona-medium.onnx --output_file -'
], capture_output=True)

# Reproduir
audio = AudioSegment.from_raw(io.BytesIO(result.stdout), 
                               sample_width=2, 
                               frame_rate=22050, 
                               channels=1)
play(audio)

Quina prefereixes utilitzar al teu server.py?

  • aplay (la que ja fas servir) ✅
  • paplay (millor per PulseAudio)
  • ffplay (més versàtil)
  • Guardar a fitxer primer
  • Una altra?