elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [BATCH] [APORTE] Auto Music Converter 3.0 (Automatiza conversiones a MP3)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [BATCH] [APORTE] Auto Music Converter 3.0 (Automatiza conversiones a MP3)  (Leído 2,478 veces)
Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.874



Ver Perfil
[BATCH] [APORTE] Auto Music Converter 3.0 (Automatiza conversiones a MP3)
« en: 16 Octubre 2012, 15:47 pm »

Auto Music Converter es un script de uso personal para automatizar conversiones masivas de audio, a MP3 de "X" bitrate, en cualquier directorio simplemente pinchando click derecho sobre el mismo.

SOLO ES COMPATIBLE CON WINDOWS 7 (x64)





- Explicación detallada de para que sirve el script:

Imaginemos que tenemos una carpeta (con o sin subcarpetas) llena de archivos de música, de distintos formatos y a distintos bitrates...

Nosotros queremos que el bitrate general de esos archivos no supere por ejemplo los "192 kbps", osea, que en esa carpeta puedan haber archivos con bitrate inferior al indicado (192) PERO NO SUPERIOR AL INDICADO (192)...

Entonces el script comparará el bitrate de todos los archivos en esa carpeta con el bitrate indicado, y si encuentra algún archivo con bitrate MAYOR al indicado (192), lo convertirá a MP3 con el bitrate indicado (192).

PD: El script no afecta a archivos que tengan un bitrate inferior al indicado, ya que es una tontería convertir un archivo de bitrate inferior a superior...





Auto Music Converter es la renovación de mi antiguo script Audio Bitrate Changer http://foro.elhacker.net/empty-t322340.0.html
(Optimizado, simplificado, con más formatos soportados, y ahora es totálmente customizable)

El script usa el convertidor por línea de comandos (coreconverter.exe) de dbPoweramp y aparte depende de los siguientes programas:
  • colous
  • FART
  • mediainfo
  • mp3gain
  • mp3val
  • nircmd

Formatos soportados:
  • AIF/AIFF
  • APE
  • FLA/FLAC
  • M4A
  • MP3
  • OGG
  • W64
  • WAV
  • WMA
  • WV

PD: Está todo incluido en el instalador y no hay que instalar nada de lo mencionado manualmente.





- Explicación de las opciones más importantes del script:

Código:
SET "MAX_BITRATE=192"
Esto significa que el script buscará archivos que tengan bitrate MAYOR de 192, y si encuentra alguno MAYOR lo convertirá a MP3 de 192 bitrate.
Se puede cambiar el valor por: 128 | 160 | 192 | 224 | 256 | 320

Código:
Set "QUALITY=0"
Indica la calidad de conversión del MP3. El valor máximo es 0, el mínimo 9.

Código:
Set "BITRATE_MODE=--cbr"
Indica el modo de bitrate. CBR = bitrate constante, ABR = Average bitrate, V = Variable bitrate.

Código:
Set "Normalize=YES"
Indica si se le aplicará una ganancia (no destructiva) al MP3. para desactivarlo escribir "NO"

Código:
Set "GAIN=5"
Indica la ganancia sobre 10 que se le aplica. el valor máximo es 10.
5 equivale a 94 db en MP3Gain.




- Algunas imagenes:















- DESCARGA:



PD: El instalador crea un acceso directo en el menú inicio para modificar las opciones manualmente en el bloc de notas.




- El script:

