Raspberry Pi2/Pi3 για audio χρήση - AVClub audio player

Δεν έχω στη κατοχή μου κάποιο USB interface.
Ψάχνω κάτι που θα μπει ως hut στο Raspberry ώστε να είναι μικρός ο όγκος και λογικό το κόστος.
Το Mamboberry είναι χειρότερη λύση από το Boss?
 
Απάντηση: Re: Raspberry Pi2/Pi3 για audio χρήση - AVClub audio player

Δεν έχω στη κατοχή μου κάποιο USB interface.
Ψάχνω κάτι που θα μπει ως hut στο Raspberry ώστε να είναι μικρός ο όγκος και λογικό το κόστος.
Το Mamboberry είναι χειρότερη λύση από το Boss?


Το Boss συμπεριφέρεται ως "master dac", επομένως στα χαρτιά οφείλει να αποδίδει εξίσου καλά όλες τις γνωστές δειγματοληψίες , τα πολλαπλάσια των 44.1ΚΗz & των 48KHz, που σημαίνει ότι τα γνωστά προβλήματα χρονισμού στο raspberry απλά μειώνονται ή/και μηδενίζονται.
Ωστόσο, σε μια τυφλή δοκιμή εγώ προσωπικά πιστεύω ότι σε αρκετούς μπορεί να αρέσει περισσότερο ο ήχος με το πιο πλούσιο jitter. Την έχουν πατήσει πολλοί κατά το παρελθόν σε ανάλογες τυφλές δοκιμές, όπως εκείνες του "mp3 versus flac" :flipout:
 
Last edited:
Τελικα το spotify prenium παιζει με runeaudio? Γτ εμενα κανει θεματα.

Και πως μπορω να δω σε ποιον πυρήνα πεφτει η περισσοτερη δουλειά; γτ με το htop δεν νομιζω να βγαινει ακρη.
 
Έδωσε ο tuxx πιο πάνω την εντολή...
Αν δεν κάνω λάθος είναι αυτή:

cat /proc/interrupts

Sent from my Nexus 5X
 
Last edited:
Code:
root@runeaudio(rw):~# cat /proc/interrupts
           CPU0       CPU1       CPU2       CPU3
 16:          0          0          0          0  bcm2836-timer   0 Edge      ar                                                                                        ch_timer
 17:    1721620    3733672    2279510   12484902  bcm2836-timer   1 Edge      ar                                                                                        ch_timer
 23:         19          0          0          0  ARMCTRL-level   1 Edge      3f                                                                                        00b880.mailbox
 24:          2          0          0          0  ARMCTRL-level   2 Edge      VC                                                                                        HIQ doorbell
 39:          1          0          0          0  ARMCTRL-level  41 Edge
 46:          0          0          0          0  ARMCTRL-level  48 Edge      bc                                                                                        m2708_fb dma
 48:       4253          0          0          0  ARMCTRL-level  50 Edge      DM                                                                                        A IRQ
 50:          0          0          0          0  ARMCTRL-level  52 Edge      DM                                                                                        A IRQ
 62:   48228209          0          0          0  ARMCTRL-level  64 Edge      dw                                                                                        c_otg, dwc_otg_pcd, dwc_otg_hcd:usb1
 79:          0          0          0          0  ARMCTRL-level  81 Edge      3f                                                                                        200000.gpio:bank0
 80:          0          0          0          0  ARMCTRL-level  82 Edge      3f                                                                                        200000.gpio:bank1
 86:       1457          0          0          0  ARMCTRL-level  88 Edge      mm                                                                                        c0
 92:        456          0          0          0  ARMCTRL-level  94 Edge      mm                                                                                        c1
FIQ:              usb_fiq
IPI0:          0          0          0          0  CPU wakeup interrupts
IPI1:          0          0          0          0  Timer broadcast interrupts
IPI2:     264348     704399     469303     199601  Rescheduling interrupts
IPI3:          6         13         10          5  Function call interrupts
IPI4:          3          6          3          0  Single function call interrup                                                                                        ts
IPI5:          0          0          0          0  CPU stop interrupts
IPI6:          0          0          0          0  IRQ work interrupts
IPI7:          0          0          0          0  completion interrupts
Err:          0

