Forum Programmation.c Langage de programmation sonore

Posté par  .
Étiquettes : aucune
0
21
sept.
2006
Bonjour,

Je voudrais savoir si l'ont peux composer de la musique par programmation en C :

L'idée serait d'écrire sous la forme d'un programme C une composition.
Il faudrait une bibliothéque de fonction : effet, mix représentation des notes...

Je regarde du coté de midi, puredata, CommonLisp Music, Csound mais
je veux quelquechose en C qui soit du C pure, le but est d'améliorer mon niveau en C.

exemple :

#include <stdio.h>
#include <stdlib.h>
#include <music.h>

int main int (argc, char argv**)
{
int m;
int effet;
int vocal;

m = 1; /* je sais on peux déclarer */
effet = 5; /* et initialiser sur */
vocal = 10; /* un seul ligne c'est plus simple ainsi*/

int effet (int m + int vocal); /* déclaration de ma fonction effet

for (m=1; m<8; m++){
if ((m==3) || m==5)) /* la je voudrais faire jouer les échantillon */
} /*1 à 8 sauf 3 et 5 ou faire jouer 8 fois de suite */
/* mon echantillon m */

effet = m + vocal : /* attribution d'un effet à ma composition */

stdout(m) /* fonction qui va écrire le résultat dans un flux */
play(m) /* faire jouer le résultat */
printf("résultat du sample music : = %d\n, m);
return 0;
}
  • # génération de sons

    Posté par  (site web personnel) . Évalué à 1.

    Pour l'envoi des sons vers la carte son, tu peux te pencher sur des libs comme la SDL.

    Pour la génération, en C, tu peux faire ce que tu veux. Mais ça va toujours se ramener à manipuler des buffers d'échantillons, avec des fonctions génératrices (sinusoïde(frequence)...), des fonctions transformantes (amplifier, echo...) et des fonctions mélangeantes (mixer, moduler...).

    Avec beaucoup d'imagination, tu peux créer en quelques lignes des petits modules rappellant les "chiptunes" de nos bons vieux çasfépu500 et autres commobonvieuxtemps64 ;)

    L'an dernier, au ioccc, un des gagnants avait fait un programme musical de ce gout en moins de 2ko de code... http://www.mailcom.com/ioccc/winners2005.tgz répertoire jetro. (Attention, programme illisible!)

    Bon courage!
  • # gstreamer

    Posté par  (site web personnel) . Évalué à 2.

    gstreamer fait déjà tout ça, et est écrit en C.
  • # re

    Posté par  . Évalué à 1.

    j'ai l'impression que gstreamer sert a decoder des formats de son de toute sorte,
    et a faire des redirection avec des pipes bien pratique pour concevoir une application multimedia comme un lecteur de
    mp3.

    mais moi je cherche à écrire un son dans une structure proche du C, voir faire du C.
    en appliquant des opérateurs de comparaison, des test, des boucles pour
    amener mon son à faire des amplitudes, des rythme musicaux ....

    le programme de ioccc est tous a fait ce que je veux faire, son code n'est pas trés lisible :(

    je vais regarder la SDL

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.