Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Αγαπητοί φίλοι,

Πάνε ήδη αρκετά χρόνια απ’ τη στιγμή της αποφοίτησής μου από το πανεπιστήμιο και μη έχοντας εργαστεί από τότε σε αμιγώς  προγραμματιστικά projects, είχα αρκετό καιρό να γράψω κώδικα. Αποφάσισα λοιπόν να ξαναθυμηθώ λίγο τη Java κι έφτιαξα ένα απλό πρόγραμμα που θα ήθελα να το μοιραστώ μαζί σας. Για να προλάβω την κριτική που φυσικά θα γίνει, τονίζω από τώρα ότι δεν έχει κάποια ιδιαίτερη χρησιμότητα κι έχει δημιουργηθεί αποκλειστικά για ψυχαγωγικούς και πειραματικούς σκοπούς.
 Το πρόγραμμα ονομάζεται Reverse Music Player και κάνει αυτό ακριβώς που δηλώνει το όνομά του. Παίζει μουσική ανάποδα! Εμφανίζει μια απλή φόρμα στην οποία υπάρχουν επιλογές φόρτωσης, αναπαραγωγής κι εξαγωγής ενός ηχητικού δείγματος. Δηλαδή μπορείτε να φορτώσετε ένα αρχείο ήχου και να το ακούσετε με ανάστροφη φορά ή να δημιουργήσετε ένα νέο αρχείο το οποίο θα περιλαμβάνει τον ανάστροφο ήχο.
 Το πρόβλημά του είναι ότι προς το παρόν υποστηρίζει μόνο ασυμπίεστα αρχεία ήχου (WAV), ενώ ήδη έχω αρχίσει και ψάχνω τι πρέπει να κάνω για να του προσθέσω υποστήριξη για τα γνωστά συμπιεσμένα αρχεία MP3. Βλέπετε, η μορφή MP3 είναι πατενταρισμένη και οι δημιουργοί της Java δεν μπορούσαν να την υποστηρίξουν εγγενώς.
Για το πρόγραμμα αυτό τροποποίησα και χρησιμοποίησα κάποιες ρουτίνες απ’ τη βιβλιοθήκη std-audio  που έχει δημοσιευθεί στο βιβλίο με τίτλο Algorithms 4th Edition.  
 Μέσα στο συμπιεσμένο αρχείο που επισυνάπτεται σ’ αυτό το μήνυμα θα βρείτε το πρόγραμμα μαζί με όλο τον πηγαίο κώδικά του κι ένα κατάλληλο για την περίσταση γραφικό που σχεδίασα με το GIMP.
Το βασικό εκτελέσιμο αρχείο είναι το Rmp.jar και για να τρέξει απαιτεί φυσικά να έχει εγκατασταθεί από πριν η Java. Άμα ο υπολογιστής σας έχει ήδη την Java, τότε θα το τρέξει μ' ένα διπλό click
 Απ' τη γραμμή εντολών, εκτελείται και ως εξής :

java -jar Rmp.jar

Χρησιμοποίησα την Java SE (έκδοση 8) αλλά σίγουρα είναι συμβατό και με πολλές παλαιότερες εκδόσεις, μιας και προσπάθησα ν' αποφύγω να χρησιμοποιήσω τα χαρακτηρηστικά εκείνα που υπάρχουν αποκλειστικά στην έκδιση 8, όπως είναι οι εκφράσεις λάμδα.
 Θα ήθελα όσοι θέλετε, ακόμα κι αν δεν ασχολείστε με τον προγραμματισμό να το τρέξετε και να μου πείτε τις εντυπώσεις σας.
Επίσης θα ήθελα άμα κάποιος τυχόν διαθέτει κανένα εμπορικό εργαλείο ανάπτυξης για τη Java -όπως είναι το Jbuilder της Borland- να προσπαθήσει να μετατρέψει το Rmp.jar σε εγγενές εκτελέσιμο για τα Windows (.EXE).  Προσωπικά δυστυχώς αυτό δεν μπορώ να το κάνω γιατί δεν έχω στον υπολογιστή Windows.
Τέλος, θα ενδιαφερόμουν να μάθω τι είδους αλλαγές μπορούν να γίνουν στη ρουτίνα stdAudio.read() (η οποία τοποθετεί ένα ηχητικό δείγμα σε μονοδιάστατο πίνακα), ώστε να μπορεί να επεξεργαστεί αρχεία MP3.
Ήδη γνωρίζω ότι υπάρχει διαθέσιμο plugin από τη Sun ώστε να υποστηρίζονται τα MP3, όμως δεν ξέρω πώς θα μπορούσε να τροποποιηθεί η ρουτίνα stdAudio.read() ώστε να συνεργαστεί με το plugin.

