Crea tu propio audio para practicar shadowing
El shadowing consiste en escuchar una frase y repetirla en voz alta justo después, copiando el ritmo y la entonación. Funciona mejor con tu propio material: las frases de tu lección, tus respuestas para una entrevista, el diálogo de tu libro. Los vídeos de shadowing ya hechos casi nunca traen justo esas frases.
Esta guía convierte cualquier lista de frases en una pista de shadowing con el motor gratuito de SuperClonica: cada frase suena primero un poco más lenta y luego a velocidad normal, seguida de una pausa suficiente para repetirla. Probamos el script de abajo; funciona sin conexión y en 31 idiomas.
Escribe la lección
Pon una frase por línea en un archivo de texto llamado lesson.txt. Hazlas cortas, que se digan de un respiro, y escríbelas como se habla. Las líneas vacías se saltan, así que puedes agrupar las frases como quieras. Antes de empezar, prueba una frase en la página de cualquier voz del catálogo, de 30 a 100 caracteres, para elegir una voz que te guste escuchar, sin cuenta.
El script
Instala el motor y NumPy una vez:
pip install superclonica-cpu numpy
Guarda esto como shadowing.py:
import sys, wave
import numpy as np
from superclonica import Superclonica
LANGUAGE = "en" # the language you practise
VOICE = "F2" # M1..M5, F1..F5 or a voice file from the catalog
SPEEDS = (0.85, 1.0) # each sentence slower first, then at normal speed
GAP = 1.3 # pause after each sentence, as a multiple of its length
tts = Superclonica()
pieces, rate = [], None
for line in open(sys.argv[1], encoding="utf-8"):
sentence = line.strip()
if not sentence:
continue
for speed in SPEEDS:
tts.speed = speed
audio, rate = tts.synthesize(sentence, voice=VOICE, lang=LANGUAGE)
audio = np.asarray(audio, dtype=np.float32).reshape(-1)
pieces += [audio, np.zeros(int(len(audio) * GAP), dtype=np.float32)]
pcm = (np.clip(np.concatenate(pieces), -1, 1) * 32767).astype(np.int16)
with wave.open("shadowing.wav", "wb") as file:
file.setnchannels(1)
file.setsampwidth(2)
file.setframerate(rate)
file.writeframes(pcm.tobytes())
print(f"shadowing.wav: {len(pcm) / rate:.0f} s")Luego crea la pista:
python shadowing.py lesson.txt
Cada frase suena a velocidad 0.85 y luego a velocidad normal, y la pausa tras cada una dura 1,3 veces su longitud, tiempo suficiente para decirla tú. Con tres frases cortas la pista dura medio minuto aproximadamente.
Ajústalo a tu nivel
Si empiezas, baja la primera pasada a 0.75 y alarga GAP a 1.6; si tienes nivel avanzado, quita la pasada lenta con SPEEDS = (1.0,) y acorta la pausa. Pon en LANGUAGE el idioma que estudias, por ejemplo es, de, fr, ja o ko; el chino aún no está disponible. Cada voz habla los 31 idiomas, aunque una voz grabada en tu idioma objetivo suena más nativa.
Úsalo cada día
Convierte el WAV a MP3 con cualquier herramienta de audio y pásalo al móvil, o reprodúcelo en el ordenador. Haz shadowing con la pista a diario durante una semana y luego cambia la lección por frases nuevas: una pista nueva se hace en un minuto. Grábate de vez en cuando y compárate con la voz; las pausas facilitan oír dónde cambia tu ritmo.