Convertir des fichiers nimporte quelle extention en une Bande sonore 1000 baud [Résolu]

Messages postés
428
Date d'inscription
samedi 11 juillet 2009
Statut
Membre
Dernière intervention
28 octobre 2016
- - Dernière réponse : Cpcdos
Messages postés
428
Date d'inscription
samedi 11 juillet 2009
Statut
Membre
Dernière intervention
28 octobre 2016
- 4 août 2011 à 10:22
Bonjour

je cherche plus précisément un logiciel qui me permettrai de convertir des fichiers
de n' importe quelle extension (.exe , Jpg , Zip etc ..) en fichier .wav
(en bande Sonore 1000 ou 2000 baud)

COMME SUR l'AMSTRAD CPC 464

Et après y pouvoir convertir dans son format d'origine [inversion]

====== OU même =========

Je programme du Vb5,6 .net ...

Je sais comment récupérer le numéro ascii d'un caractère dans un fichier et je voudrais savoir comment le convertir en un ~BIP~ sonore avec une certaire fréquence que je le metterai dans un fichier .wav tout ca en Vb

C'est possible ?? (comment faire la structure d'un fichier sonore .wav)

Merci


Microsf01
Copyright©Microsf01
Favier Sébastien 01
Afficher la suite 

13 réponses

Meilleure réponse
Messages postés
428
Date d'inscription
samedi 11 juillet 2009
Statut
Membre
Dernière intervention
28 octobre 2016
1
3
Merci
Bah tien , voilà une partie :
FONCTIONNE UNIQUEMENT SOUS VB.net !

Créer un module
et un formulaire graphique et un bouton où le code de ce bouton sera :

Conversion()


Ensuite , dans le module :

    Public donnees As Byte
    Public b, too, CIBLE
    Public F1 As String = "RIFF"
    Public F2 As Integer
    Public F3 As String = "WAVE"
    Public F4 As String = "fmt "
    Public F5 As Integer = 16
    Public F6 As Short = 1
    Public F7 As Short
    Public F8 As Integer
    Public F9 As Integer
    Public F10 As Short
    Public F11 As Short
    Public F12 As String = "data"
    Public F13 As Integer
    Public F14 As Integer
    Public i1, i2, K1 As Integer
    Public S1, S2, FN As String

    Public Freq As Integer
    Public SRate As Integer = 8000
    Public Tsec As Integer
    Public BitR As Short = 8
    Public MS As Short = 1
    Public bt As Byte
    Public D1 As Double
    Public D2 As Double
    Public Const pi = 3.14


    Public Sub INI1()
        F1 = "RIFF"
        F2 = F2
        F3 = F3
        F4 = F4
        F5 = 16
        F6 = 1
        F7 = MS
        F8 = SRate
        F9 = MS * SRate * (BitR / 8)
        F10 = MS * (BitR / 8)
        F11 = BitR
        F12 = "data"
        F13 = MS * (BitR / 8) * SRate * Tsec
        F14 = MS * (BitR / 8) * SRate * Tsec
        F2 = F13 + 44 - 8

        FN = Application.StartupPath & "\SON.wav"
        On Error Resume Next
        If Dir(FN) <> "" Then Kill(FN)
        On Error GoTo 0
        K1 = FreeFile()
        FileOpen(K1, FN, OpenMode.Binary)
        FilePut(K1, F1)
        FilePut(K1, F2)
        FilePut(K1, F3)
        FilePut(K1, F4)
        FilePut(K1, F5)
        FilePut(K1, F6)
        FilePut(K1, F7)
        FilePut(K1, F8)
        FilePut(K1, F9)
        FilePut(K1, F10)
        FilePut(K1, F11)
        FilePut(K1, F12)
        FilePut(K1, F13)
    End Sub

    Public Sub Conversion()

        CIBLE = "C:\texte.txt" 'FICHIER A CONVERTIR

        Tsec = FileLen(CIBLE) / 3

        INI1()
        GoTo suite1


err1:
        MsgBox("Fichier non disponible", MsgBoxStyle.Critical)
        Exit Sub
suite1:

        'On Error GoTo err1


        FileClose(2)
        FileOpen(2, CIBLE, OpenMode.Binary, OpenAccess.Read)

        i1 = -1

        'For b = 1 To FileLen(CIBLE)

        ' ---------
        too = F13 / FileLen(CIBLE)

        For b = 1 To FileLen(CIBLE)
            FileGet(2, donnees)
            Freq = donnees * 100
            For i1 = 0 To too

                D1 = 2 * pi * Freq / SRate
                i1 = i1 + 1
                D1 = 2 * pi * Freq / SRate
                D2 = 127 * Math.Sin(i1 * D1)
                bt = CByte(D2 + 128)
                FilePut(K1, bt)
                'Next


            Next
        Next
        ' ---------
        FileClose(K1)
        msgbox(" Conversion Terminée , il se trouve dans " + fn)
        FileClose(2)

    End Sub


IL FAUT JUSTE A APPELER LA PROCÉDURE " Conversion() "

Il faut avant tout créer un fichier texte dans "C:\texte.txt"
et ecrivez par exemple :

HELLO WORLD 0123456789 0123456789 
A A A A A A A B B B B B B B B9876543210 9876543210


Lancez le programme ,
et lancer le fichier audio convertis qui vous sera indiqué
qui est nommée "SON.WAV" et écoutez par rapport a ce qui est écrit dans
le fichier texte

Par contre évitez des fichiers qui dépasse ~500 ko car ca serai trop long !

Voilà , je l'ai modifié de façon a ne pas mettre de Boutons , textebox etc ..
Donc il fonctionne complétement dans un module

Dites moi ce que vous en pensez


Microsf01
Copyright©Microsf01
Favier Sébastien 01
.nf//url

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 210 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Cpcdos
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
Gné ?
Tu sais ce qu'est un fichier Wave ?
Amplitude + fréquence + timbre (c'est presque de l'analogie)

____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
de n' importe quelle extension (.exe , Jpg , Zip etc ..) en fichier .wav

et
Et après y pouvoir convertir dans son format d'origine [inversion]

amuse-toi déjà à ouvrir un exe avec le bloc-notes, à en modifier quelques caractères, enregistrer, fermer, ouvrir à nouveau pour remettre les caractères tels qu'il étaient et regarde s'il reste toujours exécutable.
Et j'espère que tu t'es un peu intéressé à la structure et aux limites d'un fichier .wav. Si pas encore, commence au moins par lire CECI
____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Commenter la réponse de ucfoutu
Messages postés
428
Date d'inscription
samedi 11 juillet 2009
Statut
Membre
Dernière intervention
28 octobre 2016
1
0
Merci
Gné
Non mais tkt je suis pas bête, j'ai kan même 16 ans , je connais l'assembleur , L'hexadécimale ... , je sais comment ça fonctionne
[i]
j'ai même crée un Crypteur de fichiers universelle qui convertit TOUS les caractères Ascii (Même les exécutables ..) en chiffres [avec mon aglo]
et ensuite je comprime ça en .rar
et on peux aussi décrypter , et mon programme est capable de reconstituer un fichier , même un exécutable !
voir mon site (Partie VI [Microsf01 CFU]) :
http://microsf01.e-monsite.com/rubrique,mes-ptits-programmes,1469712.html/i

et pour le fichier Wave , oui je sais ce que c'est j'ai lus des documents avant de my mettre dedans avec l'entête du fichier etc ..

Mais c'est bon , j'ai réussi a convertir un fichier (nimporte quelle extention) en un fichier son (Wave)
Il suffit re récupérer le numéro ascii (du caractère) je le multiplie par 100
et comme ca ca me donne une fréquence a enregistrer
ex :
le lettre ascii "a" donne "97"

