Convertir un fichier wave to octal data

Utilisateur anonyme -  
Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   -
Salut tout le monde!

je cherche à convertir un fichier wave en sorte qu'il soit en octal ou binaire ..ou meme texte, s'il vous plait si vous avez des idées n'hésitez pas.

ou si vous avez un code visual basic qui peut faire cette tache là

cordialement

Cynthia.

3 réponses

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    Bonjour,

    Il ne s'agit pas d'une conversion mais d'une forme d'affichage du fichier.

    Un éditeur de texte sert à afficher un fichier sous forme de texte (le plus simple étant le Bloc-note). Il suffit de faire ouvrir avec.

    Pour l'afficher en binaire, utilises un éditeur Hexadécimal, la plupart permettent aussi l'affichage en binaire et en texte, par contre l'affichage en octal est moins courant.

    Cordialement
    Patrice
    0
    1. Utilisateur anonyme
       
      Bonjour,

      Merci beaucoup pour votre réponse Patrice,
      en fait j'ai pas bien saisi ce que vous voulez dire exactement

      j'attends impatiemment de recevoir des détails, j'ai un fichier son que des bips comment faire pour transformer ça à un fichier octal


      Merci
      0
    2. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
       
      Tous les fichiers sont composés de bits.
      On peut donc les visualiser dans un éditeur sous forme binaire, ou en hexadécimal ou en octal (plus rarement) ou encore en texte (ASCII).
      Pourquoi tiens-tu à de l'octal ???
      L'hexadécimal me semble plus facile à trouver.
      0
    3. Utilisateur anonyme
       
      merci de votre réponse, mais saches que c'est pas moi qui tien à l'octal, chui entrain de réaliser un projet et chui bloqué là je peux pas avancer, faut que je convertisse ce fichier là en octal, si vous connaissez un moyen s'il vous plait aidez moi.
      0
  2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    vois si cela te convient:

    Sub LectBinaire()
     Dim f As Integer
     f = FreeFile
     Dim i As Integer
     Dim x1 As Byte
     Dim bHeader(0 To 43) As Byte
     Open "c:\windows\Media\ding.wav" For Random As #f
     'Lecture entête
        Get #f, , bHeader
        'Ensuite faut analyser l'entête...???
        For i = 0 To 43
          ListBox1.AddItem (i & " : " & bHeader(i))
        Next
        Get #f, , x1 ' Lecture byte/byte...
     Debug.Print "X1 : " & x1
     Close #f
    End Sub


    les valeurs sont affichées dans une listBox
    0
  3. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    Bonjour,

    «saches que c'est pas moi qui tien à l'octal, chui entrain de réaliser un projet et chui bloqué là je peux pas avancer»
    Effectivement cette réponse ne fait pas avancer !

    Quel est le but de ton projet ?
    Pourquoi est-il préférable d'utiliser l'octal plutôt que l'hexadécimal ?
    S'agit-il d'un exercice ?

    Aujourd'hui (de même qu'hier), l'octal n'est pratiquement jamais utilisé !!!
    Il est plus simple et plus logique de travailler en hexadécimal, car 2 digits représentent un octet.

    Ici un éditeur hexa portable et gratuit :
    HxD fr portable
    0
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
       
      PS:
      La conversion d'un fichier en octal n'est pas toujours possible!!!

      En effet, un digit octal correspond à 3 bits, donc le nombre de bits du fichier doit être un multiple de 3, sinon on saura pas exprimer ceux qui restent.
      Hors la taille d'un fichier est exprimée en octets c'est à que le nombre de bits d'un fichier est un multiple de 8 (8 bits = 1 octet).
      Il n'y a donc que les fichier dont la taille en octets est un multiple de 3 qui peuvent être convertis en octal (1 chance sur 3 !!!)

      Exemple de conversion Hexa et ASCII avec une macro Excel :
      Option Explicit
      Option Private Module
      
      Sub ConvHexASCII()
      Dim wbkR As Workbook              'fichier résultat
      Dim cel As Range                  '1° cellule de la ligne
      Dim nomF As String                'nom complet du fichier
      Dim strF As String                'texte du fichier
      Dim ptr As Long                   'pointeur texte
      Dim nbC As Long                   'nombre de colonnes
      Dim n°C As Long                   'numéro de colonne
          
        'Sélection du fichier
        On Error Resume Next
        Application.FileDialog(msoFileDialogFilePicker).AllowMultiSelect = False
        Application.FileDialog(msoFileDialogFilePicker).Show
        nomF = Application.FileDialog(msoFileDialogFilePicker).SelectedItems(1)
        If nomF = "" Then Exit Sub
        On Error GoTo 0
        'Lecture fichier
        strF = LireTexte(nomF)
        'Créer le fichier résultat
        Set wbkR = Application.Workbooks.Add(xlWBATWorksheet)
        wbkR.Worksheets(1).Cells.NumberFormat = "@"
        'Arrêt mise à jour écran et calculs
        Application.ScreenUpdating = False
        Application.Calculation = xlCalculationManual
        'Edition fichier
        nbC = 16
        Set cel = wbkR.Worksheets(1).Range("A1")
        Do While ptr < Len(strF)
          cel.Value = Right("0000000" & Hex$(ptr), 8)
          For n°C = 1 To nbC
            If ptr + n°C < Len(strF) Then
              cel.Offset(0, n°C).Value = Right("0" & Hex(Asc(Mid(strF, ptr + n°C, 1))), 2)
              cel.Offset(0, nbC + 1 + n°C).Value = WorksheetFunction.Clean(Mid(strF, ptr + n°C, 1))
            End If
          Next
          ptr = ptr + nbC
          Set cel = cel.Offset(1)
        Loop
        'Mise en forme résultat
        wbkR.Worksheets(1).Columns(nbC + 2).ColumnWidth = 4
        wbkR.Worksheets(1).Columns.AutoFit
        wbkR.Worksheets(1).Cells.HorizontalAlignment = xlCenter
        'Restauration calculs et mise à jour écran
        Application.Calculation = xlCalculationAutomatic
        Application.ScreenUpdating = True
        
      End Sub
      
      Private Function LireTexte(ByVal nomCompletFichier As String) As String
      ' Lecture  d'un fichier binaire sous forme de texte (caractères ASCII).
      '
      Dim n°F As Integer                'numéro du fichier
      
        On Error GoTo Lp_fin
        If Dir(nomCompletFichier) = "" Then Exit Function
        n°F = FreeFile
        Open nomCompletFichier For Binary Access Read As #n°F
        If LOF(n°F) > 1048576 Then   ' 65536 x 16
           MsgBox "Fichier trop grand pour cette application", vbCritical
           Close #n°F
           Exit Function
        End If
        LireTexte = Space$(LOF(n°F))
        Get #n°F, , LireTexte
        Close #n°F
      
      Lp_fin:
      
      End Function
      0
    2. Utilisateur anonyme
       
      merci beaucoup beaucoup pour vous 2, mais franchement c'est pas ça ce que je cherche, de tte façon, j'ai reçu le fichier converti par un pro mais j'ignore toujours comment peut on convertir un wav to octal

      merci encore une fois.
      0
      1. PlacageGranby Messages postés 402 Statut Membre 26 > Utilisateur anonyme
         
        Bonjour,
        Dans la question, on parle OCTAL DATA.
        Je vois sur google que un "Octal data receiver" est un appareil électronique au sujet des fréquences.
        Donc, c'est pas convertir un fichier en octal, mais plutôt formater un fichier wave dans un format autre qui sera lisible par un bidule octal data.

        C'est une manipulation de fichier audio et cela n'a probablement rien a voir avec la programmation VB
        0
      2. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784 > PlacageGranby Messages postés 402 Statut Membre
         
        "Octal data receiver" n'a rien à voir avec la question : c'est un récepteur à 8 entrées.
        Quand Cynthyaa demande « en octal ou binaire ..ou meme texte », je ne suis pas sûr qu'elle ait clairement exprimé son besoin ! Je pense aussi qu'il s'agit d'une manipulation de fichier audio (peut-être vers GNU Octal)
        En effet tous les fichiers informatiques, quel que soit leur utilisation, sont avant tout des fichiers binaires !!!
        0