Ο δρόμος

Με ένα φίλο φτιάχνουμε δικό μας low level software σε C για αναπαραγωγή flac και wav. Πρώτα αποσυμπιέζει στη RAM (αν πρόκειται για flac) σε PCM και στη συνέχεια κάνει αναπαραγωγή, απ' τη RAM πάντα.
Τα πρώτα αποτελέσματα άψογα, καμμία διαφορά του flac με το wav.
Εννοείται πως μόλις ολοκληρωθεί θα δοθεί μαζί με τον κώδικα.
 
Με ένα φίλο φτιάχνουμε δικό μας low level software σε C για αναπαραγωγή flac και wav. Πρώτα αποσυμπιέζει στη RAM (αν πρόκειται για flac) σε PCM και στη συνέχεια κάνει αναπαραγωγή, απ' τη RAM πάντα.
Τα πρώτα αποτελέσματα άψογα, καμμία διαφορά του flac με το wav.
Εννοείται πως μόλις ολοκληρωθεί θα δοθεί μαζί με τον κώδικα.

?

κατι σαν component στο foobar;
 
Απάντηση: Re: Ο δρόμος

Με ένα φίλο φτιάχνουμε δικό μας low level software σε C για αναπαραγωγή flac και wav. Πρώτα αποσυμπιέζει στη RAM (αν πρόκειται για flac) σε PCM και στη συνέχεια κάνει αναπαραγωγή, απ' τη RAM πάντα.
Τα πρώτα αποτελέσματα άψογα, καμμία διαφορά του flac με το wav.
Εννοείται πως μόλις ολοκληρωθεί θα δοθεί μαζί με τον κώδικα.

Μπράβο, μπράβο !!!
Να προσπεράσουμε σιγά-σιγά και τα φετίχ :award:
 
Με ένα φίλο φτιάχνουμε δικό μας low level software σε C για αναπαραγωγή flac και wav. Πρώτα αποσυμπιέζει στη RAM (αν πρόκειται για flac) σε PCM και στη συνέχεια κάνει αναπαραγωγή, απ' τη RAM πάντα.
Τα πρώτα αποτελέσματα άψογα, καμμία διαφορά του flac με το wav.
Εννοείται πως μόλις ολοκληρωθεί θα δοθεί μαζί με τον κώδικα.

Και δεν είπες τίποτα βρε κτήνος; :bigcry:

Τώρα φταίω εγώ να κρατήσω μούτρα; Εεεεεε;;;; :damnyou:

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

Εκείνο που θα κάνω όμως είναι να δώ αν παίρνει speed / space optimizations (συνήθειο απο τότε που έπαιζα με embedded programming, σε C πάντα !) όταν θα ανεβάσετε τα sources :smile:

Και πάλι συγχαρητήρια, οχι μόνο για την ιδέα αλλά και για το μέράκι -bye-
 
Η πρώτη μου παρατήρηση είναι πως ο driver του m2tech είναι για τον π@$#%0, καθώς θέλει τουλάχιστον 300msec latency και 1024B buffer chunks για να μην κάνει underflow. Γι' αυτό δεν τολμούν να τον δώσουν για Linux...

Ξεπερνώντας όμως αυτή την "κρυάδα", η αναπαραγωγή είναι εξαιρετική είτε μιλάμε για την κάρτα ήχου είτε για το m2tech και η καθυστέρηση πριν την έναρξη κάθε κομματιού (αποσυμπίεση flac στη RAM) είναι κάτω από 4 sec κι αυτό σε ένα ταπεινό netbook.
 
Last edited:
Μπράβο.
Η libflac πάντως είναι καρατσεκαρισμένη και αποτελεί τη σίγουρη βάση για κάθε software.
Αυτή είναι η δύναμη του Open source!
Σε αντίθεση με τα closed / proprietary formats.
 
Η πρώτη μου παρατήρηση είναι πως ο driver του m2tech είναι για τον π@$#%0, καθώς θέλει 300msec latency και 1024B buffer chunks για να μην κάνει underflow. Γι' αυτό δεν τολμούν να τον δώσουν για Linux...

Σε απλή αναπαραγωγή ευτυχώς δε μας πειράζει και τόσο το Latency :-)
 
