THMMY.gr

Ηλεκτρονικοί Υπολογιστές και Τεχνικά Θέματα => Matlab, Mathematica, Octave, EngLab κλπ => Topic started by: Tsihiro on March 31, 2007, 23:29:55 pm



Title: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Tsihiro on March 31, 2007, 23:29:55 pm
έχω κατεβάσει το αρχείο  lame3.98a11-N, δηλαδή το 2ο στην σειρά από αυτήν την διέυθυνση   http://www.rarewares.org/mp3.html ,είναι.exe

το έχω ξεζιπάρει ήδη και προσπαθώ να το τρέξω μέσω ματλαμπ. :'(Το αρχείο είναι precompiled έκδοση του lame και χρειάζεται να το τρέξω μέσω

ματλαμπ για μια εργασία. :'( :-\

Ανέτρεξα στην βοήθεια του ματλαμπ, η οποία προτεινε να αλλάξω current directory με την εντολή  cd,να βάλω δηλαδή το path που βρίσκεται το αρχείο και μετά να γράψω το όνομα του αρχείου δηλαδή lame 8).Οκ μέχρι εδώ.Έλα όμως που δεν αναγνωρίζει το  lame  και μου βγάζει

Undefined function or variable 'lame'.

μήπως ξέρετε τι πρέπει να κάνω? :( :( :-\ :-\


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Wanderer on April 01, 2007, 00:41:54 am
έγραψες το όνομα του αρχείου μαζί με την κατάληξη; Δηλαδή lame.exe;

Δεν ξέρω αν έτσι λειτουργεί, αλλά δεν αποκλείεται κιόλας...


Title: deleted
Post by: BOBoMASTORAS on April 01, 2007, 00:42:54 am
deleted


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Tsihiro on April 01, 2007, 01:07:03 am
σε αυτό το 2ο αρχείο που κατεβασα υπάρχει μόνο ένα .exe.Το δοκίμασα και με .exe και χωρίς το όνομα αλλά τίποτα..

είχα βρει και άλλες εκδόσεις με .dll  και πολλά αρχεία αλλά θεώρησα ότι έπρεπε να προσπαθήσω πρώτα με την .exe έκδοση.

το path που έδωσα είναι η διευθυνση του φακέλου που περιέχει το αρχείο .exe


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Wanderer on April 01, 2007, 01:12:00 am
Κάποιες φορές όταν δίνεις path που εμπεριέχει ελληνικούς χαρακτήρες προκαλούνται προβληματάκια (δεν ξέρω αν ισχύει σε πολλά, πάντως σε ένα πρόγραμμα μου είχε τύχει).

Μήπως το path που δίνεις περιέχει ελληνικούς χαρακτήρες;


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Tsihiro on April 01, 2007, 01:25:07 am
μπα...είχα κάτι ερωτηματικά,τα εσβησα από το παθ αλλα και παλι τίποτα...Κανονικά με τις εντολές που χρησιμοποίησα δεν θα έπρεπε να μου τρέχει?

ευχαριστώ για το ενδιαφέρον  :)


Title: deleted
Post by: BOBoMASTORAS on April 01, 2007, 01:27:55 am
deleted


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Wanderer on April 01, 2007, 01:36:18 am
Αυτό μήπως σε βοηθάει;

If you use a relative path to start a deployed application from a directory that is not your working directory, it may fail. For example, if you execute your application using

..\myProgram.exe
you may see the error

Cannot find the directory containing the 'myProgram' component,
which is required by this application. Make sure the directory
containing 'myProgram.ctf' is on your dynamic load library path
(PATH on Windows, or LD_LIBRARY_PATH on Linux, for example), or
your application search path (PATH on both Windows and Linux).
Error initializing CTF Archive.
Using a relative path is not supported directly. When you start a program from a directory using a relative path, your actual working directory is not the directory of the . The working directory must be the same as the for the CTF file to be found or else the directory containing your CTF file must be on your system path. Therefore, you must start your application from its directory or else modify your system path.

Μπορεί να είναι και άσχετο με αυτό που θες βέβαια, αλλά είναι το μόνο που βρήκα για .exe αρχεία στο matlab :P


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: fugiFOX on April 01, 2007, 01:47:24 am
έχω κατεβάσει το αρχείο  lame3.98a11-N, δηλαδή το 2ο στην σειρά από αυτήν την διέυθυνση   http://www.rarewares.org/mp3.html ,είναι.exe

το έχω ξεζιπάρει ήδη και προσπαθώ να το τρέξω μέσω ματλαμπ. :'(Το αρχείο είναι precompiled έκδοση του lame και χρειάζεται να το τρέξω μέσω

ματλαμπ για μια εργασία. :'( :-\

Ανέτρεξα στην βοήθεια του ματλαμπ, η οποία προτεινε να αλλάξω current directory με την εντολή  cd,να βάλω δηλαδή το path που βρίσκεται το αρχείο και μετά να γράψω το όνομα του αρχείου δηλαδή lame 8).Οκ μέχρι εδώ.Έλα όμως που δεν αναγνωρίζει το  lame  και μου βγάζει

