Mostrando las entradas con la etiqueta mp3. Mostrar todas las entradas
Mostrando las entradas con la etiqueta mp3. Mostrar todas las entradas

miércoles, 1 de junio de 2016

Editar archivos mp3 en Fedora

Imagen obtenida de url
La edición de mp3  se vuelve necesaria cuando por ejemplo, descargas un video de una canción que te gusta, pero es en vivo, y te gustaría cortarle alguna parte del archivo mp3.

Es exactamente lo que me pasó, descargué el vídeo, lo convertí a mp3, y pues me disponía a cortarlo con audacity, el  cual es un software informático multiplataforma libre, que se puede usar para grabación y edición de audio, distribuido bajo la licencia GPL.

El problema surgió cuando lo instalé en fedora, me mostraba un mensaje de que la versión por default para fedora, no estaba compilado para editar archivo mp3.

Para solucionarlo, tenía dos opciones:
1.- Recompilar todo el código con la versión y librerías de lame, para poder realizar la edición con mp3.

2.- Y la más fácil desde mi punto de vista, instalar una versión llamada audacity-freeworld, la cual ya está compilada para editar archivos mp3.



Instalación en Fedora 23:
sudo dnf -y install audacity-freeworld

Y con eso solucioné el problema.

viernes, 29 de mayo de 2015

Convertir todos los vídeos FLV a MP3 de un directorio

Un día quería pasar unos vídeos FLV a fotrmato MP3, dichos vídeos los había descargado de YouTube. Bueno, busqué rápidamente programas que hicieran esa conversión usando Linux, resulta que no encontré ningún programa que conviertiera todos los vídeos uno tras otro contenidos en una carpeta.

De tal manera que, decidí crear mi script, para solucionar este problema. Cuando usamos Linux, sabemos que la consola siempre es una opción para terminar lo que empezamos, siempre y cuando no sea para ver vídeos.

Bueno, el script que creé es el siguiente, ojo, no olviden que se necesita tener instalado ffmpeg para que el script funcione:
#!/bin/bash
# convertir .flv a .mp3 recursivamente
# LiNuXiToS- Fernando Merino
# carpeta =  ruta de la carpeta que contiene los archivos a convertir
# archivo = variale para obtener los nombres de los archivos
# noantarch = variable que contiene el nombre anterior del archivo
# nonuearch = variable con el nuevo nombre del archivo

if [ -z $1 ];then echo Ingrese directorio destino; exit 0;fi
find "$1" -depth -name '*' | while read archivo ; do
carpeta=$(dirname "$archivo")
noantarch=$(basename "$archivo")
nonuearch=$(basename "${archivo%.[Ff][Ll][Vv]}")
if [ "$noantarch" != "$nonuearch" ]; then
ffmpeg -i "$carpeta/$noantarch" -ab 320k "$carpeta/$nonuearch.mp3" </dev/null
#rm "$carpeta/$noantarch"
fi
done


Copiar y pegar el texto en un archivo de videoAmp3.sh aplicar permisos de ejecución como se muestra:
chmod +x videoAmp3.sh
Ejecución: ir al directorio en el que está el archivo videoAmp3.sh
./videoAmp3.sh /ruta-de-la-carpeta-contenedora-de-los-videos
ejemplo:
./videoAmp3.sh ~/Vídeos/videoclips

