Χρήσιμα Linux Audio εργαλεία

  • Αγαπητοί φίλοι και φίλες.

    Με ιδιαίτερη χαρά σας προσκαλούμε στην κοπή της πρωτοχρονιάτικης πίτας του AVClub στη Θεσσαλονίκη για το 2024 την Κυριακή 07 Απριλίου και ώρα 14.00

    Δηλώστε τη συμμετοχή σας εδώ, θα χαρούμε πολύ να σας γνωρίσουμε από κοντά.

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Παρότι έχω μια υποψία ότι είμαι το μοναδικό μέλος του δικάναλού μας που χρησιμοποιεί Linux ως βασικό λειτουργικό σύστημα, δεν πτοούμαι και ξεκινώ αυτό το νήμα με σκοπό να παρουσιάσω κάποια προγράμματα/εργαλεία τα οποία χρησιμοποιώ στην καθημερινότητα μου και σχετίζονται με το Computer audio.


Ξεκινώ με το DR14 T.meter:

http://dr14tmeter.sourceforge.net/index.php/Main_Page

Όπως λέει και το όνομά του, πρόκειται για ένα command line εργαλείο το οποίο αναλύει τα αρχεία μας και βγάζει ένα report που αφορά στο δυναμικό εύρος.

Στο σενάριό που θα αναλύσω, αγόρασα το Album Vultures των 1000mods από το Bandcamp και ενδιαφέρομαι να μάθω για το δυναμικό εύρος των επιμέρους αρχείων Flac. Το directory που έχει τα flac του δίσκου λέγεται albumdir1 και βρίσκεται μέσα στο music. Η εντολή που θα δώσω είναι η παρακάτω:


Code:
dr14_tmeter music/albumdir1


Μετά από μερικά δευτερόλεπτα, θα εντός του albumdir1, θα βρίσκεται ένα txt αρχείο με όνομα dr14.txt. Tο περιεχόμενό του είναι το παρακάτω:

Code:
----------------------------------------------------------------------------------------------    
 Analyzed: Vultures /  Artist: 1000mods
----------------------------------------------------------------------------------------------    
DR    Peak    RMS    Duration    Title [codec]    
----------------------------------------------------------------------------------------------    
 DR6     -0.16 dB     -6.83 dB    5:28    01 - Claws      [flac]    
 DR6     -0.13 dB     -6.58 dB    3:46    02 - Big Beautiful      [flac]    
 DR6     -0.21 dB     -8.06 dB    6:20    03 - She      [flac]    
 DR7     -0.23 dB     -9.85 dB    3:24    04 - Horses' Green      [flac]    
 DR7     -0.23 dB     -8.22 dB    4:19    05 - Low      [flac]    
 DR6     -0.22 dB     -8.33 dB    5:03    06 - Vultures      [flac]    
 DR6     -0.18 dB     -7.57 dB    2:54    07 - Modesty      [flac]    
 DR7     -0.19 dB     -9.03 dB    6:42    08 - Reverb Of The New World      [flac]    
----------------------------------------------------------------------------------------------    
 Number of files:    8
 Official DR value:  DR6
    
 Sampling rate:                  44100 Hz
 Average bitrate:          894kbs 
 Bits per sample:          16 bit
    
Dr14 T.meter 1.0.16 
==============================================================================================


Στη δική μου περίπτωση, αφού το δοκίμασα και μου άρεσε, ήθελα να δημιουργήσω ένα τέτοιο report για κάθε album που έχω στη library μου (εντός του directory music δηλαδή). Αυτό που έκανα ήταν:



Code:
dr14_tmeter -r music


Αφού πέρασε αρκετή ώρα, κάθε album εντός της βιβλιοθήκης μου απέκτησε το δικό του dr14.txt.
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Ένα άλλο πολύ χρήσιμο εργαλείο είναι το spek:

http://spek.cc/

Το συγκεκριμένο πρόγραμμα είναι ένα πάναπλο spectrum analyzer το οποιο μάλιστα παίζει και σε windows/Mac OS.

Συνεχίζοντας το ίδιο σενάριο, με ενδιαφέρει λοιπόν να δω αν τα συγκεκριμένα flac που αγόρασα από το bandcamp είναι όντως 16/44.1. Δεν έχω παρά να τρέξω το scrot (είναι gui πρόγραμμα) και να φορτώσω το flac που επιθυμώ. Στην περίπτωσή μου φόρτωσα το πρώτο track. Το αποτέλεσμα ήταν αυτό:

 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Ένας γρήγορος τρόπος για να τσεκάρουμε αν τα flac μας είναι corrupted κλπ, είναι με τη χρήση της εντολής flac.
