C/Visual C - himno español con el speaker PC

 
Vista:

himno español con el speaker PC

Publicado por oscar8 (1 intervención) el 10/03/2003 18:05:18
Hola buenas!!!!
Estoy haciendo una aplicación en C sobre España, y me gustaría incluir el himno español, ya sabeis con sound(Hz) y nosound.....Por favor, ayudadme!!!Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Reproducción del himno español en C usando `sound()` y `nosound()`

Publicado por Alejandro (1153 intervenciones) el 09/05/2025 00:11:41
Para reproducir el himno español utilizando las funciones `sound()` y `nosound()` en C, puedes definir las frecuencias de las notas musicales que componen el himno. A continuación, te muestro un ejemplo básico de cómo podrías implementar esto.

Notas del himno español



El himno nacional de España, "La Marcha Real", es uno de los pocos himnos nacionales en el mundo que no tiene letra oficial. Sin embargo, puedes reproducir la melodía utilizando las frecuencias de las notas musicales.

Ejemplo de código



Aquí tienes un ejemplo de cómo podrías implementar la reproducción del himno español en C:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <dos.h> // Para las funciones sound() y nosound()
#include <conio.h> // Para getch()
 
// Definición de las frecuencias de las notas
#define C 261 // Do
#define D 294 // Re
#define E 329 // Mi
#define F 349 // Fa
#define G 392 // Sol
#define A 440 // La
#define B 494 // Si
 
void reproducirHimno() {
    // Reproducción de la melodía del himno
    sound(E); delay(400);
    sound(E); delay(400);
    sound(G); delay(400);
    sound(A); delay(400);
    sound(G); delay(400);
    nosound(); delay(200);
 
    sound(E); delay(400);
    sound(E); delay(400);
    sound(G); delay(400);
    sound(A); delay(400);
    sound(G); delay(400);
    nosound(); delay(200);
 
    sound(E); delay(400);
    sound(E); delay(400);
    sound(G); delay(400);
    sound(A); delay(400);
    sound(G); delay(400);
    nosound(); delay(200);
 
    sound(E); delay(400);
    sound(E); delay(400);
    sound(G); delay(400);
    sound(A); delay(400);
    sound(G); delay(400);
    nosound(); delay(200);
}
 
int main() {
    // Reproducir el himno
    reproducirHimno();
 
    // Esperar a que el usuario presione una tecla
    getch();
    return 0;
}

Explicación del código:



- Frecuencias: Se definen las frecuencias de las notas musicales (Do, Re, Mi, Fa, Sol, La, Si) que se utilizarán para reproducir el himno.

- Función `reproducirHimno`: Esta función utiliza `sound()` para reproducir las notas del himno. Se utiliza `delay()` para controlar la duración de cada nota.

- Función `main`: Llama a la función `reproducirHimno` y espera a que el usuario presione una tecla antes de finalizar.

Consideraciones:



- Compatibilidad: Las funciones `sound()` y `nosound()` son específicas de entornos DOS y pueden no estar disponibles en compiladores modernos. Asegúrate de que tu entorno de desarrollo sea compatible.

- Ajustes de frecuencia: Puedes ajustar las frecuencias y los tiempos de las notas según sea necesario para que se asemeje más a la melodía original.

- Limitaciones: Este método es bastante básico y puede no ofrecer la mejor calidad de sonido. Para aplicaciones más avanzadas, considera utilizar bibliotecas de audio como `SDL` o `OpenAL`.

Este enfoque te permitirá reproducir el himno español en C utilizando `sound()` y `nosound()`. ¡Buena suerte, Óscar8!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar