Pages : 1
#1 Le 27/02/2012, à 22:52
- temps
Mixage audio sous ubuntu
Bonjour,
Je viens d'ajouter une application pour mixer l'audio en abadie.joa,
En exemple voici un mix
La technique que j'utilise c'est au lieu d'écrire directement les fichiers en wav, je les écris en fichier texte calculmix1.txt et calculmix2.txt en les divisant par deux, ensuite je les additionne à l'aide du code ci-dessous
voici le code
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#define totajo 256
int main()
{
char tab[totajo] =
{0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF,0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF,0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F};
char *ptr;
char *petr;
FILE* addi1 = NULL;
FILE* addi2 = NULL;
FILE* script = NULL;
script = fopen("joris.wav", "ab");
addi1 = fopen("calculmix1.txt", "r"); /* pour ajouter ab. possible w ou r+ w+ tester */
addi2 = fopen("calculmix2.txt", "r");
int nbdepoints1,nbdepoints2, total;
long int cici;
cici = 0;
if ((addi1 != NULL)&&(addi2 != NULL)&&(script != NULL))
{
/***valeur possible jo****/
while ( fscanf(addi1,"%d", &nbdepoints1) !=EOF )
{
cici = ftell(addi1);
fseek(addi2, cici, SEEK_SET);
fscanf(addi2, "%d", &nbdepoints2);
total = nbdepoints2 + nbdepoints1 - 32768;
int ji;
int ij;
int ola;
ola = total;
/*ji = ola%256;*/
ij = (int)(ola*0.00390625);
ji = ola - (256*ij);
ptr = &tab[ji];
petr = &tab[ij];
fwrite( ptr, sizeof(unsigned char), 1, script);
fwrite( petr, sizeof(unsigned char), 1, script);
}
}
remove("calculmix1.txt");
remove("calculmix2.txt");
return 0;
}
et voici la modélisation de ce mix qui pèse seulement quelques octets en binaire alors que c'est des Mo en format wav
50 220 2 0 0 0 0 54 220 1 0 0 0 0 56 220 2 0 0 0 0 52 220 1 0 0 0 0 50 220 2 0 0 0 0 54 220 1 0 0 0 0 56 220 2 0 0 0 0 52 220 1 0 0 0 0 50 220 2 0 0 0 0 54 220 1 0 0 0 0 56 220 2 0 0 0 0 52 220 1 0 0 0 0 50 220 2 0 0 0 0 54 220 1 0 0 0 0 56 220 2 0 0 0 0 52 220 1 0 0 0 0 50 220 2 0 0 0 0 54 220 1 0 0 0 0 56 220 2 0 0 0 0 52 220 1 0 0 0 0 50 220 2 0 0 0 0 54 220 1 0 0 0 0 56 220 2 0 0 0 0 52 220 1 0 0 0 0 50 220 2 0 0 0 0 54 220 1 0 0 0 0 56 220 2 0 0 0 0 52 220 1 0 0 0 0 50 220 2 0 0 0 0 54 220 1 0 0 0 0 56 220 2 0 0 0 0 52 220 1 0 0 0 0 50 220 2 0 0 0 0 54 220 1 0 0 0 0 56 220 2 0 0 0 0 52 220 1 0 0 0 0 50 220 2 0 0 0 0 54 220 1 0 0 0 0 56 220 2 0 0 0 0 52 220 1 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 3500 200
8 110 2 0 0 0 10 17 110 1 0 0 0 20 18 110 2 0 0 0 30 26 110 1 0 0 0 40 8 110 2 0 0 0 10 17 110 1 0 0 0 20 18 110 2 0 0 0 30 26 110 1 0 0 0 40 8 110 2 0 0 0 10 17 110 1 0 0 0 20 18 110 2 0 0 0 30 26 110 1 0 0 0 40 8 110 2 0 0 0 10 17 110 1 0 0 0 20 18 110 2 0 0 0 30 26 110 1 0 0 0 40 8 110 2 0 0 0 10 17 110 1 0 0 0 20 18 110 2 0 0 0 30 26 110 1 0 0 0 40 8 110 2 0 0 0 10 17 110 1 0 0 0 20 18 110 2 0 0 0 30 26 110 1 0 0 0 40 8 110 2 0 0 0 10 17 110 1 0 0 0 20 18 110 2 0 0 0 30 26 110 1 0 0 0 40 8 110 2 0 0 0 10 17 110 1 0 0 0 20 18 110 2 0 0 0 30 26 110 1 0 0 0 40 8 110 2 0 0 0 10 17 110 1 0 0 0 20 18 110 2 0 0 0 30 26 110 1 0 0 0 40 8 110 2 0 0 0 10 17 110 1 0 0 0 20 18 110 2 0 0 0 30 26 110 1 0 0 0 40 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 25700 200
Avez-vous d'autres idées de mixage ?
Parce que l'USB bootable est le support des systèmes experts,
Parce que l'USB bootable contient sa propre image au démarrage.
L'USB bootable permet de créer un monde à la dimension de son imagination
https://www.letime.net
Hors ligne