Η πρώτη μου παρατήρηση είναι πως ο driver του m2tech είναι για τον π@$#%0, καθώς θέλει τουλάχιστον 300msec latency και 1024B buffer chunks για να μην κάνει underflow. Γι' αυτό δεν τολμούν να τον δώσουν για Linux...

Ξεπερνώντας όμως αυτή την "κρυάδα", η αναπαραγωγή είναι εξαιρετική είτε μιλάμε για την κάρτα ήχου είτε για το m2tech και η καθυστέρηση πριν την έναρξη κάθε κομματιού (αποσυμπίεση flac στη RAM) είναι κάτω από 4 sec κι αυτό σε ένα ταπεινό netbook.

Νίκο, συγχαρητήρια για την εξαιρετική προσπάθεια! Άντε, και με ένα υποτυπώδες GUI για τους κοινούς θνητούς.. :p

Οπότε, θεωρείς ότι οι διαφορές που ακούσατε μεταξύ flac και wav προέρχονταν από την real time αποσυμπίεση του flac?
 
Νίκο, συγχαρητήρια για την εξαιρετική προσπάθεια! Άντε, και με ένα υποτυπώδες GUI για τους κοινούς θνητούς.. :p

Οπότε, θεωρείς ότι οι διαφορές που ακούσατε μεταξύ flac και wav προέρχονταν από την real time αποσυμπίεση του flac?

Ναι, μιλώντας πάντα για το foobar...
 
Όχι μεν αλλά πιθανά να μπορέσω λίγο να βοηθήσω σε alpha / beta testing.

Νίκο, μιας και δε ξέρω και πολλά για την υλοποίηση σας, παίζετε είδη με wasapi / asio ?
 
Όχι, κάνουμε decode (libflac), φόρτωμα στη RAM και στη συνέχεια ανοίγουμε buffer στο waveout. Το UI θα είναι κάτι πολύ απλό σε VB ή οτιδήποτε το οποίο απλά θα παρέχει δυνατότητα browse, Open Audio CD, Open/Save Playlist και θα καλεί το core από cmd...
 
ΙΜΗΟ, καθώς όπως έχω πει στην περίπτωση μου pc-dac-lan-εγκατάσταση γενικά δεν υπάρχει διαφορά μεταξύ ramdrive/Ethernet … αξίζει να κυνηγήσετε το wasapi/asio . Θα κάνει διαφορά :-)

Δεύτερον, για upsampling resampling κυκλοφορούν αρκετές βιβλιοθήκες όπως και για ψηφιακά φίλτρα. Πιθανά αξίζει να ρίξετε μια γρήγορη ματιά και να δώσετε στο χρήστη την επιλογή.

Ρίξε μια ματιά και στον koon θα βρείς τον κώδικα που ανοίγει το wav, πάρει το pcm και κάνει resampling παίρνοντας υπόψη ψαλιδισμούς http://koonlab.com/CUDA_RealFIR/CUDA Real FIR.html είναι απλός αλγόριθμος μεν και δε συγκρίνεται με άλλες βιβλιοθήκες αλλά μπορείς να φτιάξεις κάτι βασισμένος στον κώδικα στα γρήγορα.

Έχει κι άλλα καλούδια, είχα ξεκινήσει κάποτε να μετατρέψω τον cuda FIR kernel σε openCL, αλλά μου χρειάζονται κάποια κιλά διάβασμα ακόμα…

Τέλος, να προτείνω να στεγάσουμε το Player σε διπλανό νύμα ?
 
Η πρώτη μου παρατήρηση είναι πως ο driver του m2tech είναι για τον π@$#%0, καθώς θέλει τουλάχιστον 300msec latency και 1024B buffer chunks για να μην κάνει underflow. Γι' αυτό δεν τολμούν να τον δώσουν για Linux...

Ξεπερνώντας όμως αυτή την "κρυάδα", η αναπαραγωγή είναι εξαιρετική είτε μιλάμε για την κάρτα ήχου είτε για το m2tech και η καθυστέρηση πριν την έναρξη κάθε κομματιού (αποσυμπίεση flac στη RAM) είναι κάτω από 4 sec κι αυτό σε ένα ταπεινό netbook.

Από Ιταλούς δυστυχώς αυτά μπορεί και να τα περιμένεις.
Μας μοιάζουν στην άρπα κόλα.