Ventajas del script:
  1. Conversión rápida ya que no necesita interfaz gráfica
  2. Compatibilidad con distros Linux
  3. Funciona con archivos soportados por ffmpeg
  4. Funciona con archivo con nombres con espacios
 Desventajas:
  1. Si en la carpeta hay varios tipos de videos, por ejemplo, mp4, avi, flv, wma, ect., es necesario modificar la instrucción que dice nonuearch=$(basename "${archivo%.[Ff][Ll][Vv]}") en la parte de [Ff][Ll][Vv] es para la extensión del archivo original, es decir, uniendo esas tres letras se encuentran las combinaciones posibles de por ejemplo del formato .flv, si fuera para mp4, entonces quedaría [Mm][Pp][4] y así sucesivamente.
  2. Necesario modificar al tipo de archivo al que se obtendrá de salida, es más que obvio esta instrucción. En la línea ffmpeg -i "$carpeta/$noantarch" -ab 320k "$carpeta/$nonuearch.mp3" </dev/null es necesario indicar el tipo de archivo de salida, por ejemplo a wma.
 Para saber los tipos de formatos compatibles con ffmpeg usar la consola el siguiente coando:
ffmpeg -formats
Y les desplegará la lista con los formatos compatibles. Y eso es todo.

http://stackoverflow.com/questions/10083498/bash-script-to-convert-all-flv-file-in-a-directory-to-mp3
http://stackoverflow.com/questions/19562785/handbrakecli-bash-script-convert-all-videos-in-a-folder
http://stackoverflow.com/questions/10083498/bash-script-to-convert-all-flv-file-in-a-directory-to-mp3#21363118

lunes, 3 de noviembre de 2014

Copiar CD a mp3 en Linux

Hace poco me encargaron copiar un paquete de CD de canciones en wma y convertirlos a mp3. El problema era que no sabía cómo hacerlo en linux, bueno encontré un herramienta bastante útil para copiar CD en formato mp3.

La aplicación se llama:

Para instalarla ejecutar el siguiente comando:
sudo yum -y install sound-juicer

Instrucciones

  1. Inicia la aplicación antes mencionada
  2. Haz clic en "Edit" (Editar) y en "Preferences" (Preferencias) en la ventana Sound Juicer que abre automáticamente con el programa.
  3. Haz clic en "Output Format" (Formato de salida) al fondo de la pantalla y selecciona "MPEG Layer 3 Audio" para que sea salida en mp3.
  4. Selecciona la carpeta en la que deseas guardar las canciones copiadas
  5. Haz clic en "Close" (Cerrar) para cerrar la ventana. Tus preferencias se guardarán.
  6. Inserta tu CD de Audio en tu unidad CD de la computadora.
  7. Haz clic en "Extract" (Extraer) en la aplicación. El disco automáticamente se extraerá a la ubicación específica.
Y eso es todo, gracias por visitar.

martes, 12 de agosto de 2014

Reproducir sonidos en java, usando player y de forma más simples.

La siguiente clase contiene los métodos necesarios para reproducir una archivo de sonido. La facilidad de ésta clase es que sólo es necesario, crear un objeto de la clase e invocar el método que se necesite, igual y pueden modificar dicha clase a sus necesidades.
Es necesario mencionar que necesitan los jar de player, javazoom.jl.player. Las agregan a su paquete y las pueden comenzar a usar.

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import javazoom.jl.decoder.JavaLayerException;
import javazoom.jl.player.Player;

public class Sonido {

    private static File file;
    private static String ruta;
    public static boolean terminochoque = true;
    public static boolean terminocaida = true;

    public void saltar() {
        file = new File(".");
        ruta = file.getAbsolutePath();
        Thread hilo = new Thread() {
            @Override
            public void run() {
                try {
                    Thread.sleep(1);
                    FileInputStream fis;
                    Player player;
                    try{
                        fis = new FileInputStream(ruta + "/src/sounds/saltar.mp3");
                    }catch (FileNotFoundException e){
                        fis = new FileInputStream(ruta + "/complementos/saltar.mp3");
                    }
                    BufferedInputStream bis = new BufferedInputStream(fis);
                    player = new Player(bis);
                    player.play();
                    stop();
                } catch (InterruptedException | JavaLayerException | FileNotFoundException e) {
                    System.out.println(" error " + e);
                }

            }
        };
        hilo.start();
    }

