"Hola Mundo" comparado

  • 1
Robakun
#1 por Robakun el 04/04/2006
Para dinamizar el hilo de programación, podemos colocar aquí, distintas maneras de hacer un programa "Hola Mundo" pero sonoro.

Se trata de poner cómo se consigue, generar una frecuencia 100Hz durante un segundo en una onda senoidal, en tu lenguaje, entorno, synte o programa favorito. Si es un entorno gráfico, poned pantallas.
Subir
OFERTAS Ver todas
  • -6%
    Elektron Digitakt II (B-Stock)
    939 €
    Ver oferta
  • -29%
    Behringer X-Touch Compact
    263 €
    Ver oferta
  • -50%
    NI Komplete 15 Collector's Edition
    885 €
    Ver oferta
avelino
#2 por avelino el 04/04/2006
ANSI-C. Escribe en la salida estandar en formato 16-bit mono a 44100 Hz de frecuencia de muestreo.


#include
#include
#include
#include

#define F_SENIAL 100 /* 100 Hz */
#define F_MUEST 44100 /* frecuencia de muetreo: 44.1 KHz */
#define TIEMPO 1 /* segundos de reproducción */

#define MUESTRAS_TOTALES (TIEMPO * F_MUEST)

signed short int salida[MUESTRAS_TOTALES];

int main(void) {
int i;
int fd;
float v;

for (i = 0; i < MUESTRAS_TOTALES; i++) {
v = cos(2 * M_PI * ((float)i / F_MUEST) * F_SENIAL);
salida = (signed short int) rint(v * 32767);
}
write(1, salida, MUESTRAS_TOTALES * sizeof(signed short int));
return 0;
}
Subir
Robakun
#3 por Robakun el 04/04/2006
gracias Avelino...C buen comienzo:

En Pure Data se puede hacer de muchas maneras, esta es una:

[ Imagen no disponible ]

La resolución se configura en el programa

A ver si se anima alquien con synthedit...;)
Subir
Robakun
#4 por Robakun el 04/04/2006
Csound clásico

;archivo de orquesta
sr=44100 ;frecuencia de muestreo
kr=4410
ksmps=10
nchnls=1 ;mono

instr 1
ifrecuencia=100 ;Hz
a1 oscil 10000,ifrecuencia,1
out a1
endin

;archivo de partitura
f1 0 2048 10 1
i1 0 1 ;
Subir
avelino
#5 por avelino el 04/04/2006
La verdad es que esto del "hola, mundo" está muy bien como tutorial introductorio a la programación en audio para algunos lenguajes :-). Sigan, por favor :D
Subir
Robakun
#6 por Robakun el 06/04/2006
En Audacity

-Menu generar --> Silencio
-Seleccionar en la pista 1 segundo
-Menú efecto --> Comando nyquist...
-Escribe
(hzosc 100)

Pulsa debug

En Nyquist

(play (hzosc 100))
Subir
Robakun
#7 por Robakun el 06/04/2006
En Chuck ;)

sinosc oscilador;
oscilador => dac;
100 => oscilador.freq;

1000::ms => now;
Subir
aha
#8 por aha el 06/04/2006
En haskell... o también: "poesía para robakun" :-)

-- frecuencia de muestreo
f_muest = 44100.0

-- oscilador para una frecuencia dada -> produce infinitas muestras
osc frec = map (\x->cos (frec*2.0*pi*x)) [(0+z)/f_muest|z
Subir
Robakun
#9 por Robakun el 07/04/2006
:D :D bueno a quién sea capar de leer 44100 muestras por segundo, e imaginarse cómo suena, le será útil ese programa en Haskell :D De cualquier manera es curioso. Lo intenté en hugs pero no pude...no lo cuento aquí por no cortar el hilo.

:)
||
V
Se echa en falta alguien que añada max, synthedit, reaktor,...
Subir
aha
#10 por aha el 07/04/2006
Bueno... era una medio broma... De todos modos, guarda el codigo en un archivo, arranca hugs, desde el prompt carga el archivo ( "hugs> :l "), desde el prompt lanza "o 100 1"

Para hacerlo sonar habría que guardar los numeritos en un archivo o enviar las muestras a una librería de renderizado como openAL. GHC, un compilador "grande" de Haskell sí que tiene interface con OpenAL (no lo he usado)... Así que solo es "medio" broma :-)...
Subir
grainsinth
#11 por grainsinth el 07/04/2006
Subir
physicalsonora
#12 por physicalsonora el 09/04/2006
En reaktor:
Subir
Robakun
#13 por Robakun el 10/04/2006
Falta sythedit..=>

(uy quería editar una cosa y lo he borrado!!, venía a decir: grainsynth usas pd también??. y phisical sonora, esta muy bien!! )

No valen adornos... :D

Cómo lo haríais de la forma más sencilla posible, sin buscar versatilidad posterior. La manera más rápida es bajar el Audacity -sin transferencias bancarias ni nada :D-, pulsar en generar tono senoidal durante un segundo, y ya está.
Subir
physicalsonora
#14 por physicalsonora el 10/04/2006
Robakun escribió:
Falta sythedit..=>


No valen adornos... :D

.




:D :D :D :D , perdona Robakun tio, es que yo me lio y no puedo parar, la foto de la envolvente y el osciloscopio, era para reflejar lo que ocurre así por encima
Para otro intentaré hacerlo más reducido, lo siento yo solo trabajo con reaktor, aunque creo que voy a liarme con Max/Msp, he estado viendo la demos y después de trabajar en reaktor, no me parece tan dificil,en lo que pueda ayudar estoy encantado de hacerlo,
1 abrazo tio, y gracias por estos hilos, verdaderamente es de lo que más me interesa!
Gracias!
Subir
Robakun
#15 por Robakun el 10/04/2006
Yo no se nada de reaktor, pero viendo cómo lo manejas, creo que te será fácil pasarte a otros entornos más libres, no?
Subir
Hilos similares
Nuevo post

Regístrate o para poder postear en este hilo