Undefined function or variable 'lame'.

μήπως ξέρετε τι πρέπει να κάνω? :( :( :-\ :-\
Αρχικά βάλε το αρχείο μέσα στο "work" directory του matlab,
ώστε να μην χρειάζονται relative kai absolute paths.
Εάν συνεχίζει να μην τρέχει τουλάχιστον ξέρουμε ότι έχουμε
αποκλείσει το λάθος να οφείλεται στα paths,
και θα ψάξουμε για τα υπόλοιπα


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Tsihiro on April 01, 2007, 02:01:29 am
οκ,βαλα τα πάντα μέσα στο work του matlab και  κατέβασα έκδοση με dll και προσπάθησα να  τρέξω αλλά με το .exe τίποτα.
Με το .dll είδα στην βοήθεια κάτι για mex function αλλά τα ορίσματα εισόδου δεν τα κατάλαβα :-\..

Mex file entry point is missing.  Please check the (case-sensitive)
spelling of mexFunction (for C MEX-files), or the (case-insensitive)
spelling of MEXFUNCTION (for FORTRAN MEX-files).
??? Invalid MEX-file 'C:\Program Files\MATLAB704\work\lame_enc.dll': The specified module could not be found.


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: fugiFOX on April 01, 2007, 02:02:43 am
τι ακριβώς θες να κάνεις;
έχω την εντύπωση πάντως ότι το ματλαβ δεν συνεργάζεται με ΕΧΕ αρχεία


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Tsihiro on April 01, 2007, 02:08:14 am
θελω να χρησιμοποιησω μια precompiled εκδοση του lame και να την καλέσω μέσω ματλαμπ (command line call) για να μετατρέψω .mp3 σε .wav.

thank you :)


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Netgull on April 01, 2007, 03:14:31 am
Αυτό σου κάνει;

http://www.dsprelated.com/groups/matlab/show/2948.php (http://www.dsprelated.com/groups/matlab/show/2948.php)


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: anonymous-root on April 01, 2007, 13:07:35 pm
.mp3 σε .wav.


Το λαμε μετατρέπει από wave σε mp3. ;)


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: fugiFOX on April 01, 2007, 13:10:06 pm
θελω να χρησιμοποιησω μια precompiled εκδοση του lame και να την καλέσω μέσω ματλαμπ (command line call) για να μετατρέψω .mp3 σε .wav.

thank you :)


To matlab τι το χρειάζεσαι;
Η μετατροπή από mp3-wav γίνεται με 1002 προγράμματα.
Ο σκοπός της εργασίας σου ποιος είναι; Να καλέσεις το lame ή το να κάνεις τη μετατροπή;


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Wanderer on April 01, 2007, 13:11:03 pm
Για αυτό υπάρχουν πολλά προγράμματα (και δωρεάν) που μπορούν να στο κάνουν, δεν χρειάζεται να μπλεχτείς με το matlab.

edit: Με πρόλαβε ο fugiFOX :P


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Zarathoustra on April 01, 2007, 13:19:15 pm
http://www.mathworks.com/access/helpdesk/help/techdoc/ref/system.html (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/system.html)


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Tsihiro on April 01, 2007, 22:27:41 pm
θελω να χρησιμοποιησω μια precompiled εκδοση του lame και να την καλέσω μέσω ματλαμπ (command line call) για να μετατρέψω .mp3 σε .wav.

thank you :)


To matlab τι το χρειάζεσαι;
Η μετατροπή από mp3-wav γίνεται με 1002 προγράμματα.
Ο σκοπός της εργασίας σου ποιος είναι; Να καλέσεις το lame ή το να κάνεις τη μετατροπή;

