Compression d un son

Messages postés
2
Date d'inscription
dimanche 25 janvier 2004
Statut
Membre
Dernière intervention
26 janvier 2004
-
Messages postés
5
Date d'inscription
mardi 16 mars 2004
Statut
Membre
Dernière intervention
15 avril 2004
-
Bonjour,

Etant en Terminale S option SI, je dois réaliser pour la fin de l'année un projet, appelé sympathiquement par l'Education Nationale "PPE" (Projet Personnel Encadré). Ce projet à pour but d'apprendre aux élèves à se fixer un but, à réaliser un cahier des charges, à gérer un grand nombre de données... Il consiste en un premier temps à réaliser un Travail Pratique (phase TPE), où l'on réalise, sur n'importe quelle support, un exposé sur un sujet choisi entrant dans les thèmes proposés par l'éducation nationale.
Nous avons choisi, mon groupe et moi, le thème "Information et Communication". Notre sujet est "Le Traitement Numérique du Son", et notre problématique "Comment peut on compresser un son via un outil informatique".
La phase TPE étant maintenant terminée, nous devons apporter une réalisation concrète d'un projet. Nous avons choisi de réaliser un site Web, mais aussi et surtout un programme en C++, dont le but est de comprésser un son, acquis soit via une extraction d'une piste CD, soit via un enregistrement numérique, grâce à un algorithme de compression en code source libre nommé OGG Vorbis.

Le problème étant qu'en Terminale S, notre niveau programmation est absolument ... inexistant ! Les membres du groupe et moi sommes interressés par la programmation, aussi avons nous quelques notions. Nous avons par exemple été capable de créer un programme d'enregistrement numérique en wav d'un son provenant de l'entrée de la carte son (le tout est géré par DirectX ... ce n'est donc pas tellement compliqué ... nous avons été aidés par des codes sources ...).
Mais pour le reste, notemment en ce qui concerne l'implémentation de l'algorithme de compression dans le programme et le sous-programme d'extraction de pistes du CD ... enfin nous n'avons vraiment pas le nivau.
Seulement nous désirons tout de même arriver à bout de ce projet, les professeurs nous ont alors conseillé de contacter des "personnes ressources", et nous ont assuré qu'il été de très bon éffet lors de la présentation du PPE pour le bac d'avoir travaillé avec des "personnes ressources".
Bien entendu, tout autre langage que le C++ pourrait être envisagé.
Il est évident que le programme est pour l'instant au stade 0 ... nous avons juste écrit un petit algorithme en français du programme qui nous a permis de "dégrossir le travail".

Je voudrais donc savoir si vous acceptez de nous aider, mon groupe et moi.
Cette aide pourra se faire par e-mail ...
si vous ne pouvez pas nous aider il serait dans ce cas sympathique de nous donner des "contacts" qui pourraient nous être utiles.

Dans l'attente d'un réponse (puisse-t-elle être satisfaisante !) ... car les PPE doivent être terminés courant Mars !!!!
Vincent

voici lalgo
Début algorithme
Afficher didacticiel « source »
Afficher boîte de dialogue « source »
Selon cas
Cas1: « source = CD »
Lancer « extraction des pistes »
Extraire les pistes du CD
Sauvegarder les pistes sur le disque dur
Cas2: « source = enregistrement »
Lancer « enregistrement numérique »
Enregistrer le signal de l’entrée audio
Sauvegarder l’acquisition sur le disque
Cas3: « source = fichier »
Ne rien faire
Fin cas
Afficher boîte de dialogue « sélection »
Si « piste(s) choisie(s) et clic sur « bouton » »
Alors
Lancer boîte de dialogue « compression »
Selon cas
Cas1: « l’utilisateur ne désire aucune perte, et/ou n’accorde pas d’attention à la taille. »
Lancer didacticiel « compression niveau 0 »
Choisir un « répertoire de destination »
Choisir « nom pour piste(s) »
Déplacer piste(s) dans « répertoire de destination »
Renommer piste avec « nom pour piste »
Supprimer fichier source
Lancer boîte de dialogue « que voulez vous faire »
Selon cas
Cas1: « l’utilisateur désire fermer le programme »
Lancer boîte de dialogue « A bientôt »
Fermer le programme
Cas2: « l’utilisateur désire compresser d’autre pistes déjà sauvegardées »
Aller à afficher boîte de « sélection »
Cas3: « l’utilisateur désire réaliser une nouvelle acquisition »
Aller à afficher boîte de dialogue « source »
Fin cas
Cas2: « l’utilisateur désire une qualité parfaite mais souhaite quand même une
réduction de taille. »
Lancer didacticiel « compression non destructive »
Lancer algorithme de compression ogg et compresser en qualité maximum
Choisir un « répertoire de destination »
Choisir « nom pour piste(s) »
Déplacer piste(s) dans « répertoire de destination »
Renommer piste avec « nom pour piste »
Supprimer fichier source
Lancer boîte de dialogue « que voulez vous faire »
Selon cas
Cas1: « l’utilisateur désire fermer le programme »
Lancer boîte de dialogue « A bientôt »
Fermer le programme
Cas2: « l’utilisateur désire compresser d’autre pistes déjà sauvegardées »
Aller à afficher boîte de « sélection »
Cas3: « l’utilisateur désire réaliser une nouvelle acquisition »
Aller à afficher boîte de dialogue « source »
Fin cas
Cas3: « l’utilisateur désire un bon compromis entre qualité et compression »
Lancer didacticiel « compression destructive sans perte audible »
Lancer algorithme de compression ogg et compresser en qualité moyenne
Choisir un « répertoire de destination »
Choisir « nom pour piste(s) »
Déplacer piste(s) dans « répertoire de destination »
Renommer piste avec « nom pour piste »
Supprimer fichier source
Lancer boîte de dialogue « que voulez vous faire »
Selon cas
Cas1: « l’utilisateur désire fermer le programme »
Lancer boîte de dialogue « A bientôt »
Fermer le programme
Cas2: « l’utilisateur désire compresser d’autre pistes déjà sauvegardées »
Aller à afficher boîte de « sélection »
Cas3: « l’utilisateur désire réaliser une nouvelle acquisition »
Aller à afficher boîte de dialogue « source »
Fin cas
Cas4: « l’utilisateur désire diffuser le fichier sur Internet et attend une portance accrue,
la qualité n’a pas réellement d’importance. »
Lancer didacticiel « compression destructive »
Lancer algorithme de compression ogg et compresser en qualité faible
Choisir un « répertoire de destination »
Choisir « nom pour piste(s) »
Déplacer piste(s) dans « répertoire de destination »
Renommer piste(s) avec « nom pour piste(s) »
Supprimer fichier source
Lancer boîte de dialogue « que voulez vous faire »
Selon cas
Cas1: « l’utilisateur désire fermer le programme »
Lancer boîte de dialogue « A bientôt »
Fermer le programme
Cas2: « l’utilisateur désire compresser d’autre pistes déjà sauvegardées »
Aller à afficher boîte de « sélection »
Cas3: « l’utilisateur désire réaliser une nouvelle acquisition »
Aller à afficher boîte de dialogue « source »
Fin cas
Fin cas
Fin si
Si « clic sur « bouton » et piste non sélectionnée »
Alors
Afficher « erreur de sélection »
Sinon
Afficher « erreur inconnue »
Fin si
Fin algorithme.

5 réponses

Messages postés
36
Date d'inscription
mercredi 31 décembre 2003
Statut
Membre
Dernière intervention
1 février 2004

Bonsoir,

Si tu veux les sources du format OGG Vorbis, va donc faire un tour à cette adresse :
http://www.vorbis.com/download_win_1.0.1.psp

Je m'en était servi pour réaliser un petit lecteur audio sous Linux. Mais le plus dur c'est de retrouver les sources ;)

