Coder du morse en ultrason dans un .wav
Galex-713 Messages postés 358 Statut Membre -
c'est à dire par exemple si on ouvre un fichier .mp3 avec bloc-note on va avoir toute une suite de caractère qui correspondent à des nombres codé selon la table ASCII et j'aimerais savoir ce que chaque nombre peut vouloir dire et donc comment modifier une musique en trifouillant dans ces caractères !
je compte faire un programme en C++ qui met des code en morse en ultrason dans des musiques normales !
Merci d'avance !
EDIT: les mp3 ne gèrent pas les ultrason, il faut prendre du wav (le wav n'est pas compressé) voir plus bas.
- Coder du morse en ultrason dans un .wav
- Le code ascii en informatique - Guide
- Decodeur morse gratuit - Télécharger - Outils professionnels
- Application pour apprendre à coder - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Comment coder son whatsapp - Guide
15 réponses
La discussion porte sur le codage des fichiers audio et sur la possibilité de modifier le contenu ou d’y cacher des messages par des techniques comme la stéganographie. Plusieurs réponses indiquent que les ultrasons ne passent pas dans MP3, pour des raisons liées à l’échantillonnage, tandis que le WAV non compressé peut accueillir un signal autour de 22 kHz. En WAV, il serait possible de modifier directement les échantillons PCM pour injecter un signal inaudible, en utilisant des stratégies d’addition et de soustraction sur les voies. D’autres échanges soulignent aussi l’importance de comprendre le header WAV et les formats, car cela conditionne la manipulation pratique sans détériorer le fichier.
https://fr.wikipedia.org/wiki/St%C3%A9ganographie#Message_transport.C3.A9_dans_un_son
8192 semble être un bon compromis, sachant que le domaine de chaque valeur est +32767 -32767 et qu'un signal est déjà présent.
---------
Header
---------
Début du tableau codage 16 bits alternance voie droite-voie gauche
D0 +8192 Ajout sur voie droite
G0 +8192 Ajout sur voie gauche
D1 -8192 Soustraction sur voie droite
G1 -8192 Soustraction sur voie gauche
D2 +8192 Ajout sur voie droite
G2 +8192 ...
...
Jusqu'à la fin du fichier
L'ajout et la soustraction alternatives représentent un signal carré à 22khz, ce signal doit donc être répété sur un nombre de valeurs consécutives correspondant à la durée courte ou longue du trait morse, sachant donc que l'on a 44100 valeurs 16 bits par seconde et par voie...
Field bytes format contains
1 0...3 str4 "RIFF" in ASCII
2 4...7 int4 Total bytes minus 8
3 8...15 str4 "WAVEfmt" Eigth character is a space
4 16...19 int4 16 for PCM format
5 20...21 int2 1 for PCM format
6 22...23 int2 channels
7 24...27 int4 sampling frequency
8 28...31 int4 bytes per second
9 32...33 int2 bytes by capture
10 34...35 int2 bits per sample
11 36...39 str4 "data"
12 40...43 int4 bytes in data
Le header fait donc 44 octets.
Par contre, la récupération du morse ainsi mélangé, c'est pas une partie de plaisir, mieux vaut avoir des notions de traitement numérique du signal...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionhttp://doc.ubuntu-fr.org/lecture_et_encodage_de_fichiers_audio
Configuration: Imac 23"
Le son est enregistré via un micro en analogique, pour passer en numérique on l'échantillonne, c'est à dire qu'on mesure l'amplitude du signal analogique un certain nombre de fois par seconde et avec une certaine définition , courammant à 44100 hz et 16 bits de définition;
Le son est une sinusoide qui gravite dans ce cas autour du
point zéro et entre 32767 et - 32767.
Un son harmonieux, tout sauf des craquements donc, est une sinosoide à une certaine fréquence et un certain nombre d'harmoniques, c'est à dire des multiples 3 de la fréquence-base.
Un son est donc composé du mélange de sinusoides à différentes fréquences et leurs harmoniques.
Au passage, le signal carré est une sinusoide-base et l'infinité de ses harmoniques...
Donc dans le fichier wav, on trouve le relevé à 44khz de l'évolution de ce mélange de sinusoides qu'est un son...
$7FFF = 32767 et $8FFF vaut -32767 et sur un 16 bits SmallInt convention pascal, pas un octet...
Et pour différencier les voies, c'est simple, elles sont entrelaçées, c'est à dire que si tu lis 16 bits à l'offset 44, tu à la 1ère valeur d'une voie, puis à l'offset 46 la 1ère valeur de l'autre voie, à l'offset 48 la 2ème valeur de la 1ère voie et ainsi de suite....
j'ai ce message dans mes discussion suivies
et maintenant je dois tout remettre alors attend que j'ai tout réinstallé
bon apparamant le mp3 est un format compressé qui ne fait pas d'ultrason et alors j'aimerais connaitre la manière de codage du wma :
Ce que je veux faire c'est ajouter des messages en morse en ultrason dans une musique et pour programmer un logiciel qui fasse ça il me faut savoir comment sont codés les wma et comment les modifier
C'est peut-être wav...
Mais bon est ce que quelqu'un sait comment le modifier ? ou juste la façon dont il est codé ?
J'ai vu, sur Wikipedia, l'en-tête et ça j'ai compris mais je n'ai toujours pas compris la façon dont s'organisent les données !
Ensuite plusieurs possibilitées s'offrent pour coder le morse :
- mettre une séquence contigue de 1-1 pour un trait
et 1-0 pour un point;
- mettre une séquence contigue de 1 sur deux longueurs différentes pour point et trait...
Et ça a le mérite d'être d'une grande simplicitée à écrire comme à relire !
J'y avait pas pensé et ça pourrait resservir ça !
sans même se soucier du canal;
ainsi on ne limite même plus la définition et on garde un débit de 88200 / 1024 = 86 codes par secondes.
On peut définir d'autre valeur pour avoir plus de débit ou bien inclure plusieurs canaux de communication morse...
et la différence sera inaudible.
et à partir du moment ou tu lis les valeurs en 8 bits, ça risque pas de dépasser 255... Demande à ton bloc-notes de les lire sur 16 bits et tout deviendra clair, et il pourrait même lire les valeurs sur 71 bits... Tout est une question de nombre de binary unit considérés pour composer le décimal. mais je crois que le bloc-notes se contente de représenter sur 8 bits, alors...