O πρώτος στόχος της εργασίας είναι και τα 2! Να καλέσω από το ματλαμπ το προγραμμα και να κανω την μετατροπή!

,
.mp3 σε .wav.


Το λαμε μετατρέπει από wave σε mp3. ;)


Α ναι,κι εγώ αυτό κατάλαβα από ότι διάβασα μέχρι στιγμής αλλά φαντάζομαι ότι αφού γίνεται το ένα θα γίνεται και το ανάστροφο,δηλαδή από mp3 σε wav.


 :) :) 8)thank you!


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: anonymous-root on April 01, 2007, 22:28:50 pm
όχι, είναι one way μετατροπή.

Αυτό που θέλεις να κάνεις (από mp3 se wav) πρέπει να το κάνεις με ματλαμπ;


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Tsihiro on April 01, 2007, 22:51:41 pm
Ναι,συγκεκριμένα απο mp3 σε tmp.wav. Δεν ξέρω γιατί, αλλά πρέπει να καλέσω το πρόγραμμα από ματλαμπ.


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Tsihiro on April 01, 2007, 23:17:26 pm
 
http://www.mathworks.com/access/helpdesk/help/techdoc/ref/system.html (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/system.html)


::) δοκίμασα το site που προτείνει ο Zarathoustra  με διάφορες παραλλαγες στην παρακάτω εντολή αλλά τα αποτελέσματα ήταν αυτά: :o :o

>> [status, klap.wav]=system('lame_enc.dll(ArethaFranklinRespect.mp3)')

status =

     0


klap =

    wav: ''

πολύ περίεργα μου φάνηκαν και σημειωνω ότι όταν εβαλα την εντολή μου εμφανίστηκε παράθυρο αναζήτησης κατάλληλου προγράμματος στο ιντερνετ,πάτησα ναι και το πρόγραμμα υποτίθεται εκτελέστηκε επιτυχώς (αφού status = 0 σημαίνει επιτυχής εκτέλεση)


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Tsihiro on April 01, 2007, 23:43:52 pm
>> [status, klap]=system('lame.exe')

status =

     1


klap =

