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

Θα σου αναφέρω τι ξέρω ότι ισχύει και μάλιστα για τον τελευταίο MPD όπου έχει αλλάξει και η σύντσξη στο mpd.conf (δε θυμάμαι πότε άλλαξε).


Κατ αρχάς υποθέτουμε ότι ο mpd έχει γίνει compile με υποστήριξη soxr και στο mpd.conf είναι ενεργοποιημένος:

Code:
resampler {
  plugin "soxr"
  quality "very high"
}


Στη συνέχεια πρέπει να προσθέσουμε τις παραμέτρους του resampling στο section του DAC:

Code:
audio_output {
enabled         "yes"
type            "alsa"
name            "MY DAC"
device          "hw:0,0"
# use the line below when enabling sox resampler
# the lines below are just some examples
format "192000:24:2"
#format "*:24:*"
auto_resample   "no"
auto_channels   "no"
auto_format     "no"
dop             "yes"
}

Παραπάνω, με τη γραμμή format, έχω ορίσει να γίνεται resample σε 24/192. An ήθελα να πειράξω μόνο το bit depth, θα μπορούσα να χρησιμοποιήσω τη γραμμή:

Code:
format "*:24:*"

Έτσι με τον παραπάνω τρόπο, θα είχα "καρφωτά" 24 bit, ανεξαρτήτως sample rate.


Αυτό που αναφέρεις για πολλαπλάσια δεν το έχω ψάξει και δεν το έχω δει και πουθενά να αναφέρεται στις παραμέτρους του sox στον MPD.

Ευχαριστώ!
Μπορείς να ορίσεις και 32bit;

Επίσης το mpd.conf και section του DAC που βρίσκονται;

Πάντως έχει λογική αν κάποιος μπει στην λογική του resampling να το κάνει με τα πολλαπλάσια των δύο "βασικών" συχνοτήτων δειγματοληψίας.
Ή αλλιώς το λεγόμενο "power of two" resampling που σημαίνει η αρχική συχνότητα στο x2, x4 κλπ ανάλογα μέχρι που ανεβαίνει ο εκάστοτε DAC.
Δλδ να μπορείς να πεις στον MPD να κάνει τα 44,1/88,2/176,4—> 352,8 και τα 48/96/192—>384
Έστω και με ξεχωριστή ρύθμιση για το κάθε ένα!
 
