Page 3 sur 5

Re: Convertir un extrait de mp3 en fichier plus petit possible

Publié : lun. 11/janv./2010 14:05
par Kwai chang caine
Bon j'ai eu plusieurs reponses sur le US dont une de FRED

Le MP3 n'est pas libre, si on met un decodeur dans une appli, faut "carner"

Donc 4 avantages pour moi d'utiliser le OGG:

Je n'ai pas besoin de distribuer mes extraits donc peu importe que ce soit du MP3 :roll:
Il aurait une meilleure compression que le MP3
Il est gratuit comme le GIF :mrgreen:
Il est reconnu par PB 8)

Je crois que je vais choisir le OGG, mais je partirais des originaux en MP3

Bon maintenant ça trouvé, il me reste a trouver le meilleur taux d'echantillonage et les meilleurs reglages pour obtenir le plus petit fichier possible tout en reconnaissant le titre quand meme :lol:

J'avance, j'avance merci 8)

Re: Convertir un extrait de mp3 en fichier plus petit possible

Publié : lun. 11/janv./2010 18:38
par venom
OGG j'y avais déjà penser va :wink: car oui il est 100% compatible PureBasic.
mais mes tests avec ffmpeg ont révéler que le OGG sortait un fichier plus gros qu'un mp3. :wink:

ont continue de folower :wink:

ps: merci taz pour le mono et stereo. :wink:





@++

Re: Convertir un extrait de mp3 en fichier plus petit possible

Publié : mar. 12/janv./2010 10:42
par Kwai chang caine
Sur le US, le gentil JAMIROKWAI (mais pas "chang caine" :lol:) m'a donné la combine de OGGENC, c'est apparement special pour ça..peut etre meilleur ?? :roll:
La dedans, t'as un lecteur qui a l'air cool (Pas eu le temps d'essayer, car je suis au boulot :oops:)
Mais en plus t'as les encodeurs en MPC, OGG etc ...
Il est cool ce site :
http://www.quadworks.de/

En plus ce matin, le toujours gentil JAMIROKWAI viens de me fair un code...
Je vais l'essayer, des que j'ai 5 minutes, il me dit que ce code converti 130k en 6k 8O
http://www.purebasic.fr/english/viewtop ... 68#p311968

Code : Tout sélectionner

; Code to convert a test.wav to test.ogg using oggenc
; you may us this snippet however you like, but please give credit :)
; (p) 2009-2010 quadWorks.de

#Quality  = 3   ;   3 is Standard, 0 worst, 10 best quality
#minBits  = 80  ;  80 is Standard, 16 is worst, 384 is best
#maxBits  = 128 ; 128 is Standard, like above
#varBits  = 128 ; 128 is Standard, like above, if set to 0, then use from #minBits to #maxBits
#toMono   = 0   ; 0 = Stereo, 1 = convert to Mono
#toSample = 0   ; 0 = don't downsample, everything else (11025, 22050, 32000, 44100, 48000) downsample
#inName   = "test.wav"
#toName   = "test.ogg"
#Path     = "c:/your/path/"

; this one produces the command line options for oggenc...
Procedure.s ConvertToOgg(inName$, toName$, Quality, minBits, maxBits, varBits, toMono, toSample)
encode$ = " -q" + Str(Quality)
If varbits = 0
  encode$ + " -m" + Str(minBits)
  encode$ + " -M" + Str(maxBits)
Else
  encode$ + " -b" + Str(varBits)
EndIf
If toMono = 1
  encode$ + " --downmix"
EndIf
If toSample <> 0
  encode$ + " --resample " + Str(toSample)
EndIf
encode$ + " " + Chr(34) + inName$ + Chr(34)
encode$ + " -o" + toName$ 
ProcedureReturn encode$
EndProcedure