LAME 32bits version 3.98 (alpha 11, Jan 14 2007 15:24:14)
                                                        (http://www.mp3dev.org/)

warning: alpha versions should be used for testing only

usage: lame.exe [options] <infile> [outfile]

    <infile> and/or <outfile> can be "-", which means stdin/stdout.

Try:
     "lame.exe --help"           for general usage information
 or:
     "lame.exe --preset help"    for information on suggested predefined settings
 or:
     "lame.exe --longhelp"
  or "lame.exe -?"              for a complete options list

τα δοκίμασα όλα φυσικά αλλά κανένα δεν πετυχε.. :'( :'( :'( :'(

και το ίδιο μου βγαίνει και με την εντολή dos('lame.exe')


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Zarathoustra on April 02, 2007, 00:19:59 am
Μα από ότι βλέπω πέτυχε,δηλαδή το matlab εκτέλεσε το πρόγραμμα lame.exe.

Για πραγματοποιηθεί το ποθούμενο πρέπει δώσεις στο lame τις κατάλληλες παραμέτρους,δηλαδή όνομα αρχείου εισόδου(mp3) και όνομα αρχείου εξόδου(wav), δηλαδή κάτι σαν:

 [status,klap]=system('lame.exe dog.mp3 dog.wav')

Φυσικά δίνοντας επιπλέον παραμέτρους μπορείς να ελέγξεις ακριβώς την συμπεριφορά του lame,δηλαδή να καθορίσεις την ποιότητα,την συμπίεση,κ.λ.π

Αν θέλεις να εισαχθεί το .wav στην μεταβλητή klap του matlab θέσε ως αρχείο εξόδου την standard output(-)

Λεπτομέρειες για την σύνταξη την χρήση του lame.exe εδω:
http://www.multimediasoft.com/asrecnet/help/asrecnet_000041.htm (http://www.multimediasoft.com/asrecnet/help/asrecnet_000041.htm)


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Tsihiro on April 02, 2007, 01:31:23 am
λοιπόν η πρώτη φάση (δηλαδή η μετατροπή)  έδωσε ένα αρχείο το οποίο είναι το .wav του αρχικού .mp3,έτσι τουλαχιστον φαίνεται (χρησιμοπoιήσα την εντολή dos)  και τωρα προσπαθώ να ανοίξω το αρχείο με wavfinfo και wavread, αλλά μου λέει ότι δεν είναι .wav το αρχείο μου.. :( :???: :(


Περίεργο γιατί όταν πατάω dir στο command box μου αναγνωρίζει το συγκεκριμένο αρχείο που θέλω να ανοίξω ως .wav! :( :( :(


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Zarathoustra on April 02, 2007, 04:02:55 am
Η αποκωδικοποίηση μπορεί να γίνει με το πρόγραμμα mpg123.exe.Υπάρχει κάπου εδώ:
http://ftp.iasi.rdsnet.ro/people/altblue/win32/utils/ (http://ftp.iasi.rdsnet.ro/people/altblue/win32/utils/)
και είναι μεταφορά από unix σε windows ενός πολύ γνωστού βοηθητικού προγράμματος.

Η σύνταξη του έχει ώς εξής:

mpg123.exe inputfile.mp3 --wav outputfile.wav


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Tsihiro on April 02, 2007, 22:22:05 pm
Εξέθεσα τις απορίες μου στον διδάκτορα και επιμένει στο λαμε:
Φυσικά δοκίμασα το 'lame --longhelp' όπως μου είπε αλλά το ματλαμπ... :'( :'( :'( :-\???

Undefined variable "lame" or class "lame.exe".



If you enter 'lame --longhelp' on your command line, after successfully extracting, a for your os precompiled, lame version somewhere and setting the path environment variable properly, you will get a list of all possible lame flags. Reading it carefully you will find the option '--decode' which makes lame taking a mp3 as input and properly decoding it to a wav representation. (lame version used 3.97)

The so produced file should be readable by Matlab.  


κοντέυω να σκάσω :-[ :( :(


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: fugiFOX on April 03, 2007, 00:27:30 am
ζήτα κάποια επιπλέον βοήθεια από αυτόν.
Λογικά αυτός θα ξέρει πως τρέχει για να το ζητάει,
άρα μπορει να σου δώσει κάποια τιπς καλύτερα από εμάς


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Sanctifier on April 03, 2007, 01:04:42 am

Δες την εντολη dos του matlab να τελιωνουμε με το lame και το κλαμε διοτι με εχω κουραστει πια. :-X


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Zarathoustra on April 03, 2007, 07:58:56 am
[status,klap]=system('lame.exe dog.mp3 dog.wav --decode')

Εναλλακτικά μπορείς να χρησιμοποιήσεις και την εντολή dos ή τον τελεστή θαυμαστικό(!).

Για δες που τελικά το lame κάνει και αποκωδικοποίηση.
(όχι σε όλες τις εκδόσεις όμως!)

Aν θες να δεiς όλες τις επιλογές του lame,άνοιξε ένα παράθυρο command prompt, πήγαινε στον κατάλογο που περιέχει το lame και γράψε lame --longhelp.
Η μέσα από το matlab:
!lame --longhelp
ή
system('lame --longhelp')
ή
dos('lame --longhelp')


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Tsihiro on April 03, 2007, 23:36:38 pm
Αυτό έκανα και προχωρησε επιτέλους...Μετά απο κατέβασμα πολλών λαμε εκδόσεων,και προσπαθεια πολλών ετολών με καθεμία από αυτές,εφτιαξα .wav!!!!

thank you all! :)


Title: Re: Matlab - Πως εκτελούμε .exe αρχεία? :o
Post by: Tsihiro on April 04, 2007, 15:51:47 pm
To script μου το επισυνάπτω.Είναι πολύ πρόχειρο,αλλά οι βασικές εντολές φαίνονται. :)

Προκύπτει πίνακας y με 2 στήλες και τύπο double (=4bytes??) :(
 
παρακάτω ζητάει το .wav που δημιουργήθηκε να:

Resampling with  Sample Rate  22kHz  and 16bit Wordlength pro Channel

To lame δεν έχει καθόλου options για decoding (.mp3->.wav) αφού χρησιμοποιείται κυριως για την αντίθετη διαδικασία.. :-\ :'( Μπορούμε να κάνουμε resampling σε .wav μέσω του MATLAB?

σκεφτόμουν για chebyshev butterworth filters..εσείς τι λέτε? :-\ :-\ :-\



Title: deleted
Post by: BOBoMASTORAS on April 14, 2007, 01:22:29 am
deleted