Το section του dac είναι αυτό που παρέθεσα στο δικό μου παράδειγμα και ξεκινάει με audio output {.

Το mpd.conf βρίσκεται στο:
Code:
/etc/mpd.conf

Αλλά δεν ξέρω αν είναι καλή ιδέα να βάλεις χέρι από τη στιγμή που χρησιμοποιείς διανομή που βάζει χέρι και το interface της. Μπορεί να υπάρξει κάποιο conflict.
 
Το section του dac είναι αυτό που παρέθεσα στο δικό μου παράδειγμα και ξεκινάει με audio output {.

Το mpd.conf βρίσκεται στο:
Code:
/etc/mpd.conf

Αλλά δεν ξέρω αν είναι καλή ιδέα να βάλεις χέρι από τη στιγμή που χρησιμοποιείς διανομή που βάζει χέρι και το interface της. Μπορεί να υπάρξει κάποιο conflict.
Αν δεν κάνω λάθος το Rune που χρησιμοποιώ δεν κάνει resampling .. μόνο το MoOde.
 
Για να πειράξεις τις παραμέτρους, πρέπει αρχικά να ξέρεις αν το Runeaudio έχει mpd με υποστήριξη soxr. Κατ' επέκταση αυτό που είπα είναι ότι δεν ξέρω τι θα γίνει αν βάλεις χέρι στο mpd.conf ενώ βάζει και το interface του Runeaudio. Παλιά ανέφεραν να μη γίνεται χειροκίνητο editing του αρχείου αυτού.
 
screenshot1.PNG
Και με το putty βγαζει αυτο που περιγραφεις Μιχαλη...
Οποτε αυτο θελει καποια ρυθμιση για να δινει τα σωστα sampling rates (τουλαχιστον στα 16/44,1) η το αφηνουμε ως εχει ?
 
Για να πειράξεις τις παραμέτρους, πρέπει αρχικά να ξέρεις αν το Runeaudio έχει mpd με υποστήριξη soxr. Κατ' επέκταση αυτό που είπα είναι ότι δεν ξέρω τι θα γίνει αν βάλεις χέρι στο mpd.conf ενώ βάζει και το interface του Runeaudio. Παλιά ανέφεραν να μη γίνεται χειροκίνητο editing του αρχείου αυτού.

Αυτό είναι πολύ σωστό. Π.χ. το Volumio που πείραζα τις προάλλες κάθε φορά που ξεκίναγε (ή έκανε reset) κούρευε όλες τις αλλαγές που είχα κάνει με το χέρι στο mpd.conf.
 
Για να πειράξεις τις παραμέτρους, πρέπει αρχικά να ξέρεις αν το Runeaudio έχει mpd με υποστήριξη soxr. Κατ' επέκταση αυτό που είπα είναι ότι δεν ξέρω τι θα γίνει αν βάλεις χέρι στο mpd.conf ενώ βάζει και το interface του Runeaudio. Παλιά ανέφεραν να μη γίνεται χειροκίνητο editing του αρχείου αυτού.

Music Player Daemon 0.19.19-dsd
αυτόν χρησιμοποιεί (από το debug το πήρα) υποστιρίζει soxr;

Ευχαριστώ πολύ! Δεν θα το πειράξω απλα να ρίξω μια ματιά θέλω... :)
 
Code:
###################################
# Auto generated mpd.conf file
# please DO NOT edit it manually!
# Use RuneUI MPD config section
###################################

log_level	"default"
log_file	"/var/log/runeaudio/mpd.log"
state_file	"/var/lib/mpd/mpdstate"
zeroconf_enabled 	"yes"
zeroconf_name 	"runeaudio"
bind_to_address "/run/mpd.sock"
bind_to_address 	"any"
port 	"6600"
max_connections 	"20"
user 	"mpd"
group 	"audio"
db_file 	"/var/lib/mpd/mpd.db"
sticker_file 	"/var/lib/mpd/sticker.sql"
pid_file 	"/var/run/mpd/pid"
music_directory 	"/mnt/MPD"
playlist_directory 	"/var/lib/mpd/playlists"
follow_outside_symlinks 	"yes"
follow_inside_symlinks 	"yes"
auto_update 	"yes"
filesystem_charset 	"UTF-8"
id3v1_encoding 	"UTF-8"
volume_normalization 	"no"
audio_buffer_size 	"4096"
buffer_before_play 	"30%"
gapless_mp3_playback 	"yes"
mixer_type 	"disabled"

input {
	plugin 	"curl"
}

decoder {
	plugin 	"ffmpeg"
	enabled "yes"
}
replaygain 	"off"

audio_output {
	name 		"Evo Dac Two"
	type 		"alsa"
	device 		"hw:0,0"
	dsd_usb 	"yes"
	auto_resample 	"no"
	auto_format 	"no"
	enabled 	"yes"
}

προφανώς δεν υπάρχει ο soxr στον mpd της έκδοσης που χρησιμοποιώ ... ναι;
 
View attachment 139546
Και με το putty βγαζει αυτο που περιγραφεις Μιχαλη...
Οποτε αυτο θελει καποια ρυθμιση για να δινει τα σωστα sampling rates (τουλαχιστον στα 16/44,1) η το αφηνουμε ως εχει ?

Κάνε το παρακάτω:
Code:
wget [url]https://raw.githubusercontent.com/ronalde/mpd-configure/master/alsa-capabilities[/url]
chmod +x alsa-capabilities
./alsa-capabilities

Θα πάρεις ένα output της μορφής:
Code:
 1) USB Audio Class Digital alsa audio output interface `hw:1,0'
 - device name       = S16 USB DAC                                                 
 - interface name    = USB Audio                                                   
 - usb audio class   = 2 - isochronous asynchronous                                
 - character device  = /dev/snd/pcmC1D0p                                           
 - encoding formats  = S32_LE                                                      
 - monitor file      = /proc/asound/card1/pcm0p/sub0/hw_params                     
 - stream file       = /proc/asound/card1/stream0

Εμένα όπως βλέπεις, λέει ότι το μόνο supported encoding format είναι τα 32bit. Εσένα τι λέει εκεί;
 
Code:
###################################
# Auto generated mpd.conf file
# please DO NOT edit it manually!
# Use RuneUI MPD config section
###################################

log_level	"default"
log_file	"/var/log/runeaudio/mpd.log"
state_file	"/var/lib/mpd/mpdstate"
zeroconf_enabled 	"yes"
zeroconf_name 	"runeaudio"
bind_to_address "/run/mpd.sock"
bind_to_address 	"any"
port 	"6600"
max_connections 	"20"
user 	"mpd"
group 	"audio"
db_file 	"/var/lib/mpd/mpd.db"
sticker_file 	"/var/lib/mpd/sticker.sql"
pid_file 	"/var/run/mpd/pid"
music_directory 	"/mnt/MPD"
playlist_directory 	"/var/lib/mpd/playlists"
follow_outside_symlinks 	"yes"
follow_inside_symlinks 	"yes"
auto_update 	"yes"
filesystem_charset 	"UTF-8"
id3v1_encoding 	"UTF-8"
volume_normalization 	"no"
audio_buffer_size 	"4096"
buffer_before_play 	"30%"
gapless_mp3_playback 	"yes"
mixer_type 	"disabled"

input {
	plugin 	"curl"
}

decoder {
	plugin 	"ffmpeg"
	enabled "yes"
}
replaygain 	"off"

audio_output {
	name 		"Evo Dac Two"
	type 		"alsa"
	device 		"hw:0,0"
	dsd_usb 	"yes"
	auto_resample 	"no"
	auto_format 	"no"
	enabled 	"yes"
}

προφανώς δεν υπάρχει ο soxr στον mpd της έκδοσης που χρησιμοποιώ ... ναι;


Για να δεις αν έχεις υποστήριξη sox, τρέξε το

Code:
mpd -V

Αν ο mpd έχει χτιστεί με sox support, μεταξύ άλλων θα δεις και αυτό το section:

Code:
Filters:
 soxr

Αν το δεις, επειδή έχεις παλιό mpd, δεν ισχυει ότι έγραψα παραπάνω. Αν θυμάμαι καλά για να ενεργοποιήσεις στην περίπτωσή σου θες απλά τη γραμμή:
Code:
samplerate_converter "soxr very high"

και μετά για το format ισχύει ότι και στο προηγούμενο παράδειγμα.
 
Για να δεις αν έχεις υποστήριξη sox, τρέξε το

Code:
mpd -V

Αν ο mpd έχει χτιστεί με sox support, μεταξύ άλλων θα δεις και αυτό το section:

Code:
Filters:
 soxr

Αν το δεις, επειδή έχεις παλιό mpd, δεν ισχυει ότι έγραψα παραπάνω. Αν θυμάμαι καλά για να ενεργοποιήσεις στην περίπτωσή σου θες απλά τη γραμμή:
Code:
samplerate_converter "soxr very high"

και μετά για το format ισχύει ότι και στο προηγούμενο παράδειγμα.

Δεν υπάρχει...
Code:
root@runeaudio(rw):~# mpd -V
Music Player Daemon 0.19.19-dsd

Copyright (C) 2003-2007 Warren Dukes <[email protected]>
Copyright (C) 2008-2014 Max Kellermann <[email protected]>
This is free software; see the source for copying conditions.  There is NO
warranty; not even MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Database plugins:
 simple proxy upnp

Storage plugins:
 local smbclient nfs

Neighbor plugins:
 smbclient upnp

Decoders plugins:
 [mad] mp3 mp2
 [vorbis] ogg oga
 [oggflac] ogg oga
 [flac] flac
 [sndfile] wav aiff aif au snd paf iff svx sf voc w64 pvf xi htk caf sd2
 [audiofile] wav au aiff aif
 [dsdiff] dff
 [dsf] dsf
 [faad] aac
 [ffmpeg] 16sv 3g2 3gp 4xm 8svx aa3 aac ac3 afc aif aifc aiff al alaw amr anim a                                                                                        pc ape asf atrac au aud avi avm2 avs bap bfi c93 cak cin cmv cpk daud dct divx d                                                                                        ts dv dvd dxa eac3 film flac flc fli fll flx flv g726 gsm gxf iss m1v m2v m2t m2                                                                                        ts m4a m4b m4v mad mj2 mjpeg mjpg mka mkv mlp mm mmf mov mp+ mp1 mp2 mp3 mp4 mpc                                                                                         mpeg mpg mpga mpp mpu mve mvi mxf nc nsv nut nuv oga ogm ogv ogx oma ogg omg op                                                                                        us psp pva qcp qt r3d ra ram rl2 rm rmvb roq rpl rvc shn smk snd sol son spx str                                                                                         swf tak tgi tgq tgv thp ts tsp tta xa xvid uv uv2 vb vid vob voc vp6 vmd wav we                                                                                        bm wma wmv wsaud wsvga wv wve
 [pcm]

Output plugins:
 null fifo pipe alsa jack httpd

Encoder plugins:
 null vorbis wave flac

Input plugins:
 file alsa curl ffmpeg smbclient nfs mms

Playlist plugins:
 extm3u m3u pls xspf asx rss soundcloud cue embcue

Protocols:
 file:// http:// https:// mms:// mmsh:// mmst:// mmsu:// gopher:// rtp:// rtsp:/                                                                                        / rtmp:// rtmpt:// rtmps:// smb:// nfs:// alsa://

Πάντως σε αυτό το post δίνουν έναν τρόπο να το εγκαταστήσει και να το ενεργοποιήσει κανείς αλλά μου φαίνεται αρκετά δύσκολο και δεν νομίζω πως θα το προσπαθήσω!
 
Μια χαρά είναι και εξηγεί και γιατί ενώ παίζεις 16μπιτα αρχεία, βλέπεις 24bit στην έξοδο. Η περίπτωσή σου είναι όπως ακριβώς και η δική μου μόνο που αντί για 32bit μιλάμε για 24.

Πρακτικά και απ' όσο έχω καταλάβει, η το έυρος από τα 16 έως και τα 24 bit "γεμίζει" με μηδενική πληροφορία, μην προκαλώντας κανένα απολύτως πρόβλημα. Καλύτερη εξήγηση πάνω σε αυτό θα σου δώσουν άλλα μέλη μας που κατέχουν και περισσότερο.
 
Τώρα κατάλαβα ότι μιλάμε για Archphile. Δεν ξέρω ποια έκδοση έχεις, αλλά είναι πολύ πιθανό να έχεις ήδη το alsacap προεγκατεστημένο. Αν θες, δοκίμασε (χωρίς να παίζει μουσική) την εντολή alsacap και λογικά θα πάρεις την ίδια πληροφορία με πολύ ευκολότερο τρόπο!

BTW, σβήσε και το script που κατέβασες αν δεν το χρειάζεσαι πια με την εντολή:

Code:
rm alsa-capabilities
 
Και για τα υπολοιπα μιλαγαμε μιας και ειχα spare μια καρτα δοκιμασα και το archphile ειχα χρονο σημερα .Το εστησα και μαλλον θα μεινει κατι αποριες που παιζουν θα τις γραψω στο δικο του νημα...

Στάλθηκε από το SM-J320FN μου χρησιμοποιώντας Tapatalk
 
Για να δεις αν έχεις υποστήριξη sox, τρέξε το

Code:
mpd -V

Αν ο mpd έχει χτιστεί με sox support, μεταξύ άλλων θα δεις και αυτό το section:

Code:
Filters:
 soxr

Αν το δεις, επειδή έχεις παλιό mpd, δεν ισχυει ότι έγραψα παραπάνω. Αν θυμάμαι καλά για να ενεργοποιήσεις στην περίπτωσή σου θες απλά τη γραμμή:
Code:
samplerate_converter "soxr very high"

και μετά για το format ισχύει ότι και στο προηγούμενο παράδειγμα.

Code:
###################################
# Auto generated mpd.conf file
# please DO NOT edit it manually!
# Use RuneUI MPD config section
###################################

log_level	"default"
log_file	"/var/log/runeaudio/mpd.log"
state_file	"/var/lib/mpd/mpdstate"
zeroconf_enabled 	"yes"
zeroconf_name 	"runeaudio"
bind_to_address "/run/mpd.sock"
bind_to_address 	"any"
port 	"6600"
max_connections 	"20"
user 	"mpd"
group 	"audio"
db_file 	"/var/lib/mpd/mpd.db"
sticker_file 	"/var/lib/mpd/sticker.sql"
pid_file 	"/var/run/mpd/pid"
music_directory 	"/mnt/MPD"
playlist_directory 	"/var/lib/mpd/playlists"
follow_outside_symlinks 	"yes"
follow_inside_symlinks 	"yes"
auto_update 	"yes"
filesystem_charset 	"UTF-8"
id3v1_encoding 	"UTF-8"
volume_normalization 	"no"
audio_buffer_size 	"4096"
buffer_before_play 	"30%"
gapless_mp3_playback 	"yes"
mixer_type 	"disabled"

input {
	plugin 	"curl"
}

decoder {
	plugin 	"ffmpeg"
	enabled "yes"
}
replaygain 	"off"

audio_output {
	name 		"Evo Dac Two"
	type 		"alsa"
	device 		"hw:0,0"
	dsd_usb 	"yes"
	auto_resample 	"no"
	auto_format 	"no"
        format "192000:24:2"
        samplerate_converter "soxr very high" 
	enabled 	"yes"
}

τελικά δεν κρατήθηκα και έκανα την δοκιμή και παίζει κανονικά παρά το ότι το
Code:
mpd -V
δεν έδωσε
Code:
filters soxr

τι μπορεί να συμβαίνει;

το output του cat /proc/asound/card*/pcm*p/sub*/hw_params είναι το παρακάτω
Code:
root@runeaudio(rw):~# cat /proc/asound/card*/pcm*p/sub*/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 192000 (192000/1)
period_size: 24000
buffer_size: 96000

Ερώτηση:
θα μπορούσα να χρησιμοποιήσω και
format "176400 ή 192000:24 ή 32:2"

και τέλος πάνω από 192000 δεν πάει ο εν λόγω MPD ναι;

Ευχαριστώ προκαταβολικά!!

(δεν ξερω αν θα τα κρατήσω όλα τα παραπάνω αλλά έτσι για τον πειραματισμό)
 
Κάνει resample με άλλο resampler και όχι με τον sox. Λογικά παίζεις με τον internal:

https://www.musicpd.org/doc/user/resampler_plugins.html

Ο mpd δεν έχει καποιον περιορισμό ως προς το sample rate.

Επίσης αν είχες sox θα έπρεπε να βγάλεις τη γραμμή που ορίζεις το 'very high' εξω απο το section του dac.

Sent from my mind using Tapatalk
 
Κάνει resample με άλλο resampler και όχι με τον sox. Λογικά παίζεις με τον internal:

https://www.musicpd.org/doc/user/resampler_plugins.html

Ο mpd δεν έχει καποιον περιορισμό ως προς το sample rate.

Επίσης αν είχες sox θα έπρεπε να βγάλεις τη γραμμή που ορίζεις το 'very high' εξω απο το section του dac.

Sent from my mind using Tapatalk
Ευχαριστώ Μιχάλη!
Πίσω στο bit perfect!