et donc je le multiplie par 100 ca me donne
9700 et puis j'enregistre ma fréquence avec un rate de 8000 en 8 bit Mono
dans mon programme je fais le calcul avec Sinus(temps * (2*pi*la fréquence/rate))
Puis j'additionne (avec Cbyte) +128
et j'ai plus qu'a enregistrer le résultat avec Fileput
(sur le mode "Openmode.binary")

Donc pour convertir nimporte quelle fichier en un fichier son , OK !

Parcontre , pour RECUPERER les féquences qui se joue .. là j'avoue que j'ai dû mal ! je pose quand même la question sur le site , pour savoir si quelqu'un a déja fait ce genre de programme.

Merci

Microsf01
Copyright©Microsf01
Favier Sébastien 01
Commenter la réponse de Cpcdos
Messages postés
428
Date d'inscription
samedi 11 juillet 2009
Statut
Membre
Dernière intervention
28 octobre 2016
1
0
Merci
Mais merci quand même


Microsf01
Copyright©Microsf01
Favier Sébastien 01
Commenter la réponse de Cpcdos
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
Tu en connais définitivement plus que nous, ami !
Bonne chance et n'oublie pas de déposer le source de ce code, lorsque tu l'auras terminé, hein ...

____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
C'est une plaisanterie, je pense.
Il n'est nul besoin de sortir de saint-Cyr pour modifier un fichier texte !
Relis ce que j'ai écrit plus haut ===>> modifie ainsi un .exe ===>> enregistre ===>> puis fais l'inverse (comme tu dis) ===>> et vois ce qu'est devenu ton exe !
Bref ...
Bonne chance

____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Commenter la réponse de ucfoutu
Messages postés
428
Date d'inscription
samedi 11 juillet 2009
Statut
Membre
Dernière intervention
28 octobre 2016
1
0
Merci
--' non mais essai aussi avec un .exe !
mais il faut eviter qu'il depasse ~500 ko car ca sera long
Mais regarde attentivement le programme tu va comprendre comment ca fonctionne !

Puis pour le bloc note , pas besoin d'essayer car bloc note n'affiche pas tous les caractères ascii , il faut un editeur hexadécimale

Bon

Je préfère plutot fermer ce forum que ce casser la tête .



Microsf01
Copyright©Microsf01
Favier Sébastien 01
Commenter la réponse de Cpcdos
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
Je préfère plutot fermer ce forum que ce casser la tête

Hé bé !
T'es vraiment fort, là, toi.
Et comment tu fais, pour "fermer ce forum" ?
Fais-moi connaître ce truc-là (j'aimerais pouvoir en fermer deux ou trois, moi aussi)

____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Commenter la réponse de ucfoutu
Messages postés
428
Date d'inscription
samedi 11 juillet 2009
Statut
Membre
Dernière intervention
28 octobre 2016
1
0
Merci
Ah , bah c'est pas comme sur "comment ca marche .net "


Microsf01
Copyright©Microsf01
Favier Sébastien 01
Commenter la réponse de Cpcdos
Messages postés
428
Date d'inscription
samedi 11 juillet 2009
Statut
Membre
Dernière intervention
28 octobre 2016
1
0
Merci
Cque je veux dire ,
On en parle plu !


Microsf01
Copyright©Microsf01
Favier Sébastien 01
Commenter la réponse de Cpcdos
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
Alors apprends d'abord à dire exactement ce que tu veux dire.
Ce sera un vrai premier pas.
PS (au passage): la précision nécessaire en langage informatique est encore plus impitoyable que celle nécessaire en langage naturel.


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Commenter la réponse de ucfoutu
Messages postés
428
Date d'inscription
samedi 11 juillet 2009
Statut
Membre
Dernière intervention
28 octobre 2016
1
0
Merci
Ok
je vais en refaire un mais avec une autre question plus précise


Microsf01
Copyright©Microsf01
Favier Sébastien 01
Commenter la réponse de Cpcdos