Έτσι πχ αν θέλουμε να ελέγξουμε αν τα flac των 1000mods έχουν κάποιο corruption, μπορούμε να μπούμε στο path του album και να δώσουμε την παρακάτω εντολή:

Code:
flac -t *.flac

Τρέχοντας το παραπάνω για τα αρχεία του παραδείγματος, το output ήταν το παρακάτω:

Code:
flac 1.3.1, Copyright (C) 2000-2009  Josh Coalson, 2011-2014  Xiph.Org Foundation
flac comes with ABSOLUTELY NO WARRANTY.  This is free software, and you are
welcome to redistribute it under certain conditions.  Type `flac' for details.

1000mods - Vultures - 01 Claws.flac: ok                    
1000mods - Vultures - 02 Big Beatiful.flac: ok                    
1000mods - Vultures - 03 She.flac: ok                    
1000mods - Vultures - 04 Horses' Green.flac: ok                    
1000mods - Vultures - 05 Low.flac: ok                    
1000mods - Vultures - 06 Vultures.flac: ok                    
1000mods - Vultures - 07 Modesty.flac: ok                    
1000mods - Vultures - 08 Reverb of the New World.flac: ok


Έστω τώρα ότι θέλουμε να ελέγξουμε όλη τη μουσική μας βιβλιοθήκη. Αντί να το κάνουμε χειροκίνητα, μπορούμε να χρησιμοποιήσουμε ένα πολύ απλό script:

Code:
#!/bin/bash
cd /home/blabla/music
if [[ -f flac-errors.txt ]]; then
  rm flac-errors.txt;
fi
touch flac-errors.txt

shopt -s globstar
for file in ./**/*.flac; do     
  flac -wst "$file" 2>/dev/null || printf '%3d %s\n' "$?" "$file" >> flac-errors.txt; 
done


Το παραπάνω script το σώζουμε με την ονομασία πχ flactest και το κάνουμε εκτελέσιμο:

Code:
chmod +x flactest


Τρέχοντας λοιπόν αυτή τη νέα εντολή, θα δημιουργηθεί ένα αρχείο με όνομα flac-errors.txt, το οποίο θα βρίσκεται στο path:

Code:
/home/blabla/music/flac-errors.txt

Σε αυτό το αρχείο θα εμπεριέχονται όλα τα πιθανά errors και warnings μετά το σκανάρισμα όλης της βιβλιοθήκης (/home/blabla/music) που ορίσαμε στο script.

 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Έχοντας κάνει τους βασικούς ελέγχους στα νεοαποκτηθέντα αρχεία, έχει έρθει η ώρα για το tagging.

Μια που η συγκεκριμένη διαδικασία με έχει απασχολήσει πολύ, έχω καταλήξει μετά από άπειρες δοκιμές στη χρήση του easytag:

https://wiki.gnome.org/Apps/EasyTAG


Η διαδικασία είναι πολύ απλή. Ανοίγουμε το πρόγραμμα και διαλέγουμε το directory με το νέο αλμπουμ από το tree αριστερά.

Στη συνέχεια περιποιούμαστε τους τίλους κλπ στα παρακάτω πεδία:

https://postimage.org/


Kάτι που αξίζει να σημειωθεί, είναι ότι για tags όπως το year, genre κλπ, τα οποία συνήθως είναι ίδια για όλα τα κομμάτια, αρκεί να επιλέξουμε όλα τα files, να ορίσουμε την τιμή του tag και με το πάτημα ενός κουμπιού (δίπλα από το εκάστοτε tag) να κάνουμε apply μαζικά.


Εδώ να σημειώσω ότι εμένα μου αρέσει να κρατάω αρχείο με τον κωδικό κυκλοφορίας ενός cd που ρίπαρα, ή έστω με μια ένδειξη για την κυκλοφορία. Την πληροφορία αυτή τη βάζω στο tag "Comment". Στην περίπτωσή μας αγόρασα τα αρχεία από το bandcamp και έτσι αυτό που κάνω πάντοτε για αγορές από εκεί είναι να αναγράφω τη λέξη "bandcamp" στο πεδίο του tag comment.


Τέλος, αυτό που μένει είναι να δώσουμε το σωστό όνομα στο directory του καινούριου Album.

O καθένας έχει τη δική του προτίμηση. Εμένα μου αρέσει ως εξής:

Artist - Album (year) [FLAC] {release details}

Το easytag δίνει μια πολύ ωραία λειτουργία για autorename. Αρκεί να πατήσουμε δεξί κλικ στο directory αριστερά,
να επιλέξουμε "Rename Directory" και να κάνουμε χρήση κάπου mask (το οποίο θα διαβάσει την πληροφορία από τα tags). Για τη δική μου περίπτωση αρκεί το:

Code:
%a - %b (%y) [FLAC] {%c}

Mε τον παραπάνω τρόπο σχηματίζεται ένα directory name από τα tags Album, Artst, Year και Comment.

https://postimage.org/

Έτσι μόλις γίνει το rename, το directory του album των 1000mods έχει μετονομαστεί σε:

1000mods - Vultures (2014) [FLAC] {bandcamp}

Και είναι έτοιμο να μπει στην library.
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Ένα από τα πιο σημαντικά στάδια της ενασχόλησης με το Computer Audio είναι το ripping των CDs της μουσικής μας συλλογής.

Παρότι υπάρχουν διάφορα εργαλεία ώστε να γίνει η εν λόγω δουλειά σε Linux, από αυτά δεν μπορεί να φτάσει το EAC και γι' αυτό προτιμούμε τη χρήση του ακόμα και σε Linux με χρήση WINE.

Παρόλα αυτά, ένα από τα καλύτερα προγράμματα/rippers για Linux, το morituri, μπορεί να χρησιμοποιηθεί για τον έλεγχο ενός επιμέρους σταδίου της διαδικασίας που είναι το ματσάρισμα με τη database του Accuraterip.


Στο παρακάτω σενάριο, θέλησα να επανελέγξω την ποιότητα του rip που έχω κάνει εδώ και χρόνια σε έναν από τους αγαπημένους μου δίσκους των Tindersticks.


To μόνο που χρειάστηκε να κάνω ήταν να δώσω την παρακάτω εντολή:


Code:
rip image verify cuefile.cue


όπου cuefile.cue είναι το όνομα του αρχείου cue που είχα εξάγει με το EAC.


To αποτέλεσμα του morituri επιβεβάιωσε με τη σειρά του την επιτυχία του rip, δίνοντας το παρακάτω output:

Code:
Track  1: rip accurate     (confidence  88 of  99) [93741f9d], DB [93741f9d]
Track  2: rip accurate     (confidence  89 of 100) [ad63cf27], DB [ad63cf27]
Track  3: rip accurate     (confidence  87 of 100) [86ec0cdc], DB [86ec0cdc]
Track  4: rip accurate     (confidence  88 of 100) [4ec746ab], DB [4ec746ab]
Track  5: rip accurate     (confidence  88 of 100) [2ecef173], DB [2ecef173]
Track  6: rip accurate     (confidence  88 of  99) [77ed7cad], DB [77ed7cad]
Track  7: rip accurate     (confidence  87 of 100) [04a9d56f], DB [04a9d56f]
Track  8: rip accurate     (confidence  89 of 101) [6c9549b8], DB [6c9549b8]
Track  9: rip accurate     (confidence  88 of 100) [39e21a51], DB [39e21a51]
Track 10: rip accurate     (confidence  89 of 100) [f511948f], DB [f511948f]
Track 11: rip accurate     (confidence  87 of 101) [6f836b09], DB [6f836b09]
Track 12: rip accurate     (confidence  88 of  98) [35317f7d], DB [35317f7d]
Track 13: rip accurate     (confidence  88 of  99) [69b545ec], DB [69b545ec]
Track 14: rip accurate     (confidence  90 of 100) [6fd52252], DB [6fd52252]
Track 15: rip accurate     (confidence  87 of  99) [dd7a7583], DB [dd7a7583]


Στην περίπτωση που θέλουμε να αποθηκεύσουμε την παραπάνω πληροφορία σε ένα log, έχω φτιάξει ένα κάκιστο script που κάνει τη δουλειά:

Code:
#!/bin/bash
rip image verify *.cue > temp.txt
touch accuratelog.txt
echo '################AccurateRip Database Check Using Morituri##################' > accuratelog.txt
echo'' >> accuratelog.txt
grep -o 'Track .*' temp.txt >> accuratelog.txt
echo'' >> accuratelog.txt
date >> accuratelog.txt
rm temp.txt

Αφού το σώσουμε και το κάνουμε εκτελέσιμο, το τρέχουμε μέσα στο directory που θέλουμε να ελέγξουμε και το αποτέλεσμα είναι η δημιουργία του ενός αρχείου με όνομα accuratelog.txt το οποίο περιέχει τα παρακάτω:

Code:
###############AccurateRip Database Check Using Morituri##################

Track  1: rip accurate     (confidence  88 of  99) [93741f9d], DB [93741f9d]
Track  2: rip accurate     (confidence  89 of 100) [ad63cf27], DB [ad63cf27]
Track  3: rip accurate     (confidence  87 of 100) [86ec0cdc], DB [86ec0cdc]
Track  4: rip accurate     (confidence  88 of 100) [4ec746ab], DB [4ec746ab]
Track  5: rip accurate     (confidence  88 of 100) [2ecef173], DB [2ecef173]
Track  6: rip accurate     (confidence  88 of  99) [77ed7cad], DB [77ed7cad]
Track  7: rip accurate     (confidence  87 of 100) [04a9d56f], DB [04a9d56f]
Track  8: rip accurate     (confidence  89 of 101) [6c9549b8], DB [6c9549b8]
Track  9: rip accurate     (confidence  88 of 100) [39e21a51], DB [39e21a51]
Track 10: rip accurate     (confidence  89 of 100) [f511948f], DB [f511948f]
Track 11: rip accurate     (confidence  87 of 101) [6f836b09], DB [6f836b09]
Track 12: rip accurate     (confidence  88 of  98) [35317f7d], DB [35317f7d]
Track 13: rip accurate     (confidence  88 of  99) [69b545ec], DB [69b545ec]
Track 14: rip accurate     (confidence  90 of 100) [6fd52252], DB [6fd52252]
Track 15: rip accurate     (confidence  87 of  99) [dd7a7583], DB [dd7a7583]

Wed Oct 19 16:27:57 EEST 2016
 
Last edited:

NikTsel

Senior Member
6 November 2007
451
Αθηνα ,Κεντρο
Μιχαλη δοκιμασε το kid3 για tagger .

Και το flacon για να σπας σε ξεχωριστα αρχεια τα .cue

Στάλθηκε από το SM-J320FN μου χρησιμοποιώντας Tapatalk
 
Last edited by a moderator:

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Μιχαλη δοκιμασε το kid3 για tagger .

Και το flacon για να σπας σε ξεχωριστα αρχεια τα .cue

Στάλθηκε από το SM-J320FN μου χρησιμοποιώντας Tapatalk

Καλημέρα,

το έχω δοκιμάσει, μια χαρά είναι και αυτό! Γενικά έχω κάνει ένα πέρασμα τους κυριότερους και μπορώ να πω ότι easytag, kid3 και puddletag είναι πολύ κοντά.

Να σημειώσω ότι εμένα δε με ενδιαφέρουν πλήρως αυτοματοποιημένοι taggers γιατί θέλω να ορίζω τα tags μόνος μου, οπότε τέτοιου τύπου features δεν έχω δοκιμάσει πχ. σχεδόν σε κανένα. Βέβαια κάποια στιγμή δοκίμασα το picard (musicbrainz) αλλά δεν κάνει για μένα.

Τέλος είχα δοκιμάσει και το jaikoz το οποίο δεν είναι δωρεάν. Πρόκειται για ένα πολύ advanced εργαλείο, αλλά νομίζω ότι δε μου χρειάζονται οι έξτρα musicbrainz, discogs και acoustid εγγραφές/tags.

Όσον αφορά στο εργαελίο για το σπάσιμο των cue, αν και δε δουλεύω ποτέ με ενιαία flacs, κάποια στιγμή θα το τεστάρω κι αυτό!
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Επανέρχομαι στη χρηση της εντολής flac, αλλά για ένα διαφορετικό σενάριο αυτή τη φορά.

Κατά καιρούς κάνω διάφορες online αγορές. Είναι σχετικά σύνηθες όταν οι εταιρείες πωλούν ένα album ψηφιακά να δίνουν τα "master tapes". Έτσι παράδειγμα έχω αγοράσει μέχρι τώρα 2 albums από την Erased Tapes Records σε WAV 24/44.1.

WAV δεν κρατάω ποτέ γιατί με ενδιαφέρει το tagging, οπότε για τη μετατροπή πχ ενός album σε wav, το μόνο που χρειάζεται είναι η μετάβαση στο directory που έχει τα wav και στη συνέχεια:

Code:
flac -8 *.wav


Η παραπάνω εντολή θα μετατρέψει όλα τα .wav σε .flac, ενώ παράλληλα τα wav θα παραμείνουν στο directory. Έχοντας έτοιμα τα flac, το επόμενο στάδιο είναι το tagging, όπως περιέγραψα παραπάνω.


Αν για κάποιο λόγο (που δε συνίσταται μέχρι να ελεγχθούν τουλάχιστον τα flac αρχεία) ήθελα παράλληλα να σβήσω τα wav, η εντολή θα ήταν:

Code:
flac -8 --delete-input-file -w  *.wav


Τέλος αν κάποιος θέλει το ανάποδο, δηλαδή την εξαγωγή των wav από υπάρχοντα flacs, τότε αρκεί η παρακάτω εντολή:



Code:
flac -d *.flac
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Συνεχίζω με αναφορά σε ένα χρήσιμο εργαλείο που αφορά σε DSD (μακριά από μας, αλλά τελοσπάντων :D ). Tα παρακάτω υπάρχουν και σε δικό τους νήμα αλλά κάνω και εδώ μια σύνοψη ώστε να υπαρχουν μαζεμένα.

Έστω λοιπόν ότι θέλουμε να πάρουμε .dsf (τα προτιμάμε επείδή δέχονται tags) ή .dff αρχεία από ένα SACD ISO. Το εργαλείο που χρειαζόμαστε έιναι το sacd_extract:

https://sourceforge.net/projects/sacd-ripper/


Tα options της εντολής είναι παρακάτω:


Code:
The following options are available for the sacd_extract commandline tool:

Usage: sacd_extract [options] [outfile]
  -2, --2ch-tracks                : Export two channel tracks (default)
  -m, --mch-tracks                : Export multi-channel tracks
  -e, --output-dsdiff-em          : output as Philips DSDIFF (Edit Master) file
  -p, --output-dsdiff             : output as Philips DSDIFF file
  -s, --output-dsf                : output as Sony DSF file
  -I, --output-iso                : output as RAW ISO
  -c, --convert-dst               : convert DST to DSD
  -C, --export-cue                : Export a CUE Sheet
  -i, --input[=FILE]              : set source and determine if "iso" image,
                                    device or server (ex. -i192.168.1.10:2002)
  -P, --print                     : display disc and track information

Help options:
  -?, --help                      : Show this help message
  --usage                         : Display brief usage message


Έτσι, ο τρόπος να εξάγουμε δικάναλα dsf είναι ο παρακάτω:


Code:
sacd_extract -2 -s -C -i filename.iso


Στο αρχικό link του νήματος του avclub, αναλύω και την ίδια διαδικασία, χρησιμοποιώντας αυτή τη φορά ένα gui της παραπάνω εντολής. Το αποτέλεσμα είναι το ίδιο.
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Πολλές φορές χρειάζομαι μια γρήγορη σύνοψη για ένα αρχείο της συλλογής μου. Ας πάρουμε παράδειγμα το πρώτο των 1000mods. Αν θέλω να δω στα γρήγορα τα χαρακτηριστικά του πρώτου track μπορώ να το κάνω με το mediainfo:

https://mediaarea.net/en/MediaInfo

Αυτό που αρκεί να κάνω είναι το παρακάτω:

Code:
mediainfo trackname.flac

όπου trackname.flac είναι το όνομα του αρχείου. Στην περίπτωσή μου, το output ήταν:

Code:
General
Complete name                            : 1000mods - Vultures - 01 Claws.flac
Format                                   : FLAC
Format/Info                              : Free Lossless Audio Codec
File size                                : 36.6 MiB
Duration                                 : 5 min 28 s
Overall bit rate mode                    : Variable
Overall bit rate                         : 934 kb/s
Album                                    : Vultures
Album/Performer                          : 1000mods
Part                                     : 01
Track name                               : Claws
Track name/Position                      : 01
Track name/Total                         : 08
Performer                                : 1000mods
Genre                                    : Stoner Rock
Description                              : bandcamp
Recorded date                            : 2014

Audio
Format                                   : FLAC
Format/Info                              : Free Lossless Audio Codec
Duration                                 : 5 min 28 s
Bit rate mode                            : Variable
Bit rate                                 : 922 kb/s
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 44.1 kHz
Bit depth                                : 16 bits
Stream size                              : 36.2 MiB (99%)
Writing library                          : libFLAC 1.2.1 (UTC 2007-09-17)


Αν για κάποιο λόγο ήθελα αυτή την πληροφορία για κάθε track του δίσκου, θα αρκούσε η παρακάτω εντολή εντός του directory:

Code:
mediainfo *.flac > mediainfo.txt


Το αποτέλεσμα θα ήταν ένα txt αρχείο που θα είχε την παραπάνω πληροφορία για κάθε flac εντός του directory.
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Στο σενάριο αυτό θα εξετάσω την περίπτωση που θέλουμε να μετατρέψουμε κάποιο ripped flac album της συλλογής μας σε mp3, για να το ακούσουμε πχ στο κινητό μας ή σε κάποιον άλλον φορητό player.

To εργαλείο που χρησιμοποιώ γι αυτή τη δουλειά είναι το:


https://github.com/RecursiveForest/whatmp3


Επί της ουσίας πρόκειται για ένα έξυπνο script, το οποίο θα κάνει transcode στο επιθυμητό format (για τα mp3 χρησιμοποιεί lame) και μάλιστα θα διατηρήσει και το directory scheme που έχω προσωπικά διαλέξει.


Ξεκινάμε με το αρχικό directory που περιέχει τα ripped flacs μας με ονομασία flacdir.


To flacdir έχει την παρακάτω ονομασία:

Code:
Album - Artist (Year) [FLAC] {Release Details}


Για να το μετατρέψουμε σε mp3 320 αρκεί να δώσουμε την παρακάτω εντολή:

Code:
whatmp3 --320 flacdir

Το αποτέλεσμα θα είναι ένα directory με τα mp3 320 και ονομασία:


Code:
Album - Artist (Year) [320] {Release Details}


Έστω τώρα ότι θέλουμε να το μετατρέψουμε και σε V0. Η εντολή είναι:


Code:
whatmp3 --V0 flacdir


Αφού τελειώσει, θα βρούμε ένα επιπρόσθετο directory με την ονομασία:


Code:
Album - Artist (Year) [V0] {Release Details}


Να σημειωθεί ότι άλλα αρχεία όπως πχ. album art που μπορεί να έχουμε στο αρχικό directory, θα μεταφερθούν και στα καινούρια.



Με την ευκαιρία του παραπάνω οδηγού, έκανα κάποια transcodes και έβγαλα και τα αντίστοιχα spectrograms με τη χρήση του spek τα οποία και παραθέτω:












Θέλετε κάτι παραπάνω για να πεισθείτε ότι όταν με το καλό μετατρέψετε τα CD σας σε ψηφιακά αρχεία, θα πρέπει να επιλέξετε FLAC; Είναι πασιφανές ότι έχει κουτσουρευθεί σχεδόν ότιδήποτε πάνω από τα 15Khz. Παράλληλα βλέπουμε ότι πιθανώς η επιλογή του V0 να είναι προτιμότερη από μετατροπή σε 320 CBR.
 
Last edited:

spmires

New member
9 August 2011
45
Για πες και για μενα φιλαρακι,που ακουω με LINUX Audacious καμποσα χρονια και δεν μου παιζει DSD. Eιμαι βεβαια και λιγο μπουμπουνας με τους υπολογιστες..
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Re: Απάντηση: Χρήσιμα Linux Audio εργαλεία

Με αφορμή τη συζήτηση σε νήμα του forum μας, παρακάτω θα περιγράψω πως με πολύ απλό τρόπο σπάμε ένα ενιαίο flac το οποίο διαθέτει que με τη χρήση του shntool:

http://www.etree.org/shnutils/shntool/

Έστω ότι έχουμε το αρχείο blabla.flac με το αντίστοιχο blabla.que. Για να πάρουμε τα επιμέρους flacs, το μόνο που χρειάζεται είναι η παρακάτω εντολή:

Code:
shnsplit -f blabla.cue blabla.flac





Για πες και για μενα φιλαρακι,που ακουω με LINUX Audacious καμποσα χρονια και δεν μου παιζει DSD. Eιμαι βεβαια και λιγο μπουμπουνας με τους υπολογιστες..


Ζητώ συγνώμη για την καθυστερημένη απάντηση. Μια που το θέμα σου δεν είναι ξεκάθαρο, πχ πρέπει να ξέρω τι dac έχεις, αν υποστηρίζει dsd το audacious κλπ, καλό θα ήταν να το αναλύσουμε σε διαφορετικό νήμα!
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Στο παρακάτω σενάριο, επανέρχομαι στο άλμπουμ των 1000mods και θα δείξω πως μπορούμε να πάρουμε ένα πολύ μεγάλο block πληροφοριών με τη χρήση της εντολής metaflac:

https://xiph.org/flac/documentation_tools_metaflac.html

Έστω λοιπόν ότι θέλω να δω τις πληροφορίες για ένα του άλμπουμ που έχω αγοράσει από το bandcamp. Αρκεί να δώσω την εντολή:

Code:
metaflac --list blabla.flac

Αν θέλω το output να βγει σε ένα αρχέιο ώστε να το έχω για επιπλέον επεξεργασία, αρκεί να τροποποιήσω την εντολή ως εξής:


Code:
metaflac --list blabla.flac > metaflac.log

Το output για το flac που δοκίμασα ήταν το εξής:


METADATA block #0
type: 0 (STREAMINFO)
is last: false
length: 34
minimum blocksize: 4096 samples
maximum blocksize: 4096 samples
minimum framesize: 1804 bytes
maximum framesize: 13062 bytes
sample_rate: 44100 Hz
channels: 2
bits-per-sample: 16
total samples: 14506833
MD5 signature: 944e8eceedd2c0cf05542a8f9545fe9d
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
length: 594
seek points: 33
point 0: sample_number=0, stream_offset=0, frame_samples=4096
point 1: sample_number=438272, stream_offset=820735, frame_samples=4096
point 2: sample_number=880640, stream_offset=1820530, frame_samples=4096
point 3: sample_number=1318912, stream_offset=2954300, frame_samples=4096
point 4: sample_number=1761280, stream_offset=4151287, frame_samples=4096
point 5: sample_number=2203648, stream_offset=5353638, frame_samples=4096
point 6: sample_number=2641920, stream_offset=6553936, frame_samples=4096
point 7: sample_number=3084288, stream_offset=7810538, frame_samples=4096
point 8: sample_number=3526656, stream_offset=9034474, frame_samples=4096
point 9: sample_number=3964928, stream_offset=10221532, frame_samples=4096
point 10: sample_number=4407296, stream_offset=11289207, frame_samples=4096
point 11: sample_number=4849664, stream_offset=12309158, frame_samples=4096
point 12: sample_number=5287936, stream_offset=13542824, frame_samples=4096
point 13: sample_number=5730304, stream_offset=14774466, frame_samples=4096
point 14: sample_number=6172672, stream_offset=15969529, frame_samples=4096
point 15: sample_number=6610944, stream_offset=17178215, frame_samples=4096
point 16: sample_number=7053312, stream_offset=18315414, frame_samples=4096
point 17: sample_number=7495680, stream_offset=19504775, frame_samples=4096
point 18: sample_number=7933952, stream_offset=20692217, frame_samples=4096
point 19: sample_number=8376320, stream_offset=21879377, frame_samples=4096
point 20: sample_number=8818688, stream_offset=23055452, frame_samples=4096
point 21: sample_number=9256960, stream_offset=24221828, frame_samples=4096
point 22: sample_number=9699328, stream_offset=25396859, frame_samples=4096
point 23: sample_number=10141696, stream_offset=26528787, frame_samples=4096
point 24: sample_number=10579968, stream_offset=27612626, frame_samples=4096
point 25: sample_number=11022336, stream_offset=28797156, frame_samples=4096
point 26: sample_number=11464704, stream_offset=29939160, frame_samples=4096
point 27: sample_number=11902976, stream_offset=31149032, frame_samples=4096
point 28: sample_number=12345344, stream_offset=32385464, frame_samples=4096
point 29: sample_number=12787712, stream_offset=33590838, frame_samples=4096
point 30: sample_number=13225984, stream_offset=34812877, frame_samples=4096
point 31: sample_number=13668352, stream_offset=36050984, frame_samples=4096
point 32: sample_number=14110720, stream_offset=37242053, frame_samples=4096
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
length: 226
vendor string: reference libFLAC 1.2.1 20070917
comments: 10
comment[0]: TITLE=Claws
comment[1]: ARTIST=1000mods
comment[2]: ALBUMARTIST=1000mods
comment[3]: ALBUM=Vultures
comment[4]: DISCNUMBER=01
comment[5]: DATE=2014
comment[6]: TRACKNUMBER=01
comment[7]: TRACKTOTAL=08
comment[8]: GENRE=Stoner Rock
comment[9]: DESCRIPTION=bandcamp
METADATA block #3
type: 1 (PADDING)
is last: true
length: 477132
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Πάντοτε έψαχνα έναν ωραίο τρόπο για να δημιουργώ μαζικά spectrograms. Τελικά μετά από δοκιμές, τη λύση έδωσε ο sox.

Βασική χρήση:

Code:
sox blabla.flac -n spectrogram

Το αποτέλεσμα είναι ένα αρχείο png της παρακάτω μορφής:

1.jpg


Για να γίνει η παραπάνω διαδικασία μαζικά, αρκεί το παρακάτω script:

Code:
#!/bin/bash
mkdir spectrograms
for file in *.flac;do
    outfile="${file%.*}.png"
    sox "$file" -n spectrogram -o "$outfile"
    mv "$outfile" spectrograms/
done

Αν τρέξουμε το παραπάνω εντός του φακέλου με τα flac, θα δημιουργήσει ένα directory με την ονομασία "spectrograms" και θα βάλει μέσα τα αντίστοιχα png αρχεία, όπου το κάθε ένα θα έχει και το όνομα του flac.


Το παραπάνω script είναι πάρα πολύ ενδιαφέρον (ας είναι καλά ο άνθρωπος που το έγραψε - εγώ το τροποποίησα ελάχιστα) και καλό θα ήταν κάποιος να το μετατρέψει και για windows, καθώς ο sox είναι universal!
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Μια που θέλω να κρατάω όλα τα spectrograms για κάθε album της βιβλιοθήκης μου, αποφάσισα να τελειοποιήσω το παραπάνω script, κάνοντας convert σε jpg τα παραγόμενα png. Με τον τρόπο αυτό κέρδισα περίπου 50% σε όγκο με πολύ καλό οπτικό αποτέλεσμα (θα μπορούσα να ρίξω πολύ περισσότερο την ποιότητα, αφού αυτό που μας νοιάζει κυρίως είναι να τσεκάρουμε για transcodes). Έτσι πλέον το κάθε album επιβαρύνεται κατά μέσο όρο με 1.2-1.5Mb. Το νέο script είναι:

Code:
#!/bin/bash
mkdir spectrograms
for file in *.flac;do
    outfile="${file%.*}.png"
    sox "$file" -n spectrogram -o "$outfile"
    mv "$outfile" spectrograms/
done
mogrify -strip -quality 80% -sampling-factor 4:4:4 -format jpg spectrograms/*.png
rm spectrograms/*.png
 

sokmav

AVClub Fanatic
5 February 2012
14,227
Τι να σου πω Μιχάλη μου,το έχεις φτάσει εκεί που δεν πάει,ένα μπράβο είναι λίγο.:SFGSFGSF:
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Ένα από τα tasks που δε με είχε απασχολήσει μέχρι στιγμής είναι το αυτόματο κατέβασμα cover arts για τα flac albums μου. Παρότι μέχρι στιγμής αρκούμαι σε MPD clients που κατεβάζουν το cover art στον ίδιο τον client χωρίς να αποδθηκεύουν κάτι στο directory του album, θέλω να έχω και το εξώφυλλο του άλμπουμ με κοινή οναμασία για όλα τα albums ως Folder.jpg, γιατί μπορεί κάποια στιγμή να θελήσω να σερβίρω τα εξώφυλλα τοπικά.

Η λύση στο παραπάνω δόθηκε με ένα νέο σχετικά απ ότι φαίνεται python script:

https://github.com/desbma/sacad

Έτσι με την παρακάτω εντολή:

Code:
sacad_r /path/to/Music 600 Folder.jpg

έλυσα το πρόλημά μου, καθώς το sacad ψάχνει online για εξώφυλλα (βασισμένο στα medatata των αρχείων), και κατεβάζει αρχεία σε κάθε directory 600x600 με την ονομασία Folder.jpg. Αν ένα directory έχει ήδη αρχείο με ονομασία Folder.jpg, το αγνοεί και πάει στο επόμενο.

Αρχικά το δοκίμασα σε καμια 10ρια albums, και αφού είδα ότι τα κατάφερε, αυτή τη στιγμή το έχω βάλει να μου φέρει όλα τα εξώφυλλα που λείπουν από την βιβλιοθήκη μου.


Υ.γ. Να σημειωθεί ότι υπάρχει command line εκτελέσιμο και για windows.
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Μετά από χρήση του παραπάνω, έβγαλα ένα καλό και ένα κακό σύμπέρασμα:

Το καλο..

Απ' ότι φαίνεται έφερε τα εξώφυλλα σωστά - ακόμα και όταν δε βρήκε εξώφυλλο, έφερε πχ φωτογραφία του CD. Προφανώς έχω κάνει στατιστικό έλεγχο, αλλά όλα δείχνουν οκ.

Και το κακό...

Άργησε πάρα πολύ ή όλη διαδικασία. για 1200 περίπου εξώφυλλα χρειάστηκαν πάνω από 3 ώρες. Θα επικοινωνήσω με τον developer για να δω μήπως μπορεί ν αλλάξει αυτό με τα κατάλληλα command options.