Código
  1. @echo off
  2.  
  3. :: ###############################
  4. :: #                             #
  5. :: #  Auto Music Converter v3.0  #
  6. :: #  A.   M.    C.              #
  7. :: #                             #
  8. :: ###############################
  9. ::
  10. :: By Elektro H@cker
  11.  
  12. REM Este script busca archivos de audio que tengan un bitrate superior a "X" kbps y convierte esos archivos a formato MP3 de "X" kbps.
  13. REM
  14. REM Formatos soportados:
  15. REM AIF | AIFF | APE | FLA | FLAC | M4A | MP3 | OGG | W64 | WAV | WMA | WV
  16.  
  17. :: ###################
  18. :: #                 #
  19. :: #  CONFIGURACIÓN  #
  20. :: #                 #
  21. :: ###################
  22. ::
  23. :: Script options
  24. ::
  25. SET "MAX_BITRATE=192" & REM 128|160|192|224|256|320
  26. ::
  27. Set "FORMATS=*.AIF;*.AIFF;*.APE;*.FLA;*.FLAC;*.M4A;*.MP3;*.OGG;*.W64;*.WAV;*.WMA;*.WV"
  28. Set "CONVERTED_PATH=%Temp%\BitrateChanger_PATH_%RANDOM%.txt"
  29. Set "INDEX=%Temp%\BitrateChanger_INDEX_%RANDOM%.txt"
  30. Set "LIST=%Temp%\BitrateChanger_LIST_%RANDOM%.txt"
  31. Set "RESUMEONERROR=YES"
  32. Set "AUTOEND=YES"
  33. Set /A "Num=0", "Rate=0", "Scanned=0"
  34. ::
  35. :: Encoder options
  36. ::
  37. Set "EFFECTS=-dspeffect1="Preserve Source Attributes" -dspeffect2="Delete Source File=" -dspeffect3="Delete Destination File on Error=""
  38. Set "PROFILE=slow"       & REM fast|normal|slow
  39. Set "QUALITY=0"          & REM (MAX) 0-9 (MIN)
  40. Set "BITRATE_MODE=--cbr" & REM --abr|-V (0-9)
  41. SET "CHANNELS=auto"      & REM mono|stereo|joint stereo|forced joint stereo|dual channels
  42. Set "PRIORITY=normal"    & REM idle|low|normal|high
  43. Set "OTHER=-noidtag --noreplaygain"
  44. ::
  45. :: Gain options
  46. Set "Normalize=YES"
  47. Set "GAIN=5"
  48. ::
  49. :: :: :: :: :: :: :: :: :: :: :: :: ::
  50.  
  51. CALL :FILEEXIST "colous.exe"
  52. CALL :FILEEXIST "coreconverter.exe"
  53. CALL :FILEEXIST "mediainfo.exe"
  54. CALL :FILEEXIST "mp3gain.exe"
  55. CALL :FILEEXIST "mp3val.exe"
  56. CALL :FILEEXIST "nircmd.exe"
  57.  
  58. :START
  59. Title "Auto Music Converter %CD%"
  60. Mode con cols=30 lines=3
  61. Color 07
  62. CD "%D%" >nul 2>&1
  63. DEL /Q "%LIST%" >nul 2>&1
  64. IF /I "%~1" EQU "RECURSIVE" (Set "RECURSIVE=/S")
  65. Colous writesec "[7] Buscando archivos"    & nircmd wait 300 & cls & echo+
  66. Colous writesec "[7] Buscando archivos."   & nircmd wait 300 & cls & echo+
  67. Colous writesec "[7] Buscando archivos.."  & nircmd wait 300 & cls & echo+
  68. Colous writesec "[7] Buscando archivos..." & nircmd wait 250
  69.  
  70. :INDEX
  71. DIR /B %RECURSIVE% %FORMATS% 1> "%INDEX%" 2>NUL || (Goto :NOMUSIC)
  72. FOR /F %%# in ('Find /V /C "" ^< "%INDEX%"') do (set "TOTAL=%%#")
  73.  
  74. :FIND_BITRATE
  75. Mode con cols=30 lines=3
  76. FOR /F "tokens=*" %%# in ('DIR /B %RECURSIVE% %FORMATS%') do (
  77. cls
  78. Call set /a scanned+=1
  79. Call Colous writesec "[7] Buscando archivos... [14]%%Scanned%%[7]/[14]%TOTAL%"
  80. IF "%MAX_BITRATE%" EQU "128" (mediainfo "%%#" "--Inform=General;%%BitRate%%" | FINDSTR "^129... ^1[3-9][0-9]... ^[2-9]..... ^[1-9]......"     >nul && (CALL :CONVERT "%%#"))
  81. IF "%MAX_BITRATE%" EQU "160" (mediainfo "%%#" "--Inform=General;%%BitRate%%" | FINDSTR "^16[1-9]... ^1[7-9][0-9]... ^[2-9]..... ^[1-9]......" >nul && (CALL :CONVERT "%%#"))
  82. IF "%MAX_BITRATE%" EQU "192" (mediainfo "%%#" "--Inform=General;%%BitRate%%" | FINDSTR "^19[3-9]... ^[2-9]..... ^[1-9]......"                 >nul && (CALL :CONVERT "%%#"))
  83. IF "%MAX_BITRATE%" EQU "224" (mediainfo "%%#" "--Inform=General;%%BitRate%%" | FINDSTR "^22[5-9]... ^2[3-9][0-9]... ^[3-9]..... ^[1-9]......" >nul && (CALL :CONVERT "%%#"))
  84. IF "%MAX_BITRATE%" EQU "256" (mediainfo "%%#" "--Inform=General;%%BitRate%%" | FINDSTR "^25[7-9]... ^2[6-9][0-9]... ^[3-9]..... ^[1-9]......" >nul && (CALL :CONVERT "%%#"))
  85. IF "%MAX_BITRATE%" EQU "320" (mediainfo "%%#" "--Inform=General;%%BitRate%%" | FINDSTR "^32[1-9]... ^3[3-9][0-9]... ^[4-9]..... ^[1-9]......" >nul && (CALL :CONVERT "%%#"))
  86. )
  87. Goto :END
  88.  
  89. :CONVERT
  90. PUSHD "%~dp1"
  91. Title "Auto Music Converter: %~nx1"
  92. Mode con cols=80 lines=25
  93. cls
  94. FOR /F "tokens=*" %%%% in ('mediainfo "%~1" "--Inform=General;%%BitRate/String%%"') do (set "Rate=%%~%%")
  95. Colous writesec "[8]%~dp1"
  96. Colous writesec "[7] Archivo :[6] %~nx1"
  97. Colous writesec "[7] Bitrate :[6] %RATE:~0,-5% [8]>[2] %MAX_BITRATE%"
  98. Colous writesec "[8]________________________________________________________________________________"
  99. coreconverter.exe -infile="%~nx1" -outfile="%~n1.mp3" -convert_to="mp3 (Lame)" %EFFECTS% -encoding="%PROFILE%" -b %MAX_BITRATE% %BITRATE_MODE% --extracli="-q %QUALITY%" %OTHER% -channels="%CHANNELS%" -priority="%PRIORITY%" && set /a "num+=1" && Echo "%~nx1">> "%LIST%" || (CALL :ERROR "%~1")
  100. IF /I "%NORMALIZE%" EQU "YES" (
  101. Colous writesec "[2] Aplicando una ganancia de %GAIN%/10 al archivo..."
  102. mp3gain /c /r /d %GAIN% "%~n1.mp3" >nul 2>&1
  103. )
  104. Title "Auto Music Converter %CD%"
  105. DEL /Q "%temp%\%~nx1.txt" >nul 2>&1
  106. Mode con cols=30 lines=3
  107. GOTO:EOF
  108.  
  109. :ERROR
  110. CLS
  111. MODE con cols=60 lines=9
  112. color 0c
  113. Title Auto Music Converter... ERROR "%~nx1"
  114. Colous writesec "[12] No se ha podido convertir el siguiente archivo:"
  115. Colous writesec "[8] %CD%\[14]%~nx1"
  116. IF /I NOT "%RESUMEONERROR%" EQU "YES" (PAUSE)
  117. Timeout /T 60
  118. Mode con cols=30 lines=3
  119. color 07
  120. IF /I "%~x1" EQU ".MP3" (
  121. mp3val "%~1" -f           >nul 2>&1
  122. DEL /Q "%~1.bak"          >nul 2>&1
  123. DEL /Q "%temp%\%~nx1.txt" >nul 2>&1
  124. CALL :CONVERT "%~1" || (GOTO:EOF)
  125. )
  126. GOTO:EOF
  127.  
  128. :FILEEXIST
  129. IF NOT EXIST "%WINDIR%\System32\%~1" (
  130. color 0c
  131. Echo ERROR
  132. Echo Necesitas el programa %* para utilizar este script...
  133. Pause&Exit
  134. )
  135. GOTO :EOF
  136.  
  137. :NOMUSIC
  138. mode con lines=3 cols=49
  139. Title Auto Music Converter... NO MUSIC
  140. Colous writesec "[7] La carpeta no contiene archivos de audio."           & nircmd wait 500 & cls & echo+
  141. Colous writesec "[7] La carpeta no contiene archivos de audio.  [8]3..."  & nircmd wait 500 & cls & echo+
  142. Colous writesec "[7] La carpeta no contiene archivos de audio.  [8]2.."   & nircmd wait 500 & cls & echo+
  143. Colous writesec "[7] La carpeta no contiene archivos de audio.  [8]1."    & nircmd wait 500 & cls & echo+
  144. Colous writesec "[7] Bye.                                       [8]0"     & nircmd wait 500
  145.  
  146. :END
  147. IF DEFINED RECURSIVE (Echo %D% > "%CONVERTED_PATH%") ELSE (CD > "%CONVERTED_PATH%")
  148. set Num2=%num%
  149. Set /a Num2+=11
  150. Title Auto Music Converter...
  151. If exist "%LIST%" (
  152. cls
  153. color 2
  154. If %Num2% GEQ 40 (
  155. mode con cols=70 lines=44
  156. for /f "tokens=*" %%a in ('Type "%CONVERTED_PATH%"') do (Title %num% archivos convertidos. "%%a")
  157. FART.exe -q "%LIST%" \" --remove
  158. REM "
  159. sort "%LIST%" | MORE /E /C
  160. ) ELSE (
  161. mode con cols=70 lines=%num2%
  162. Colous writesec "[7] Se han convertido [10]%num%[7] archivo(s)..."
  163. for /f "tokens=*" %%a in ('Type "%CONVERTED_PATH%"') do (Colous writesec "[8] %%a\")
  164. FART.exe -q "%LIST%" \" --remove
  165. REM "
  166. sort "%LIST%"
  167. )
  168. DEL /Q "%LIST%"           >nul 2>&1
  169. DEL /Q "%CONVERTED_PATH%" >nul 2>&1
  170. DEL /Q "%INDEX%"          >nul 2>&1
  171. Colous writesec "[7] Presiona una tecla para salir del programa..."
  172. IF /I NOT "%AUTOEND%" EQU "YES" (PAUSE & EXIT) ELSE (TIMEOUT /T 60)
  173. ) ELSE (
  174. mode con lines=3 cols=65 | MORE
  175. Colous writesec "[7] No se ha encontrado ningun audio superior a +%MAX_BITRATE% kbps."           & nircmd wait 500 & cls & echo+
  176. Colous writesec "[7] No se ha encontrado ningun audio superior a +%MAX_BITRATE% kbps.  [8]3..."  & nircmd wait 500 & cls & echo+
  177. Colous writesec "[7] No se ha encontrado ningun audio superior a +%MAX_BITRATE% kbps.  [8]2.."   & nircmd wait 500 & cls & echo+
  178. Colous writesec "[7] No se ha encontrado ningun audio superior a +%MAX_BITRATE% kbps.  [8]1."    & nircmd wait 500 & cls & echo+
  179. Colous writesec "[7] Bye.                                                    [8]0"     & nircmd wait 500
  180. DEL /Q "%CONVERTED_PATH%" >nul 2>&1
  181. DEL /Q "%INDEX%" >nul 2>&1
  182. )
  183.  
  184.  

Que lo disfruten!


« Última modificación: 16 Octubre 2012, 15:51 pm por EleKtro H@cker » En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
dBpowerAMP Music Converter
Multimedia
Rose of Pain 1 1,955 Último mensaje 1 Septiembre 2005, 10:39 am
por soco
[batch] [aporte] Bat to vbs converter
Scripting
**Aincrad** 0 3,022 Último mensaje 20 Enero 2018, 18:21 pm
por **Aincrad**
[batch] [aporte] Batch to vbs Converter v0.2
Scripting
**Aincrad** 0 2,497 Último mensaje 1 Febrero 2018, 03:00 am
por **Aincrad**
[BATCH] [APORTE] Batch Auto Hide Start [BAHS]
Scripting
**Aincrad** 0 2,331 Último mensaje 20 Julio 2018, 20:15 pm
por **Aincrad**
[BATCH] [APORTE] Virtualenv : Automatiza la creación de entornos virtuales en Python.
Scripting
**Aincrad** 1 1,973 Último mensaje 24 Agosto 2024, 03:27 am
por Tachikomaia
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines