Music.bat

Iniciado por leogtz, 19 Diciembre 2008, 19:31 PM

0 Miembros y 2 Visitantes están viendo este tema.

leogtz

Este programa te permite sonar la nota musical que tu desees por medio de beeps.

Este script requiere Nircmd.exe
http://nirsoft.net/utils/nircmd.zip


Esta es la ayuda del programa :


Tambien permite notas sostenidas #, es decir :
C#               Do sostenido.
D#               Re sostenido.

Algunos ejemplos de uso son :
Music C# 3
Music G 1
Music F 2
Music E 3


El numero despues de la letra es el grado de la escala.

Use el cifrado americano para las notas musicales.


Codigo :
@ECHO OFF
::MUSIC.BAT
::LEO GUTIERREZ .. ROCKOX
;IF /I ["%1"]==[""] (;GOTO:SYNTAX)
;IF /I ["%1"]==["-H"] (;GOTO:SYNTAX)
;IF /I ["%1"]==["/?"] (;GOTO:SYNTAX)
:NOTAS
;IF /I ["%2"]==[""] (;GOTO:SYNTAX)
;IF %2 GTR 3 (
;ECHO.NUMERO DE ESCALA DEMASIADO ALTO!. & ECHO:
;GOTO:SYNTAX
)
;IF %2 LSS 1 (
;ECHO.NUMERO DE ESCALA DEMASIADO BAJO!. & ECHO:
;GOTO:SYNTAX
)
;IF %2 EQU 1 (
;IF /I ["%1"]==["C"] (NIRCMD BEEP 262 600 & GOTO:EOF)
;IF /I ["%1"]==["C#"] (NIRCMD BEEP 277 600 & GOTO:EOF)
;IF /I ["%1"]==["D"] (NIRCMD BEEP 294 600 & GOTO:EOF)
;IF /I ["%1"]==["D#"] (NIRCMD BEEP 311 600 & GOTO:EOF)
;IF /I ["%1"]==["E"] (NIRCMD BEEP 330 600 & GOTO:EOF)
;IF /I ["%1"]==["F"] (NIRCMD BEEP 350 600 & GOTO:EOF)
;IF /I ["%1"]==["F#"] (NIRCMD BEEP 370 600 & GOTO:EOF)
;IF /I ["%1"]==["G"] (NIRCMD BEEP 393 600 & GOTO:EOF)
;IF /I ["%1"]==["G#"] (NIRCMD BEEP 416 600 & GOTO:EOF)
;IF /I ["%1"]==["A"] (NIRCMD BEEP 440 600 & GOTO:EOF)
;IF /I ["%1"]==["A#"] (NIRCMD BEEP 466 600 & GOTO:EOF)
;IF /I ["%1"]==["B"] (NIRCMD BEEP 494 600 & GOTO:EOF)
)
;IF %2 EQU 2 (
;IF /I ["%1"]==["C"] (NIRCMD BEEP 525 600 & GOTO:EOF)
;IF /I ["%1"]==["C#"] (NIRCMD BEEP 555 600 & GOTO:EOF)
;IF /I ["%1"]==["D"] (NIRCMD BEEP 590 600 & GOTO:EOF)
;IF /I ["%1"]==["D#"] (NIRCMD BEEP 623 600 & GOTO:EOF)
;IF /I ["%1"]==["E"] (NIRCMD BEEP 660 600 & GOTO:EOF)
;IF /I ["%1"]==["F"] (NIRCMD BEEP 699 600 & GOTO:EOF)
;IF /I ["%1"]==["F#"] (NIRCMD BEEP 740 600 & GOTO:EOF)
;IF /I ["%1"]==["G"] (NIRCMD BEEP 784 600 & GOTO:EOF)
;IF /I ["%1"]==["G#"] (NIRCMD BEEP 830 600 & GOTO:EOF)
;IF /I ["%1"]==["A"] (NIRCMD BEEP 880 600 & GOTO:EOF)
;IF /I ["%1"]==["A#"] (NIRCMD BEEP 930 600 & GOTO:EOF)
;IF /I ["%1"]==["B"] (NIRCMD BEEP 990 600 & GOTO:EOF)
)
;IF %2 EQU 3 (
;IF /I ["%1"]==["C"] (NIRCMD BEEP 1048 600 & GOTO:EOF)
;IF /I ["%1"]==["C#"] (NIRCMD BEEP 1110 600 & GOTO:EOF)
;IF /I ["%1"]==["D"] (NIRCMD BEEP 1176 600 & GOTO:EOF)
;IF /I ["%1"]==["D#"] (NIRCMD BEEP 1246 600 & GOTO:EOF)
;IF /I ["%1"]==["E"] (NIRCMD BEEP 1320 600 & GOTO:EOF)
;IF /I ["%1"]==["F"] (NIRCMD BEEP 1395 600 & GOTO:EOF)
;IF /I ["%1"]==["F#"] (NIRCMD BEEP 1480 600 & GOTO:EOF)
;IF /I ["%1"]==["G"] (NIRCMD BEEP 1569 600 & GOTO:EOF)
;IF /I ["%1"]==["G#"] (NIRCMD BEEP 1660 600 & GOTO:EOF)
;IF /I ["%1"]==["A"] (NIRCMD BEEP 1764 600 & GOTO:EOF)
;IF /I ["%1"]==["A#"] (NIRCMD BEEP 1880 600 & GOTO:EOF)
;IF /I ["%1"]==["B"] (NIRCMD BEEP 1980 600 & GOTO:EOF)
)
:SYNTAX
;ECHO:%~NX0 
;ECHO:
;ECHO:MODO DE USO :
;ECHO:
;ECHO:%~NX0 [-NOTA] [#] [1-3]
;ECHO:
;ECHO:LAS SIGUIENTES NOTAS ESTAN DISPONIBLES:
;ECHO:C : DO  
;ECHO:D : RE  
;ECHO:E : MI  
;ECHO:F : FA  
;ECHO:G : SOL 
;ECHO:A : LA  
;ECHO:B : SI  
;ECHO:
;ECHO:# : ALTERACION SOSTENIDO.
;ECHO:[1-3] : Numero de escala.
;ECHO:
;ECHO:EJEMPLOS:
;ECHO:%~NX0 C 2
;ECHO:%~NX0 G# 3
GOTO:EOF
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Banti

Me encanto lo he visto que publicaste en otro foro

Pero el commando de nircmd solo lo hace con el beeper del mother no? O se le puede hacer que haga con los parlantes?

_carlos_

Excelente trabajo Leo.

leogtz

Cita de: _carlos_ en 20 Diciembre 2008, 05:37 AM
Excelente trabajo Leo.


Gracias Carlos, luego veo que más le agrego.

Saludos,
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Meta

Que curioso el Music.bat.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

<[(x)]>

holas

   Muy bueno el .bat    :)

 
    a y una pregunta me inicie hace un par de horas con batch y no se para que sirben los ';'(puntoYcoma). Podrían explicarme.

  gracias y 54¬ud05

   
<[(x)]>

<[(x)]>

#6
Aka les dejo ete temaso jeje :P

Himno a la Alegría


@echo off
echo Od a la Alegria
echo.

call MUSIC.BAT E 1
call MUSIC.BAT E 1
call MUSIC.BAT F 1
call MUSIC.BAT G 1
call MUSIC.BAT G 1
call MUSIC.BAT F 1
call MUSIC.BAt e 1
call MUSIC.BAT D 1
call MUSIC.BAT c 1
call MUSIC.BAT c 1
call MUSIC.BAT D 1
call MUSIC.BAT E 1
call MUSIC.BAT E 1
call MUSIC.BAT D 1 ::pausa 1
ping -n 2 localhost>nul
call MUSIC.BAT E 1
call MUSIC.BAT E 1   
call MUSIC.BAT F 1
call MUSIC.BAT G 1
call MUSIC.BAT G 1
call MUSIC.BAT F 1 
call MUSIC.BAT E 1 
call MUSIC.BAT D 1
call MUSIC.BAT C 1
call MUSIC.BAT C 1
call MUSIC.BAT D 1
call MUSIC.BAT E 1
call MUSIC.BAT D 1 
call MUSIC.BAT C 1 ::pausa 1
ping -n 2 localhost>nul
call MUSIC.BAT D 1 ::pausa 1
ping -n 2 localhost>nul
call MUSIC.BAT E 1 ::pausa ,5
ping -n 1 localhost>nul
call MUSIC.BAT C 1 ::pausa ,5
ping -n 1 localhost>nul
call MUSIC.BAT D 1 ::pausa 1
ping -n 2 localhost>nul
call MUSIC.BAT E 1 ::pausa ,5
ping -n 1 localhost>nul
call MUSIC.BAT F 1 ::pausa ,5
ping -n 1 localhost>nul
call MUSIC.BAT E 1
call MUSIC.BAT C 1 ::pausa 1
ping -n 2 localhost>nul
call MUSIC.BAT D 1
call MUSIC.BAT c 1
call MUSIC.BAT D 1
call MUSIC.BAT G 1 ::pausa 1
ping -n 2 localhost>nul
call MUSIC.BAT E 1
call MUSIC.BAT E 1
call MUSIC.BAT F 1
call MUSIC.BAT G 1
call MUSIC.BAT G 1
call MUSIC.BAT F 1
call MUSIC.BAT E 1
call MUSIC.BAT D 1
call MUSIC.BAT C 1
call MUSIC.BAT C 1
call MUSIC.BAT D 1
call MUSIC.BAT E 1
call MUSIC.BAT D 1
call MUSIC.BAT C 1 ::pausa1
ping -n 2 localhost>nul
echo Fin.



<[(x)]>

kraszic

jaja, es muy bueno el code.
Solo una pregunta, es bueno q la placa base pite tanto??  :xD

Al programa solo le falta poder modificar la duracion de la nota musical y alguna funcion para poner los silencios.

Una pregunta leo, porq los ;;; ???

saludos

leogtz

Cita de: <[(x)]> en 28 Diciembre 2008, 04:55 AM
holas

   Muy bueno el .bat    :)

 
    a y una pregunta me inicie hace un par de horas con batch y no se para que sirben los ';'(puntoYcoma). Podrían explicarme.

  gracias y 54¬ud05

  

Cita de: kraszic en 28 Diciembre 2008, 15:33 PM

Una pregunta leo, porq los ;;; ???

saludos
Son delimitadores, no afectan en nada al codigo, puedes quitarlos si quieres, el funcionamiento será el mismo, en esta caso, yo los use solamente de adorno.

Cita de: <[(x)]> en 28 Diciembre 2008, 14:46 PM
Aka les dejo ete temaso jeje :P

Himno a la Alegría


@echo off
echo Od a la Alegria
echo.

call MUSIC.BAT E 1
call MUSIC.BAT E 1
call MUSIC.BAT F 1
call MUSIC.BAT G 1
call MUSIC.BAT G 1
call MUSIC.BAT F 1
call MUSIC.BAt e 1
call MUSIC.BAT D 1
call MUSIC.BAT c 1
call MUSIC.BAT c 1
call MUSIC.BAT D 1
call MUSIC.BAT E 1
call MUSIC.BAT E 1
call MUSIC.BAT D 1 ::pausa 1
ping -n 2 localhost>nul
call MUSIC.BAT E 1
call MUSIC.BAT E 1  
call MUSIC.BAT F 1
call MUSIC.BAT G 1
call MUSIC.BAT G 1
call MUSIC.BAT F 1 
call MUSIC.BAT E 1 
call MUSIC.BAT D 1
call MUSIC.BAT C 1
call MUSIC.BAT C 1
call MUSIC.BAT D 1
call MUSIC.BAT E 1
call MUSIC.BAT D 1 
call MUSIC.BAT C 1 ::pausa 1
ping -n 2 localhost>nul
call MUSIC.BAT D 1 ::pausa 1
ping -n 2 localhost>nul
call MUSIC.BAT E 1 ::pausa ,5
ping -n 1 localhost>nul
call MUSIC.BAT C 1 ::pausa ,5
ping -n 1 localhost>nul
call MUSIC.BAT D 1 ::pausa 1
ping -n 2 localhost>nul
call MUSIC.BAT E 1 ::pausa ,5
ping -n 1 localhost>nul
call MUSIC.BAT F 1 ::pausa ,5
ping -n 1 localhost>nul
call MUSIC.BAT E 1
call MUSIC.BAT C 1 ::pausa 1
ping -n 2 localhost>nul
call MUSIC.BAT D 1
call MUSIC.BAT c 1
call MUSIC.BAT D 1
call MUSIC.BAT G 1 ::pausa 1
ping -n 2 localhost>nul
call MUSIC.BAT E 1
call MUSIC.BAT E 1
call MUSIC.BAT F 1
call MUSIC.BAT G 1
call MUSIC.BAT G 1
call MUSIC.BAT F 1
call MUSIC.BAT E 1
call MUSIC.BAT D 1
call MUSIC.BAT C 1
call MUSIC.BAT C 1
call MUSIC.BAT D 1
call MUSIC.BAT E 1
call MUSIC.BAT D 1
call MUSIC.BAT C 1 ::pausa1
ping -n 2 localhost>nul
echo Fin.





Jeje muy bueno, mira esta otra:
@echo off
nircmd beep 262 500
nircmd beep 393 500
nircmd beep 350 100
nircmd beep 330 100
nircmd beep 294 100
nircmd beep 525 500
nircmd beep 393 500
nircmd beep 350 100
nircmd beep 330 100
nircmd beep 294 100
nircmd beep 525 500
nircmd beep 393 500
nircmd beep 350 200
nircmd beep 330 200
nircmd beep 350 200
nircmd beep 294 400
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

<[(x)]>

 je je  star wars  muy bueno
<[(x)]>