Une petite question : devez-vous inclure l'algo dans vos sources, ou simplement l'utiliser en incluant les fichiers nécessaires ?

Parce que, si j'ai bien compris, vous voulez utiliser le format OGG Vorbis car il est open source. Mais il y a plusieurs façons de l'utiliser : vous pouvez lier votre programme avec les librairies (*.lib), utiliser les DLLs où tout est compris dedans, ou encore inclure les fichiers sources eux-mêmes (*.cpp, *.h).

PS : pour l'extraction audio, je fais des recherches et je vous tiens au courant.

RTW, pour que l'entraide dure...
Messages postés
36
Date d'inscription
mercredi 31 décembre 2003
Statut
Membre
Dernière intervention
1 février 2004

Re-bonsoir,

Après quelques recherches, voici certainement une bonne base de départ pour l'extraction de CD audio :
source BonkEnc 1.0 beta 1
(Choisissez un serveur de téléchargement)

J'essayerais de voir ce que je peux faire pour vous aider. Je suit les cours du CNED et ça me prend du temps !

RTW, pour que l'entraide dure...
Messages postés
5
Date d'inscription
lundi 1 mars 2004
Statut
Membre
Dernière intervention
2 mars 2004

Merci pour ton aide....mais franchement elle a pas ete d un grand service parce que on a pas beaucoup avance (enfin on a pas compris grand chose)....:-((
je me suis donc rattacher a l iddée de prendre une source libre et de la modifier un peu si possible et de faire une interface differente (enfin personnelle quoi)
voila...mon probleme est que je ne sais pas faire ca.......g pris toute les souces proposees par le lien mais je sais pas quoi faire avec (je c je suis nul) .G vraiment chercher mais la langue anglaise n est pas mon fort alors g pas tout compris.....
j ai a ma disposition microsoft visual c++ (ou visual studio) je sais que normalement faut compiler mais quoi??? enfin bon voila...comment fait on???
enfin vraiment g besoin d aide!!!!!help me......... %-6
merci d avance pour votre aide
Messages postés
5
Date d'inscription
lundi 1 mars 2004
Statut
Membre
Dernière intervention
2 mars 2004

TPE PPE finis!!

ca y est on a finin le boulo merci a vous.........
venez admirer notre travail: www.tpe-son.fr.tc
Messages postés
5
Date d'inscription
mardi 16 mars 2004
Statut
Membre
Dernière intervention
15 avril 2004

RTW j'aime bcp ta source pour l'encodage, je v essayer d'en faire bon usage :D

en effet je cherche à extraire les pistes audios d'un CD en C++ ... ce qui me parraissait simple à la base mais qui ne l'est pas du tout en fait !

si t'as d'autres sources je suis preneur ;)

parceque je trouve bcp de librairies pour lire les fichiers du cd, mais rien pour les extraires :(
si t'avais aussi des infos sur comment faire pour retrouver le fichier wav directement sur le cd je serais interresse !!