και αυτό πως το διαβάζουμε;
Αν κατάλαβα καλά ο πυρήνας 3 δέχεται τα πιο πολλά interrupts και ο πυρήνας 0 τα λιγότερα;
 
επίσης ξαναλέω... μήπως τα τελευταία μνμτα εδώ και κάποιες σελίδες να μεταφερθούν στο νήμα του Rune, μιας και αφορούν μόνο αυτό;
 
Τα δικά μου μηνύματα αφορούν σε όλες τις διανομές που τρέχουν systemd!

Sent from my mind using Tapatalk
 
Ναι.

Οι χρήστες Debian μπορεί να έχουν μια έξτρα ευκολία. Αν οι developers του έχουν διατηρήσει το rc.local (δεν το θυμάμαι αυτή τη στιγμή), διάφορες εντολές κατά την εκκίνηση μπορούν να μπουν σε αυτό.

Όταν θέλουμε να ρίξουμε διάφορες εντολές στην εκκίνηση, θα πρέπει να έχουμε στο μυαλό μας ότι μπορεί αυτές να εκτελεστούν και σε λάθος χρόνο. Μπορεί εγώ λοιπόν να θέλω να ρίξω ένα taskset στον mpd, αλλά έχει σηκωθεί ο mpd την ώρα που τρέχει η εντολή; To systemd service αυτό που σας πρότεινα, αν δείτε, τρέχει αφού σηκωθεί το δίκτυο και στην πράξη έχω δει ότι ότι την ώρα που εκτελείται έχει ήδη σηκωθεί ο mpd.


Από τον πίνακα με τα interrups φαίνεται ότι όλα πέφτουν στο πρώτο core (Core 0) εκτός από τα interrupts του timer που πέφτουν παντού.
 
Ναι.

Οι χρήστες Debian μπορεί να έχουν μια έξτρα ευκολία. Αν οι developers του έχουν διατηρήσει το rc.local (δεν το θυμάμαι αυτή τη στιγμή), διάφορες εντολές κατά την εκκίνηση μπορούν να μπουν σε αυτό.


Από τον πίνακα με τα interrups φαίνεται ότι όλα πέφτουν στο πρώτο core (Core 0) εκτός από τα interrupts του timer που πέφτουν παντού.

Ευχαριστώ πολύ Μιχάλη!

Για τον δικό μου πίνακα λες ναι;
Ποια ένδειξη πρέπει να δούμε για να το καταλάβουμε;
Τι κάνει το "Timer"; Για την χρονική διάρκεια των κομματιών μιλάμε ή είναι κάτι άλλο;
Από ότι έχεις πει δεν μπορούμε να τα απομονώσουμε ώστε να ΜΗΝ πέφτουν έστω σε έναν πύρινα (core 3 στην περίπτωση μου που έχω τον MPD) έτσι;

Sent from my Nexus 5X
 
Όχι, τα interrupts στα RPI δεν κουνιούνται.

Όσον αφορά στον timer βέβαια, ακόμα και στα odroid ο meson timer δεν κουνιέται. Αν πας να μετακινήσεις τα interrupts κρεμάει όλο το σύστημα.


Από την εικόνα που βλέπω, θα πετούσα τον mpd είτε στο 2o (core 1) είτε στο 3o core (core 2).
 
Όχι, τα interrupts στα RPI δεν κουνιούνται.

Όσον αφορά στον timer βέβαια, ακόμα και στα odroid ο meson timer δεν κουνιέται. Αν πας να μετακινήσεις τα interrupts κρεμάει όλο το σύστημα.


Από την εικόνα που βλέπω, θα πετούσα τον mpd είτε στο 2o (core 1) είτε στο 3o core (core 2).
Ευχαριστώ πολύ!
Θα τον αλλάξω..

Sent from my Nexus 5X
 
@Tuxx

επειδή το κουβεντιάζουμε με ένα φίλο... δεδομένουν πως στο rpi δεν μπορούμε να απομονώσουμε τα interrupts μήπως έχει νόημα να δώσουμε στον mpd 2 πυρήνες και να αφήσουμε στους άλλους δύο την υπόλοιπη δουλειά;
κάτι τέτοιο πρέπει να έχει κάνει και ο Frank (runeaudio)