; really good quality
;encode$ = ConvertToOgg(#InName, #toName, #Quality, #minBits, #maxBits, #varBits, #toMono, #toSample)
;really bad, but small... : 
encode$ = ConvertToOgg(#InName, #toName, 0, 16, 32, 0, 1, 11025)

; here you have to set the full path to oggenc, and the full path to the working directory of your test.wav and test.ogg
x  = RunProgram(#Path + "oggenc.exe", encode$, #Path, #PB_Program_Open|#PB_Program_Read)
If x <> 0
While ProgramRunning(x)
  Debug ReadProgramString(x)
Wend
If ProgramExitCode(x) <> 0
  Debug "error"
Else
  Debug "success"
EndIf
CloseProgram(x)
EndIf
On avance on avance... :wink:

[EDIT] Je viens d'essayer, mais apparement c'est pour passer de WAV a OGG, je vais regarder si on peut passer de MP3 a OGG :roll:

Re: Convertir un extrait de mp3 en fichier plus petit possible

Publié : mar. 12/janv./2010 13:46
par venom
6k... 8O truck de fou.
J'essaie ton code ce soir.
Pour le wav je pense que c'est possible en mp3 si non, il faudra convertir le mp3 couper en wav pour le retransformer. Mais tout cela risque de prendre un peut de temps. Mais dans le sens ou ceux sont des pré écouté de 30 secondes, sa pourra le faire.

Fin je regarderais a cela ce soir la je suis au taf sur mon iPhone :) et purebasic n'existe pas sur iPhone :D






@++

Re: Convertir un extrait de mp3 en fichier plus petit possible

Publié : mar. 12/janv./2010 15:31
par Kwai chang caine
6k... truck de fou.
Bah ouaih 8O

Attention y previens que la qualité est mauvaise :roll:
Mais c'est ce que je recherche, moi mon critere c'est la taille....
MAintenant faudra quand meme pas qu'on confonde annie cordy et eminem :?

Bon je l'ai essayé rapido, et apparement y'a un bug :(
Je trouve bizarre la variable qui arrive au runprogram..tu peux regarder sur le US, c'est la suite du lien que je t'ai donné au dessus
Je lui est posé la question, peut etre aurais je la reponse d'ici demain :roll:

Re: Convertir un extrait de mp3 en fichier plus petit possible

Publié : mar. 12/janv./2010 19:00
par venom
Bon j'ai regarder au niveau de oggenc.exe

je l'ai télécharger et installer de la même façon que ffmpeg dans le system32.

j'ai compiler le code que tu a poster et je n'arrive pas a le faire fonctionner. 8O :( :?

néanmoins, j'ai chercher de mon coté et voici mes résultats :

pour un wav de 30 secondes = 5,04Mo
convertie et compresser au mieux ( car la sa commence a devenir incompréhensible ) en ogg j'obtiens un résultat de = 46,9Ko. Bon c'est plus que favorable. car après ont peut encore baisser mais la tu va vraiment confondre eminem avec annie cordy c'est sur :D
si tu veut test ma ligne de commende j'utilise ceux-ci :

Code : Tout sélectionner

oggenc.exe -M 16 -q -1 --resample 8000 -R 48000 c:\sondepart.wav c:\sonsortie.ogg
avec cette ligne je passe de 5,04Mo a 49,6Ko :D
a toi de voir.

et encore en 30 secondes, en 20s sa réduit a 32,1Ko






@++

Re: Convertir un extrait de mp3 en fichier plus petit possible

Publié : mer. 13/janv./2010 9:06
par Kwai chang caine
Je crois que cette fois on tiens le bon bout.

Oui effectivement, je t'avais marqué qu'apparement il avait fait une erreur et que j'aurais peut etre le correctif plus tard !!! :roll:

Par contre avec ta ligne, j'ai aussi une erreur :(

Code : Tout sélectionner

C:\>oggenc.exe -M 16 -q -1 --resample 8000 -R 48000 c:\sondepart.wav c:\sonsorti
e.ogg
Enabling bitrate management engine
WARNING: Raw sample rate specified for non-raw data. Assuming input is raw.
Resampling input from 48000 Hz to 8000 Hz
Encoding "c:\sondepart.wav" to
         "c:\sondepart.ogg"
at quality level -1,00 using constrained VBR (no min, max 16 kbps)


Done encoding file "c:\sondepart.ogg"

        File length:  0m 00,0s
        Elapsed time: 0m 01,0s
        Rate:         0,3468
        Average bitrate: 16,8 kb/s

ERROR: Cannot open input file "c:\sonsortie.ogg": No such file or directory
Alors j'ai posé OGGENC et ses 3 comparses dans le "C:\"
J'ai posé un WAV en le nommant "sondepart.wav" et lancé le code
J'ai essayé avec un autre WAV et c'est pareil

Autrement, ça a l'air de compressé un MAX :D

Reste encore me probleme de passer de MP3 a OGG
Car c'est peut etre dommage de passer de MP3 a WAV pour passer a OGG :roll:
Affaire à suivre...

Re: Convertir un extrait de mp3 en fichier plus petit possible

Publié : mer. 13/janv./2010 9:45
par Kwai chang caine
Voila donc la suite...
Apparement un probleme OGG n'aime pas mixer un fichier qui est deja mono

Par contre j'ai essayé aussi , le code de JAMIROKWAI avec plusieurs reglages et voila ce que ça donne :

Code : Tout sélectionner

;encode$ = ConvertToOgg(#InName, #toName, 0, 16, 32, 0, 0, 11025) ; Pour 6 Secondes ==> 65 = 16 K
encode$ = ConvertToOgg(#InName, #toName, 0, 8, 16, 0, 0, 8000) ; Pour 6 Secondes ==> 65 = 11 K
encode$ = ConvertToOgg(#InName, #toName, -1, 8, 16, 0, 0, 8000) ; Pour 6 Secondes ==> 65 = 9 K
1/ 16k to an original file of 64 K in 11025 with q=0
2/ 11K to an original file of 64 K in 8000 with q=0
3/ 9K to an original file of 64 K in 8000 with q=-1

Re: Convertir un extrait de mp3 en fichier plus petit possible

Publié : mer. 13/janv./2010 14:30
par Kwai chang caine
Bon apparement le plus petit fichier possible avec OGG c'est 8000, Mono, 16kbs minRate, et 16kbs maxRate :roll:
Et OGG ne converti pas directement du MP3, il faut bien passer par le WAV...

Re: Convertir un extrait de mp3 en fichier plus petit possible

Publié : mer. 13/janv./2010 18:36
par venom
Salut KCC,

pour oggenc oui il ne convertie pas un mp3 en ogg mais un wav.
pour la compatibilité tu as raison aussi, il ne convertie pas le mono il aime pas.

Mais pour tes tests, voici mon code du départ qui permet de couper un mp3, et qui te permet de sortir du wav en stéréo et le transforme en ogg. :D

ok c'est un peut le boxons dans cette phrase je récapitule :

mon code prend un mp3 le coupe et le sort en wav avec ffmpeg.
Ensuite, il récupere le wav fraichement créer et le transforme en ogg avec oggenc. Et supprime bien entendu le fichier wav qui lui et temporaire.

Teste le code chez toi et dit moi quoi :wink:
Bien avidement avec cette alternative, il te faut ffmpeg et oggenc dans ton system32 :wink:

Code : Tout sélectionner

;- Window Constants
Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
Enumeration
  #Frame3D_0
  #String_0
  #Button_0
  #String_1
  #Button_1
  #Frame3D_1
  #Text_0
  #Text_1
  #TrackBar_0
  #Frame3D_2
  #Text_2
  #Text_3
  #TrackBar_1
  #Button_2
EndEnumeration

  If OpenWindow(#Window_0, 216, 0, 600, 280, "New window ( 0 )",  #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
      Frame3DGadget(#Frame3D_0, 10, 10, 580, 85, "")
      StringGadget(#String_0, 20, 30, 455, 20, "")
      ButtonGadget(#Button_0, 485, 30, 100, 20, "Fichier a couper")
      StringGadget(#String_1, 20, 60, 455, 20, "")
      ButtonGadget(#Button_1, 485, 60, 100, 20, "enregistrer sous")
      Frame3DGadget(#Frame3D_1, 10, 105, 265, 120, "")
      TextGadget(#Text_0, 25, 125, 225, 20, "Position de depart pour la decoupe en seconde")
      TrackBarGadget(#TrackBar_0, 25, 185, 225, 20, 0, 120)
       SetGadgetState(#TrackBar_0, 60)
      TextGadget(#Text_1, 105, 155, 65, 20, Str(GetGadgetState(#TrackBar_0)), #PB_Text_Center)
      Frame3DGadget(#Frame3D_2, 325, 105, 265, 120, "")
      TextGadget(#Text_2, 340, 125, 225, 20, "Durée de la decoupe en seconde", #PB_Text_Center)
      TrackBarGadget(#TrackBar_1, 340, 185, 225, 20, 0, 60)
       SetGadgetState(#TrackBar_1, 30)
      TextGadget(#Text_3, 420, 155, 65, 20, Str(GetGadgetState(#TrackBar_1)), #PB_Text_Center)
      ButtonGadget(#Button_2, 195, 240, 210, 25, "Démarrer la découpe")

  EndIf

  Repeat
   EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget
      Select EventGadget()
        
       Case #Button_0
        Fichier_Depart$ = OpenFileRequester("Choisir le fichier a couper", "",  "Fichier mp3|*.mp3" , 0)
         SetGadgetText(#String_0, Fichier_Depart$)
       
       Case #Button_1
        Fichier_Couper$ = SaveFileRequester("Enregistrer sous", "",  "Fichier wav|*.wav" , 0)
         SetGadgetText(#String_1, Fichier_Couper$+".wav")
       
       Case #TrackBar_0
        SetGadgetText(#Text_1, Str(GetGadgetState(#TrackBar_0)))
       
       Case #TrackBar_1
        SetGadgetText(#Text_3, Str(GetGadgetState(#TrackBar_1)))
       
       Case #Button_2
       SetGadgetText(#Button_2, "Découpe et compression en cours...")
        parametre$ = "-ss "+Str(GetGadgetState(#TrackBar_0))+" " + "-t "+Str(GetGadgetState(#TrackBar_1))+" " + "-i " + Chr($22) + Fichier_Depart$ + Chr($22) + " " + Chr($22) + Fichier_Couper$ +".wav"+ Chr($22)
         RunProgram("FFmpeg.exe", parametre$, "", #PB_Program_Wait | #PB_Program_Hide, 1)
         RunProgram("oggenc.exe", "-M 16 " + "-q -1 " + "--resample 8000 " + "-R 48000 " + Chr($22) + Fichier_Couper$ + ".wav " + Chr($22) + " " + Chr($22) + Fichier_Couper$ +".ogg"+ Chr($22), "", #PB_Program_Wait | #PB_Program_Hide, 1)
          DeleteFile(GetGadgetText(#String_1))
         End 
        
      EndSelect
    EndIf
  Until EventID = #PB_Event_CloseWindow





@++

Re: Convertir un extrait de mp3 en fichier plus petit possible

Publié : mer. 13/janv./2010 18:40
par Backup
bah !

mon PureConverter faisait deja de la conversion Mp3->wav->ogg

mais bon ... :)

Image

Re: Convertir un extrait de mp3 en fichier plus petit possible

Publié : jeu. 14/janv./2010 9:26
par Kwai chang caine
@VENOM
Merci VENOM je vais tester ça avec attention.
C'est bizarre qu'on puisse pas descendre en dessous des 8000 :roll:
J'y connais rien, mais les telephones en combien il peuvent etre echantilloné ???

Ce week end, j'aurais plus le temps de me pencher la dessus...enfin si ma femme me fou la paix :roll:
Encore merci VENOM de ta gentillesse 8)

@DOBRO
Bah je savais pas que tu avais fait ça. 8O
Aussi c'est ta faute, t'en a tellement fait des utilitaires....et pis.... tu me fera le plaisir de virer ton commercial :lol:

En fait, je voulais un code simple pour convertir des milliers de MP3, en lot, et de preference avoir le source, pour pouvoir l'integrer dans mon giciel de gestion de disques :wink:
Les couper en 20/30 Secondes, les rendre mono, les echantilloner en n'importe quel format, du moment qu'il est lisible par winamp, et encore mieux si PB les lis....et surtout un format le plus petit possible.
1/ Couper
2/ Mono
3/ Compresser au max comme le metro parisien
4/ Compatible
5/ Et pouvoir differencier tino rossi de ACDC une fois mega compréssé :roll:

Donc pour l'instant... je crois que c'est OGG qui gagne et qui reunis tout ça...
Mais si je trouve un format, qui compresse mieux ou qui peux descendre plus bas (4000 Hz) en reunissant mes 4 besoins, bah je sauterais a celui la
Je me rend pas compte de ce que ça donne en dessous de 8000 :roll:

Mais evidement avant de demarrer la conversion, j'aimerais choisir le bon encodeur, ça m'eviterais de me retaper les 6000 OGG :lol:

Re: Convertir un extrait de mp3 en fichier plus petit possible

Publié : jeu. 14/janv./2010 10:51
par Backup
il existe des plugins winamp qui permettent les conversions divers..
mais je ne comprends pas vraiment ton but.....

le mp3 a pour but de garder un maximum de qualité dans la musique
le Ogg aussi , et toi tu demande de la qualité "telephone" ... :?

le mp3 et le Ogg , ne sont simplement pas conçus pour ça

ça reste ton probleme de base , tu n'as pas l'air d'etre au courant
de la finalité de tel ou tel format de fichier , ou meme , comme je te l'ai deja fait remarqué, de tel ou tel utilisations de la memoire par exemple ...

là , tu retombe dans tes "travers" , c'est a dire, vouloir utiliser un format de fichier, pour une utilisation,inadaptée ;)

qui, a part toi , aujourd'hui veux un fichier musique, avec un son pourri a l'extreme ?? :lol:


ps: pour la conversion par lot , il existe des utilitaires qui font ça

je pense a Audacity ,Soundforge, irfanview etc .....

Re: Convertir un extrait de mp3 en fichier plus petit possible

Publié : jeu. 14/janv./2010 12:17
par Kwai chang caine
qui, a part toi , aujourd'hui veux un fichier musique, avec un son pourri a l'extreme
KCC il est pas comme les autres :mrgreen:

Bah pour un extrait, et avoir une idée de quel titre c'est, j'ai pas besoin de qualité 8O
Si tu connais un encodeur qui fait de la daube, pas lourde, programmable en PB et lisible par winamp....J'y prend :mrgreen:

Sur les sites d'achat, tu clique sur ecouter et parfois, t'entend un son comme si il etait au telephone....mais ça suffit pour reconnaitre un titre..
Quand j'etais DJ, mon fournisseur d'import selectionnait tous ses disques en provenance des etats unis par tel :D

C'est comme ça qu'il avait repéré un des plus grands titres des discotheques de cette epoque : SNAP (Rythm is a dancer) j'ai été un des premier à l'avoir sur lyon....moi j'lai eu le mercredi, les discotheques qui se servaient chez lui ....le samedi :mrgreen:

Re: Convertir un extrait de mp3 en fichier plus petit possible

Publié : jeu. 14/janv./2010 15:23
par TazNormand
Dobro a écrit :qui, a part toi , aujourd'hui veux un fichier musique, avec un son pourri a l'extreme ?? :lol:
Salut

Je pense que si les créateurs des formats MPx et OGG ont prévus différents "taux de compression" avec les qualités qui en découlent, c'est qu'il y avait et qu'il y a toujours de la demande.

Le fait d'avoir des gigas de stockage, des débits de plusieurs Mbps ne signifie pas que TOUS ont ce type d'accès ou espace de stockage !!! Souviens-toi, Dobro, de ta période 8 bits où chaque octet devait être économisé.

Pour l'utilisation qu'il en a, KCC a raison de vouloir une qualité téléphone, avoir un échantillon de 30s qui pèse 2mo, je vois pas l'intérêt.

Sur mon téléphone mobile, j'ai comme sonnerie la musique Kids de MGMT, enfin un extrait de 33s, il pèse 265ko, débit : 64kbps. Pour une sonnerie de tél, c'est franchement trop gros, mais il y a pire, certains de mes copains se trainent des musiques de 4 mo en sonnerie !!!

KCC, amuses-toi bien avec tes MP3 (dis donc 6000, ça doit pas être facile d'écouter tout ça tous les jours :D )