Pregunta

Estoy trabajando en una solicitud para carreras universitarias de música.Una característica que estoy considerando es ralentizar la reproducción de música sin cambiar su tono.He visto esto en software comercial, pero no puedo encontrar ninguna biblioteca o aplicación de código abierto que haga algo como esto.

  1. ¿Hay bibliotecas por ahí?
  2. ¿Cómo podría hacerse esto desde cero a partir de varios formatos de archivo?

Nota:Estoy trabajando en Java pero no me opongo a cambiar de idioma.

¿Fue útil?

Solución

Estirar el tiempo es bastante difícil.Cuanto más ralentizas o aceleras el sonido, más artefactos obtendrás.Si quieres saber cómo suenan escucha "The Rockafeller Skank" de Fat Boy Slim.Hay muchas formas de hacerlo y cada una tiene sus propias fortalezas y debilidades.Las matemáticas pueden volverse realmente complejas.Por eso existen tantos algoritmos propietarios.

Esta página explica las cosas un poco más claras que yo y enlaza a la biblioteca de Dirac.http://www.dspdimension.com/admin/time-pitch-overview/

Encontré este enlace para que el código Java realice cambios de tono/estiramiento de tiempohttp://www.adetorres.com/keychanger/KeyChangerReadme.html

Otros consejos

yo suelo estiramiento de sonido para acelerar los podcasts, lo cual funciona bastante bien, aunque no lo he probado con música.

Este sitio explica cómo se hace en el mundo físico:http://www.wendycarlos.com/other/Eltro-1967/index.html

Aunque no sé cómo emularías eso en el software...seguiré buscando

Una forma de hacerlo sería duplicar la frecuencia de muestreo sin cambiar la frecuencia de muestreo de su fuente.(Ejemplo de baja calidad, pero fácil de implementar.Nota:También puede disminuir la frecuencia de muestreo).

Consulte cualquier matemática relacionada con los codificadores de voz de fase.

Otro método común es crear una serie de contenedores fft que almacenen datos para intervalos programados de su sonido.Luego, puede elegir la rapidez con la que iterar a través de los contenedores y puede volver a sintetizar esos datos de audio durante el tiempo que desee, lo que le permitirá extender un segmento corto de su sonido durante el tiempo que desee.

audacity lo hace de inmediato y es gratis.También hay varios complementos gratuitos para reproductores de mp3.Aparentemente es bastante fácil hacerlo con un mp3 ya que ya está codificado en el dominio de la frecuencia.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top