Quiero hacer un programa que toma un archivo MP3 y lo divide en muchos archivos mp3 más pequeños basados en 1-2 segundos sin sonido (silencio). ¿Cuál es la forma más fácil de hacer esto en C#?¿Cómo divido un archivo mp3 en archivos más pequeños?
Respuesta
Tener un conocimiento sólido del formato binario del archivo sería un buen lugar para comenzar. Hecho esto, sabrá cómo se ve el silencio en el archivo. Puede que tenga que definir exactamente qué es el silencio. Suponiendo que, como la mayoría del audio, comenzó desde una fuente analógica, es casi seguro que hay algo de ruido enterrado en el "silencio". ¿Cuál será su tolerancia al ruido ambiental/de fondo?
Una vez que sepa lo que está buscando, simplemente escanee el archivo, en busca de "eso".
simple ...
Bass library. Bass tiene todo lo que necesitas. Puede acceder, grabar y editar flujos de medios como mp3, lo que le permite muestrear el volumen en diferentes momentos. Tiene una API .Net, así que puedes usarla en C#. Desafortunadamente cuesta dinero si lo está utilizando para una aplicación comercial, pero proporcionan una licencia no comercial gratuita.
Sox es una herramienta de línea de comandos que tiene la opción de dividir un mp3 en n segundos de silencio. Siempre puedes usar el comando del sistema para llamar a sox desde C#.
Otros enlaces relacionados.
Ripping a CD to mp3 in C# - third party component or api out there?
Audio Libraries for MP3 editing
How do I merge/join mp3 files with c#
Este código muestra una manera de hacer un CD Ripper en C#. Hay API de algunos proveedores que permiten leer pistas de audio CD pero también es posible hacerlo utilizando API que permiten acceso de bajo nivel a unidades de CD como ASPI de códigos de control Adaptec o IOCTL. El último método se usa en este caso, porque no hay necesidad de instalar ningún software de terceros, es completamente cubierto por las funciones Win32 API .
Un programa para hacer esto ya existe:
La división del flujo de MP3 será difícil de hacer con cualquier grado de precisión. Los datos MP3 comprimidos existen como fragmentos secuenciales de datos de audio compuestos de muchas muestras. La forma más fácil de realizar esto sería decodificar el flujo ya sea progresivamente o en su totalidad, realizar su manipulación y luego volver a codificarlo (que como entiendo es la mayoría de software jukebox)
- 1. Cómo dividir routes.rb en archivos más pequeños
- 2. ¿Cómo dividir un archivo de texto grande en archivos más pequeños con igual cantidad de líneas?
- 3. Datos en archivos XML: ¿Un archivo grande o varios pequeños?
- 4. ¿Cómo reproducir archivos MP3 en C?
- 5. ¿Cómo reproducir archivos mp3 en C++?
- 6. Lectura de archivos MP3
- 7. ¿Cómo reproducir archivos mp3 en C#?
- 8. ¿Puedo redactar un archivo de configuración de primavera a partir de archivos más pequeños?
- 9. ¿cómo reproduzco el archivo mp3?
- 10. Cómo leer las etiquetas de archivos MP3
- 11. ¿Cómo lidiar con muchos archivos pequeños?
- 12. Cómo reproducir un archivo MP3 usando NAudio
- 13. Comando de shell para dividir archivos grandes en 10 archivos más pequeños
- 14. Archivos pequeños y bloques HDFS
- 15. ¿Cómo dividir un archivo wav en fragmentos más pequeños usando Java?
- 16. Cargando un archivo AAC/MP3 "manualmente"
- 17. ¿Cómo obtener el volumen del archivo MP3?
- 18. ¿Cómo se divide la salida de mysqldump en archivos más pequeños?
- 19. Combinar/Concatenar archivos MP3 en el servidor usando PHP
- 20. NAudio para dividir archivos mp3
- 21. longitud de tiempo de un archivo mp3
- 22. Cómo aplicar DRM en un archivo .mp3/.wav
- 23. ¿Puede Python abrir un archivo mp3
- 24. Archivo de audio más pequeño: MP3, Ogg o Wav?
- 25. Encontrar la longitud de un archivo MP3
- 26. Transmitir archivo MP3 MVC3
- 27. ¿Por qué los archivos compilados de clase Java son más pequeños que los compilados en C?
- 28. ¿Cómo divido models.py en diferentes archivos para diferentes modelos en Pyramid?
- 29. manejo de un montón de pequeños archivos temporales
- 30. pyspeech (python) - Transcribe archivos mp3?
¿Ha intentado usar ffmpeg? –
¿Esto realmente debe hacerse programáticamente? Me imagino que hay algún tipo de software existente para hacerlo. –
He visto ocasionalmente el álbum que fue copiado de tal manera que todas las pistas creaban un solo archivo masivo; Supongo que Rhein tiene varios archivos configurados de esta manera y quiere poder limpiarlos en lotes, lo que facilita la organización de la biblioteca. A pesar de lo que dije a continuación, probablemente sugeriría simplemente volver a grabar los álbumes en cuestión correctamente. Usted tiene derechos legales sobre ellos, ¿verdad? – Adrien