ευχαριστώ!
 
εχει πολύ πλάκα πάντως όλη η ιστορία και ταυτόχρονα επιβαιβαιώνεται και ο Μιχάλης οτι καμιά φορά προσπαθώντας να κάνουμε καλύτερα τα πράγματα μπορεί και να τα χειροτερεύουμε
πιο κάτω είναι τα interrupts που παρουσιάζει το σύστημά μου με τον MPD πλέον όχι απομονωμένο σε έναν core αλλά σε όλους
τα interrupts είναι μειωμένα παντού ακόμα και τον timer ... ενώ πριν ήταν κάποια εκατομύρια τώρα είναι κάποιες χιλιάδες

Code:
root@runeaudio(rw):~# cat /proc/interrupts
           CPU0       CPU1       CPU2       CPU3
 16:          0          0          0          0  bcm2836-timer   0 Edge      ar                                                                                        ch_timer
 17:       8734      18388      20863      13118  bcm2836-timer   1 Edge      ar                                                                                        ch_timer
 23:         18          0          0          0  ARMCTRL-level   1 Edge      3f                                                                                        00b880.mailbox
 24:          2          0          0          0  ARMCTRL-level   2 Edge      VC                                                                                        HIQ doorbell
 39:          1          0          0          0  ARMCTRL-level  41 Edge
 46:          0          0          0          0  ARMCTRL-level  48 Edge      bc                                                                                        m2708_fb dma
 48:       3046          0          0          0  ARMCTRL-level  50 Edge      DM                                                                                        A IRQ
 50:          0          0          0          0  ARMCTRL-level  52 Edge      DM                                                                                        A IRQ
 62:     990243          0          0          0  ARMCTRL-level  64 Edge      dw                                                                                        c_otg, dwc_otg_pcd, dwc_otg_hcd:usb1
 79:          0          0          0          0  ARMCTRL-level  81 Edge      3f                                                                                        200000.gpio:bank0
 80:          0          0          0          0  ARMCTRL-level  82 Edge      3f                                                                                        200000.gpio:bank1
 86:        259          0          0          0  ARMCTRL-level  88 Edge      mm                                                                                        c0
 92:        456          0          0          0  ARMCTRL-level  94 Edge      mm                                                                                        c1
FIQ:              usb_fiq
IPI0:          0          0          0          0  CPU wakeup interrupts
IPI1:          0          0          0          0  Timer broadcast interrupts
IPI2:      12504      75729      62852      58587  Rescheduling interrupts
IPI3:          5         10         12          6  Function call interrupts
IPI4:          2          1          0          1  Single function call interrup                                                                                        ts
IPI5:          0          0          0          0  CPU stop interrupts
IPI6:          1          0          0          0  IRQ work interrupts
IPI7:          0          0          0          0  completion interrupts
Err:          0
 
Νομίζω ότι αυτό που ενδιαφέρει είναι κυρίως η διασπορά τους ανά πυρήνα.
Η παραπάνω εικόνα είναι ένα snapshot, οπότε τα νούμερα σε βάθος χρόνου θα μεγαλώνουν.
Για να έχει νόημα η σύγκριση των απολύτων νούμερων, θα πρέπει – τα snapshots - να έχουν ληφθει στην ίδια μονάδα χρόνου.
Φιλικά
Σταύρος
 
Νομίζω ότι αυτό που ενδιαφέρει είναι κυρίως η διασπορά τους ανά πυρήνα.
Η παραπάνω εικόνα είναι ένα snapshot, οπότε τα νούμερα σε βάθος χρόνου θα μεγαλώνουν.
Για να έχει νόημα η σύγκριση των απολύτων νούμερων, θα πρέπει – τα snapshots - να έχουν ληφθει στην ίδια μονάδα χρόνου.
Φιλικά
Σταύρος
Ναι Σταύρο το κατάλαβα... Όσο περνάει η ώρα τα νούμερα μεγαλώνουν! :)
Το σκέφτηκα εκ των υστέρων!

Sent from my Nexus 5X
 
Το Boss DAC είναι συμβατό με το Raspberry Pi B;
Στα specs λέει ότι είναι συμβατό με 2 και 3.