    public void caida() {
        if (terminocaida){
            terminocaida = false;
            file = new File(".");
            ruta = file.getAbsolutePath();
            Thread hilo = new Thread() {
                @Override
                public void run() {
                    try {
                        Thread.sleep(500);
                        FileInputStream fis;
                        Player player;
                        try{
                            fis = new FileInputStream(ruta + "/src/sounds/caida.mp3");
                        }catch (FileNotFoundException e){
                            fis = new FileInputStream(ruta + "/complementos/caida.mp3");
                        }
                        BufferedInputStream bis = new BufferedInputStream(fis);
                        player = new Player(bis);
                        player.play();
                        stop();
                    } catch (InterruptedException | JavaLayerException | FileNotFoundException e) {
                    }
                }
            };
            hilo.start();
        }
    }

    public void choque() {
        if (terminochoque){
            terminochoque = false;
            file = new File(".");
            ruta = file.getAbsolutePath();
            Thread hilo = new Thread() {
                @Override
                public void run() {
                    try {
                        Thread.sleep(1);
                        FileInputStream fis;
                        Player player;
                        try{
                            fis = new FileInputStream(ruta + "/src/sounds/choque.mp3");
                        }catch(FileNotFoundException e){
                            fis = new FileInputStream(ruta + "/complementos/choque.mp3");
                        }
                        BufferedInputStream bis = new BufferedInputStream(fis);
                        player = new Player(bis);
                        player.play();
                        stop();
                    } catch (InterruptedException | JavaLayerException | FileNotFoundException e) {
                    }
                }
            };
            hilo.start();
        }
    }

    public void puntos() {
        file = new File(".");
        ruta = file.getAbsolutePath();
        Thread hilo = new Thread() {
            @Override
            public void run() {
                try {
                    Thread.sleep(1);
                    FileInputStream fis;
                    Player player;
                    try{
                        fis = new FileInputStream(ruta + "/src/sounds/puntos.mp3");
                    } catch(FileNotFoundException e){
                        fis = new FileInputStream(ruta + "/complementos/puntos.mp3");
                    }
                    BufferedInputStream bis = new BufferedInputStream(fis);
                    player = new Player(bis);
                    player.play();
                    stop();
                } catch (InterruptedException | JavaLayerException | FileNotFoundException e) {
                }
            }
        };
        hilo.start();
    }

    public void chocar() {
        file = new File(".");
        ruta = file.getAbsolutePath();
        Thread hilo = new Thread() {
            @Override
            public void run() {
                try {
                    Thread.sleep(1);
                    FileInputStream fis;
                    Player player;
                    try{
                        fis = new FileInputStream(ruta + "/src/sounds/choque.mp3");
                    }catch (FileNotFoundException e){
                        fis = new FileInputStream(ruta + "/complementos/choque.mp3");
                    }
                    BufferedInputStream bis = new BufferedInputStream(fis);
                    player = new Player(bis);
                    player.play();
                    stop();
                } catch (InterruptedException | JavaLayerException | FileNotFoundException e) {
                    System.out.println(" error " + e);
                }

            }
        };
        hilo.start();
    }
    
    public void jueves() {
        file = new File(".");
        ruta = file.getAbsolutePath();
        Thread hilo = new Thread() {
            @Override
            public void run() {
                try {
                    Thread.sleep(1);
                    FileInputStream fis;
                    Player player;
                    try{
                        fis = new FileInputStream(ruta + "/src/sounds/AJWS.mp3");
                    }catch (FileNotFoundException e){
                        fis = new FileInputStream(ruta + "/complementos/AJWS.mp3");
                    }
                    BufferedInputStream bis = new BufferedInputStream(fis);
                    player = new Player(bis);
                    player.play();
                    stop();
                } catch (InterruptedException | JavaLayerException | FileNotFoundException e) {
                    System.out.println(" error " + e);
                }

            }
        };
        hilo.start();
    }
}

Pueden descargar el proyecto desde aquí.
Eso es todo, gracias por visitar el blog.