Ησαορκα ηδοπανα σας ηλακ ιακ ωτσιραχυε
(Ευχαριστώ και καλή σας ανάποδη ακρόαση,)

Χαιρετισμούς,

Ο Άσπρος Γάτος

Reverse_Music_Player.ZIP

  • Like 2
Δημοσ.

Το θεωρώ ανούσιο και άχρηστο.

 

Για κάποιον που ασχολείται με τη μουσική και παίζει κάποιο όργανο,

το ενδιαφέρον είναι να μπορεί να εισάγει τις νότες μιας παρτιτούρας και να τις ακούει από το τέλος προς την αρχή.

Ή να αντιστρέφει τις νότες "καθρεπτικά". Ήτοι, σε ένα MIDI οι νότες εκτείνονται από 0 έως 127.

Να αντιστρέφονται ως valNew=127-valOld.

Ή να μεταθέτει την τονική κλίμακα κατά ημιτόνιο.

Τα παραπάνω να μπορούν να γίνουν και συνδυασμένα.

 

Όλα αυτά μπορούν να αναδείξουν αρμονικά και αντιστικτικά στοιχεία που δεν φαίνονται στην αρχική σύνθεση

και που μπορούν να αποτελέσουν πυρήνες έμπνευσης και ιδέες νέων συνθέσεων.

 

Η ανάποδη μουσική ανάγνωση μιας κυματομορφής, για μένα δεν έχει καμιά χρήσιμη αισθητική.

Χώρια που αυτό το κάνει to audacity με ένα απλό κλικ...

 

-

  • Like 1
Δημοσ.

Καλησπέρα !

Κατ' αρχήν ευχαριστώ για την απάντηση... Φυσικά και δεν διεκδικώ κανένα δίπλωμα ευρεσιτεχνίας, φυσικά και υπάρχει λογισμικό όπως το Audacity.
Απλά άμα καταφέρει κάποιος και τοποθετήσει ένα ηχητικό δείγμα σε μονοδιάστατο πίνακα, υπάρχουν δεκάδες διαφορετικά εφέ που μπορεί να δημιουργήσει, κάνοντας απλές πράξεις πάνω στα bytes αυτού του πίνακα.
Εχουν γραφεί και βιβλία πάνω στο θέμα αυτό και με βάση κάτι τέτοιους αλγορίθμους γραφτήκανε και προγράμματα σαν το Audacity.
Προσωπικά, ξεκίνησα να ψάχνω αυτό το θέμα απλά επειδή μου τραβάει εδώ και καιρό το ενδιαφέρον. Ήδη έχω καταφέρει να κάνω αυτή τη δουλειά με ασυμπίεστα αρχεία WAV. Ψάχνω όπως είπαμε και πώς γίνεται με τα MP3. Άμα κανείς έχει καταφέρει κάτι τέτοιο, ας βοηθήσει. Επίσης, ακόμα κι αν δεν έχει όρεξη ν' ασχοληθεί, ας κατεβάσει το πρόγραμμα για πλάκα :-)
Πολλές γνώσεις μουσικής δεν έχω, γι' αυτό και δεν σκέφτηκα τα αρχεία midi. Πάντως σ' ευχαριστώ γιατί είναι τροφή για σκέψη για το μέλλον.

Να είσαι καλά,

Ο Άσπρος Γάτος

Δημοσ.

Μου αρέσει αυτός ο προγραμματισμός. Να μπορείς να διαχειρίζεσαι αρχεία ήχου, εικόνας κ.α.

Θα το δω κάποια στιγμή!

(δεν έχει σημασία πόσο χρήσιμο είναι,  αλλά ότι μπορεί να κάνει αυτό το πράγμα...)

(Στη Μ2000 έχω βάλει να παίζει ήχο από αρχείο, αλλά όχι φορτωμένο. Παίζει όμως νότες!)

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...