Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: mp3gain  (gelezen 13824 keer)

artvds2708

  • Gast
mp3gain
« Gepost op: 2006/09/09, 15:30:39 »
In het verleden heb ik met veel plezier het programma MP3GAIN gebruikt op Windows.
Is er een Linux versie / alternatief voor dit programma ?
Zo ja, waar kan ik die vinden.

Offline profoX

  • Lid
    • wesley
    • Lionslink
mp3gain
« Reactie #1 Gepost op: 2006/09/09, 15:41:50 »
zoek in synaptic naar mp3gain en installeren ;)
je moet wel de universe repository inschakelen voordat je het in synaptic kan zien
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

artvds2708

  • Gast
mp3gain
« Reactie #2 Gepost op: 2006/09/09, 16:57:36 »
Bedankt.
Ik heb in de konsole gekeken naar het help bestand van MP3 gain, maar ik snap er echt helemaal niets van.
Wat moet ik nu doen om een map in zijn geheel in een keer gelijk te trekken qua geluidsniveau ?
Gaarne hulp.
BVD

Offline profoX

  • Lid
    • wesley
    • Lionslink
mp3gain
« Reactie #3 Gepost op: 2006/09/09, 17:31:26 »
Dit is 1 mogelijkheid volgens Google:

mp3gain -r -c /home/gebruiker/mp3map/*.mp3

als de mp3map in /home/gebruiker/mp3map staat

eventueel kan je een rechtermuisknop optie instellen zodat je via rechtermuisknop kan kiezen voor "normaliseer mp3" op mp3-bestanden :)
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

artvds2708

  • Gast
mp3gain
« Reactie #4 Gepost op: 2006/09/09, 18:27:10 »
Weinig succes.
Je zei dat het genoemde 1 oplossing was, wat zijn de eventuele andere ?

Offline profoX

  • Lid
    • wesley
    • Lionslink
mp3gain
« Reactie #5 Gepost op: 2006/09/09, 18:31:22 »
wat ging er fout?
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

artvds2708

  • Gast
mp3gain
« Reactie #6 Gepost op: 2006/09/09, 18:43:25 »
can't open for reading.
Is er geen ander programma voor Linux die het zelfde kan als MP3GAIN ??

Offline profoX

  • Lid
    • wesley
    • Lionslink
mp3gain
« Reactie #7 Gepost op: 2006/09/09, 18:55:46 »
probeer eens

man mp3gain
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

artvds2708

  • Gast
mp3gain
« Reactie #8 Gepost op: 2006/09/09, 19:01:19 »
word men ook niet wijzer van.
er moet toch een ander programma zij die het zelfde kan ?

Offline profoX

  • Lid
    • wesley
    • Lionslink
mp3gain
« Reactie #9 Gepost op: 2006/09/09, 19:03:31 »
mp3gain werkt in ieder geval perfect bij mij

kopieer eens wat je in de terminal typte en wat er op het scherm verscheen
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

Offline profoX

  • Lid
    • wesley
    • Lionslink
mp3gain
« Reactie #10 Gepost op: 2006/09/09, 19:04:35 »
Andere programma's ken ik niet, maar met bv. audacity kan je wel (1 voor 1) het volume normaliseren van audiobestanden....
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

artvds2708

  • Gast
mp3gain
« Reactie #11 Gepost op: 2006/09/09, 19:14:50 »
arthur@CP696579-A:~$ mp3gain -r-c/home/arthur/my_downloads/riverboat.mp3
-r-c/home/arthur/my_downloads/riverboat.mp3
Can't open -r-c/home/arthur/my_downloads/riverboat.mp3 for reading
arthur@CP696579-A:~$


Audacity, ken ik al vanaf windows, die is leuk voor oude LP's te bewerken.

Offline profoX

  • Lid
    • wesley
    • Lionslink
mp3gain
« Reactie #12 Gepost op: 2006/09/09, 19:24:13 »
tip: goed lezen! je typt het commando verkeerd in:

mp3gain -r -c /home/arthur/my_downloads/*.mp3
Dit commando zal alle mp3's in de map my_downloads normaliseren

dus:
mp3gain-r-c/home/arthur/my_downloads/*.mp3

je was de spaties vergeten
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

artvds2708

  • Gast
mp3gain
« Reactie #13 Gepost op: 2006/09/09, 19:28:38 »
zelfs met spatie werkt het niet.
ik ga er maar eens een nachtje op slapen.
wie weet heb ik morgen een heldere ingeving.
dank voor al uw hulp.
ideeen blijven welkom
Arthur

Offline profoX

  • Lid
    • wesley
    • Lionslink
mp3gain
« Reactie #14 Gepost op: 2006/09/09, 19:32:40 »
Citaat van: artvds2708
zelfs met spatie werkt het niet.
ik ga er maar eens een nachtje op slapen.
wie weet heb ik morgen een heldere ingeving.
dank voor al uw hulp.
ideeen blijven welkom
Arthur
kopieer nog eens het ingevoerde commando en de foutmelding die je deze keer krijgt
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
mp3gain
« Reactie #15 Gepost op: 2006/09/09, 20:33:21 »
Tja. Met alle respect voor Profox, die z'n uiterste best doet om ons goed te helpen: mp3gain gebruik ik toch maar gewoon weer onder Windows.

Waarom heeft die verd.... programmeur van mp3gain nou niet even de moeite genomen om ook onder Linux een grafische schil om het progje heen te leggen?! Grrr!

Groet, Pjotr.

Offline Soul-Sing

  • Lid
mp3gain
« Reactie #16 Gepost op: 2006/09/09, 20:40:25 »
ik heb om artvds2708 te helpen het prog. tweemaal geinstalleerd. vanuit de synaptic in de hoop ook een grafische schil aan te treffen, en een keer via de terminal.  profox ik ken nu alle "help" opties: man, - h, -- etc. ik kom er ook niet uit.( -- optie geeft overigens geen resultaat, soi )
dus man werkt
dus -h werkt

Offline profoX

  • Lid
    • wesley
    • Lionslink
mp3gain
« Reactie #17 Gepost op: 2006/09/09, 20:48:07 »
Zucht, via de terminal is het toch zoveel handiger vind ik persoonlijk ;)
maar ik heb respect voor jullie "grafische verlangens" :P

en ik zal binnen de week (waarschijnlijk vandaag of morgen) nog een klein scriptje schrijven voor nautilus zodat je kan rechterklikken op een map of mp3 bestand en kan kiezen: Normalize MP3 :)

Iedereen weer tevreden? :P
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

Offline Soul-Sing

  • Lid
mp3gain
« Reactie #18 Gepost op: 2006/09/09, 20:56:18 »
nee, nee ik dacht en deed alleen maar mee.....:)
laat me nog ff knoeien ok?
can't open /hda1/home/leor/frostwire/*.mp3 for reading
 mp3gain -r -c /hda1/home/leor/frostwire/*.mp3 dit is hem toch?

Offline profoX

  • Lid
    • wesley
    • Lionslink
mp3gain
« Reactie #19 Gepost op: 2006/09/09, 21:01:37 »
leoquant: vanwaar komt die /hda1 ? :) /dev/hda1 is een blokapparaat en het lijkt me raar dat je een aparte partitie hebt gemount die hda1 noemt waar toevallig de folder /home/leor instaat :P
Volgens mij heb je gewoon een foutje gemaakt daar.. probeer eens gewoon:

mp3gain -r -c /home/leor/frostwire/*.mp3

of korter:

mp3gain -r -c ~/frostwire/*.mp3

tip: ~ in de terminal betekent "/home/$USER" waar $USER de huidige gebruikersnaam is
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

Offline Soul-Sing

  • Lid
mp3gain
« Reactie #20 Gepost op: 2006/09/09, 21:09:24 »
verdomd je hebt weer gelijk! het werkt mensen.:D
ik luister via hda1 naar muziek, nu heb ik de frostwiremap uit deze partitie gecopied naar mijn home. dat was het.....

mp3gain -r -c /home/leor/frostwire/*.mp3
en die staat in hda4, waar ik nu mee werk.

profox: op hda1 staat een andere ubuntu install.met muziek en veel foto's enzo.op die install zit ook een home-map vandaar mijn poging via hda1 te mp3gainen.

  -r        apply  Track gain automatically (all files set to equal loud‐
                 ness)

  -c        ignore clipping warning when applying gain

Offline Soul-Sing

  • Lid
mp3gain
« Reactie #21 Gepost op: 2006/09/09, 23:10:40 »
snap als ik terug lees ook niet waar de anderen precies op stuk lopen......

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
mp3gain
« Reactie #22 Gepost op: 2006/09/09, 23:41:42 »
Citaat van: profoX
maar ik heb respect voor jullie "grafische verlangens" :P

en ik zal binnen de week (waarschijnlijk vandaag of morgen) nog een klein scriptje schrijven voor nautilus zodat je kan rechterklikken op een map of mp3 bestand en kan kiezen: Normalize MP3 :)

Iedereen weer tevreden? :P
Profox, je bent een keigoeie!

Alvast enorm bedankt, Pjotr.

P.S.: werkt dat scriptje dan ook onder Xubuntu, met z'n Xfce-schil? De kinderen hebben namelijk Xubuntu op hun computers....

Offline profoX

  • Lid
    • wesley
    • Lionslink
mp3gain
« Reactie #23 Gepost op: 2006/09/10, 03:15:54 »
Nee, waarschijnlijk niet..
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

Offline profoX

  • Lid
    • wesley
    • Lionslink
mp3gain
« Reactie #24 Gepost op: 2006/09/10, 18:42:57 »
Het kon beter, maar heb het maar snel ineen geflanst :) het werkt in ieder geval wel.

Maak eerst mp3gain-gui map aan in je home folder:
mkdir ~/mp3gain-gui

gedit ~/mp3gain-gui/mp3gain-gui
dit in lege tekstbestand plakken:
#!/usr/bin/env python

# simple mp3gain GUI frontend
# for normalizing mp3 files
#
#    written by Wesley S. (profox@ubuntu-nl.org)
#
# released under GPLv2
# feel free to use in any way

import sys
try:
import os
import commands
import string
import time
from frmmain import frmMain
from frmend import frmEnd
from qt import *
except:
print "You miss some files. Exiting."
sys.exit(1)

class RunProgram(QApplication):
def __init__(self, args):
# Set up GUI
QApplication.__init__(self,args)
self.maindialog = MainWindow(None)
self.setMainWidget(self.maindialog)
self.maindialog.show()
self.timer = QTimer(self)
self.connect(self.timer, SIGNAL('timeout()'), self.StartLooping)
self.timer.start(0,1)
self.exec_loop()

def StartLooping(self):
#global cantopenfiles
#global unchangedfiles
#global normalizedfiles
self.cantopenfiles=""
self.unchangedfiles=""
self.normalizedfiles=""
### Loop through arguments
for arg in range(len(sys.argv)):
if arg != 0:
self.maindialog.labelProgress.setText("processing file " + str(arg) + " of " + str(len(sys.argv)-1))
self.maindialog.labelMP3.setText(sys.argv[arg])
self.maindialog.progressBar.setProgress((100/(len(sys.argv)-1))*(arg-1))
self.processEvents()
if sys.argv[arg][-4:].lower() == ".mp3":
self.normalize(sys.argv[arg])
## Set progress to 100%
self.maindialog.progressBar.setProgress(100)
self.enddialog = EndWindow(None,self)
self.enddialog.show()
self.exec_loop()

# Procedure to normalize mp3s
def normalize(self,mp3):
out = commands.getoutput("mp3gain -r -c '" + mp3 + "'")
tempvar = out.find("Applying mp3 gain change")
if out.find("Can't open") > -1:
self.cantopenfiles = self.cantopenfiles + "\n" + mp3
elif out.find("No changes to") > -1:
self.unchangedfiles = self.unchangedfiles + "\n" + mp3
elif tempvar > -1:
self.normalizedfiles = self.normalizedfiles + "\n" + mp3 + "\tGain change: " + out[tempvar+28:out.find(" ",tempvar+28)]

class MainWindow(frmMain):
def __init__(self,parent):
# Run the parent constructor and connect the slots to methods
frmMain.__init__(self,parent)
# self._connectSlots()
self.labelProgress.setText("please wait...")
self.labelMP3.setText("...")
#self.setpar=parent

# def _connectSlots(self):
# # Connect method to a SIGNAL the GUI emits
# self.connect(self.btnCancel,SIGNAL("clicked()"),self._slotCancel)
       
# def _slotCancel(self):
# print "Cancelled."
# sys.exit() // or sys.exit(1)

class EndWindow(frmEnd,object):
def __init__(self,parent,progvars):
# Run the parent constructor and connect the slots to methods
frmEnd.__init__(self,parent)
self._connectSlots()
self.progvars=progvars
if self.progvars.normalizedfiles == "":
txtnormal = "No files were normalized!\n\n"
else:
txtnormal = "The following files have been normalized:" + self.progvars.normalizedfiles + "\n\n"
if self.progvars.cantopenfiles == "":
txtcantopen = ""
else:
txtcantopen = "The following files couldn't be opened for reading:" + self.progvars.cantopenfiles + "\n\n"
if self.progvars.unchangedfiles == "":
txtunchanged = ""
else:
txtunchanged = "The following files didn't need normalization:" + self.progvars.unchangedfiles + "\n\n"
self.txtResult.setText("Normalize MP3 files - powered by mp3gain\nFrontend written by Wesley S.\nprofox@ubuntu-nl.org\n\n" + txtnormal + txtunchanged + txtcantopen)

def _connectSlots(self):
# Connect method to a SIGNAL the GUI emits
self.connect(self.btnOk,SIGNAL("clicked()"),self._slotOkay)
       
def _slotOkay(self):
print "End."
sys.exit(1)

# Program starts here
if __name__ == "__main__":
    app = RunProgram(sys.argv)
gedit ~/mp3gain-gui/frmmain.py
dit in lege tekstbestand plakken:
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'frmmain.ui'
#
# Created: zo sep 10 17:10:15 2006
#      by: The PyQt User Interface Compiler (pyuic) 3.15.1
#
# WARNING! All changes made in this file will be lost!


from qt import *


class frmMain(QDialog):
    def __init__(self,parent = None,name = None,modal = 0,fl = 0):
        QDialog.__init__(self,parent,name,modal,fl)

        if not name:
            self.setName("frmMain")

        self.setSizePolicy(QSizePolicy(QSizePolicy.Fixed,QSizePolicy.Fixed,0,0,self.sizePolicy().hasHeightForWidth()))
        self.setMinimumSize(QSize(310,90))


        self.textLabel2 = QLabel(self,"textLabel2")
        self.textLabel2.setGeometry(QRect(10,10,77,20))

        self.labelMP3 = QLabel(self,"labelMP3")
        self.labelMP3.setGeometry(QRect(90,10,210,20))
        labelMP3_font = QFont(self.labelMP3.font())
        labelMP3_font.setBold(1)
        self.labelMP3.setFont(labelMP3_font)

        self.labelProgress = QLabel(self,"labelProgress")
        self.labelProgress.setGeometry(QRect(140,60,161,20))
        self.labelProgress.setPaletteForegroundColor(QColor(103,103,103))
        self.labelProgress.setAlignment(QLabel.AlignVCenter | QLabel.AlignRight)
        self.btnCancel = QPushButton(self,"btnCancel")
        self.btnCancel.setEnabled(0)
        self.btnCancel.setGeometry(QRect(10,60,81,21))

        self.progressBar = QProgressBar(self,"progressBar")
        self.progressBar.setGeometry(QRect(10,30,291,23))

        self.languageChange()

        self.resize(QSize(310,90).expandedTo(self.minimumSizeHint()))
        self.clearWState(Qt.WState_Polished)


    def languageChange(self):
        self.setCaption(self.__tr("Normalize MP3 files"))
        self.textLabel2.setText(self.__tr("Normalizing:"))
        self.labelMP3.setText(self.__tr("mp3file.mp3"))
        self.labelProgress.setText(self.__tr("processing file 1 of 1"))
        self.btnCancel.setText(self.__tr("C&ancel"))
        self.btnCancel.setAccel(self.__tr("Alt+A"))


    def Cancel(self):
        print "frmMain.Cancel(): Not implemented yet"

    def __tr(self,s,c = None):
        return qApp.translate("frmMain",s,c)
gedit ~/mp3gain-gui/frmend.py
dit in lege tekstbestand plakken:
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'frmend.ui'
#
# Created: zo sep 10 17:12:07 2006
#      by: The PyQt User Interface Compiler (pyuic) 3.15.1
#
# WARNING! All changes made in this file will be lost!


from qt import *


class frmEnd(QDialog):
    def __init__(self,parent = None,name = None,modal = 0,fl = 0):
        QDialog.__init__(self,parent,name,modal,fl)

        if not name:
            self.setName("frmEnd")

        self.setModal(1)


        self.textLabel4 = QLabel(self,"textLabel4")
        self.textLabel4.setGeometry(QRect(0,0,111,21))
        textLabel4_font = QFont(self.textLabel4.font())
        textLabel4_font.setBold(1)
        textLabel4_font.setItalic(1)
        self.textLabel4.setFont(textLabel4_font)

        self.btnOk = QPushButton(self,"btnOk")
        self.btnOk.setGeometry(QRect(250,230,61,21))

        self.txtResult = QTextEdit(self,"txtResult")
        self.txtResult.setEnabled(1)
        self.txtResult.setGeometry(QRect(0,21,321,200))
        self.txtResult.setAutoFormatting(QTextEdit.AutoAll)

        self.languageChange()

        self.resize(QSize(322,258).expandedTo(self.minimumSizeHint()))
        self.clearWState(Qt.WState_Polished)


    def languageChange(self):
        self.setCaption(self.__tr("Results"))
        self.textLabel4.setText(self.__tr("Results:"))
        self.btnOk.setText(self.__tr("&Close"))
        self.btnOk.setAccel(self.__tr("Alt+C"))


    def __tr(self,s,c = None):
        return qApp.translate("frmEnd",s,c)
Hoe gebruiken?

* met nautilus

typ in de terminal: nautilus ~/.gnome2/nautilus-scripts/
Rechtermuisknop op een lege plek in nautilus (file browser) en kies voor "Document aanmaken" -> "Nieuw bestand"

Op het nieuwe bestand klik je dan nogmaals met de rechtermuisknop en je opent het bestand in een tekstbewerker/teksteditor zoals gedit

dit in lege tekstbestand plakken:
#!/bin/bash

# simple mp3gain nautilus script
# for normalizing mp3 files
#
#    written by Wesley S. (profox@ubuntu-nl.org)
#
# released under GPLv2
# feel free to use in any way
#
# Requires: mp3gain, mp3gain-gui (python, qt)

~/mp3gain-gui/mp3gain-gui "$@"
Opslaan onder de naam "MP3Normalizer"

En je kan vanaf nu rechterklikken op 1 of meerdere mp3 bestanden en kiezen voor: Scripts -> MP3Normalizer (niet-mp3 files worden automatisch genegeerd)

Nu nog de scripts uitvoerbaar maken:

Rechtermuisknop op de bestanden mp3gain-gui en MP3Normalizer -> eigenschappen -> rechten -> overal een vinkje zetten bij uitvoeren

heb je dat gedaan?

Dat was ik vergeten erbij te zetten -- nu aangepast :)

------------
dit laatste kan ook via terminal, maar terminal is ouderwets ;) :P
chmod +x ~/.gnome2/nautilus-scripts/MP3Normalizer ~/mp3gain-gui/mp3gain-gui

Ik hoop dat jullie er wat aan hebben... Het is vrij basic en het is geschreven in Python/Qt -- dit is trouwens de allereerste keer dat ik iets in Qt probeer. Veel mensen zullen liever een Gtk versie hebben gezien, maar persoonlijk vind ik Qt veel beter om in te programmeren... Als ik zin heb maak ik ook wel een Gtk versie. Er is niet zo erg veel specifieke Qt code.

Edit: Eerst natuurlijk die map aanmaken :) thx bartek, was het vergeten in de "howto" te zetten
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)