Jim Salk | 19 Jan 15:55 2014
Picon

Static on playback

I have used ALSA/MPD for a few years now with great success.  But I recently ran into DACs that do not appear to work with this setup.  They are rated up to 24/96 with a USB input.

 

The first DAC in question is a Jeff Roland Aeris DAC.  This DAC costs about $6000 (although price is not always a good measure of performance).

 

When the customer hooked up his player via USB, the volume was very low and there was random static in the playback.  We contacted Jeff Roland and they put us in touch with a gentleman named Thomas Holm of Holm Acoustics.  Since I was in the US and the customer in question was in Australia, Thomas suggested I pick up a Parasound ZDAC for testing (which I did).  He indicated that he worked on both USB interfaces and the Parasound unit used the same enumeration as the Aeris DAC.

 

When I tested the Parasound DAC, I got the same results.  While the volume was not an issue, static interrupted the music randomly, more so toward the beginning of each music cut but randomly throughout.

 

Both of these DACs are said to work under both MAC and Linux.  But neither seems to play nice with Linux (Voyage MPD 0.9.2 - the latest version).

 

These DACs are not USB Class 2.0 audio.  According to Thomas, they are USB 1.1.

 

Is there anything I can do to get these DACs working properly with ALSA/MPD?

 

- Jim

------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team
Marcello Desantis | 19 Jan 13:14 2014
Picon

Music corruption when playing http://... WAV files - Analysis

Hi all,

when I try to play a WAV file streamed by a media server I get a corrupted playback. The same file, retrieved
with "curl -o … http://…" and played as a local file works flawlessly.

Further investigations show that it is due to a bad interaction between the CurlInputPlugin and the
libsndfile library used to decode the stream.

The problem itself is very simple: libsndfile needs that the read function in CurlInputPlugin return a
number of bytes that is a multiple of the frames size of the WAV file being decoded (4, 6 or 8 bytes for 16, 24,
32 bit depth, respectively, for a 2 channel PCM stream). If the read function doesn’t return whole
frames, libsndfile discards the last “remaining” bytes of the returned buffer and the corruption occurs.

So the different behavior between the http stream and the local file is easily explained: CurlInputPlugin
doesn’t always return the requested number of bytes whereas FileInputPlugin always returns the
requested number of bytes, making libsndfile happy.

I tried to think to several solutions, but as long as the whole read functions chain doesn’t include a
“nbr of items” parameter, the only viable solution seems to be CurlInputPlugin block until the
request number of bytes can be returned to the caller (or EOF is reached).

Any comment?

Marcello
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
Charles Philip Chan | 16 Jan 02:55 2014
X-Face
Picon

Strange Problem with ALSA

Hello all:

I recent reported a strange ALSA output problem[1] on the tracker and I
don't see why it is closed. It has to do with permissions. I have my
"snd" devices setup with the following permissions:

,----[ ls -la /dev/snd ]
| drwxr-xr-x   4 root root      260 Jan 15 19:06 .
| drwxr-xr-x  21 root root     4620 Jan 15 19:09 ..
| drwxr-xr-x   2 root root       60 Jan 15 19:06 by-id
| drwxr-xr-x   2 root root       80 Jan 15 19:06 by-path
| crw-rw----+  1 root audio 116,  6 Jan 15 19:06 controlC0
| crw-rw----+  1 root audio 116,  8 Jan 15 19:06 controlC1
| crw-rw----+  1 root audio 116,  5 Jan 15 19:06 pcmC0D0c
| crw-rw----+  1 root audio 116,  4 Jan 15 19:06 pcmC0D0p
| crw-rw----+  1 root audio 116,  3 Jan 15 19:06 pcmC0D1p
| crw-rw----+  1 root audio 116,  2 Jan 15 19:06 pcmC0D2p
| crw-rw----+  1 root audio 116,  7 Jan 15 19:06 pcmC1D0c
| crw-rw----+  1 root audio 116,  1 Jan 15 19:06 seq
| crw-rw----+  1 root audio 116, 33 Jan 15 19:06 timer
`----

,----[ ps -aux | grep ^mpd ]
| mpd      11035  0.1  0.4 581228 16508 ?        Ssl  20:37   0:00 /usr/bin/mpd /etc/mpd.conf
`----

and I have MPD in the "audio" group. I verify that I can play sound from
the MPD account:

,----
| sudo -u mpd ogg123 /usr/share/sounds/KDE-Sys-App-Error.ogg
`----

However, this is what I get in my log when I try playing from the
daemon:

,----
| Failed to open "My ALSA Device" [alsa]: Failed to open ALSA device
| "default": Permission denied
`----

However, it works if I give every account permission to output audio
This used to work with the previous version that I was using (0.14.0).

For reference, this is what a get if I trying playing from an account
not in the "audio" group:

,----
| ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
| ALSA lib conf.c:4248:(_snd_config_evaluate) function snd_func_card_driver returned error:
Permission denied
| ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
| ALSA lib conf.c:4248:(_snd_config_evaluate) function snd_func_concat returned error: Permission denied
| ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
| ALSA lib conf.c:4248:(_snd_config_evaluate) function snd_func_refer returned error: Permission denied
| ALSA lib conf.c:4727:(snd_config_expand) Evaluate error: Permission denied
| ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM default
| === Could not load default driver and no driver specified in config file. Exiting.
`----

I am just curious as to what is going on here.

Thanks.

Charles

Footnotes: 
[1] http://bugs.musicpd.org/view.php?id=3937

--

-- 
"...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and
the Ugly)."
(By Matt Welsh)
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team
Aylin Toprak | 15 Jan 00:38 2014
Picon

[SPAM] Şirketinizi Toplu Mail ile Tanıtın

Bu maili görüntülemekte sorun yaşıyorsanız buraya tıklayınız

MAİL GÖNDERİM PAKETLERİMİZ

25.000 GÖNDERİM KREDİSİ: 100 TL
50.000 GÖNDERİM KREDİSİ: 175 TL

75.000 GÖNDERİM KREDİSİ: 250 TL
100.000 GÖNDERİM KREDİSİ: 325 TL
ÖZELLİKLER
Kontrol Paneli (Web)
Raporlama 8 adet
Üyelikten çıkma (otomatik)
Geçersiz mail kontrolü
Sınırsız liste oluşturma
Excel, Txt olarak mail yükleme
100 Farklı Class IP ve SenderScore yüksek olan IP lerle gönderim yapıyoruz. SPF,RDNS,DKIM ve bazı spam filtrelerine Whitelist olarak kayıtlı şekilde gönderimlerinizi yapıyoruz.
Wordpress,Joomla vb.. sitelerinize entegre edebilirsiniz.

Neden TOPLUMAILCIM.COM? Çünkü tek işimiz bu, 7/24 destek veriyoruz.Müşterilerimizi önemsiyoruz.

400.000 ve üzeri gönderimlerde Email Şablonunuz "Iphone, İpad, Android, Outlook vb." tarayıcılar tarafından sorunsuz olarak açılabilir şekilde tasarlıyoruz

Tel: 08503026277 - Web: www.toplumailcim.com

Tekrar mail almak istemiyorsanız lütfen buraya tıklayınız
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team
Andrée Ekroth | 13 Jan 22:43 2014
Picon

Re: [pull request] fix buffer and segfault in encoder/shine

On 13 January 2014 22:04, Andrée Ekroth <andree.ekroth <at> gmail.com> wrote:
On 13 January 2014 21:58, Max Kellermann <max <at> duempel.org> wrote:
On 2014/01/13 21:52, Andrée Ekroth <andree.ekroth <at> gmail.com> wrote:
>    Hello,
>    - I have removed the unnecessary buffer we talked about in the
>    IRC.

Merged.

>    - I also found a bug in the shine library which I added a workaround for.
>    Basically the encoder can't initialize until MPD calls write the first
>    time, or else it results in a segmentation fault.

Hm, I don't like how you did this.  This bug is unfortunate, but your
workaround complicates the code.

Another idea: if nothing was written, the "close" method shall write
zeroes.  The advantage is that the workaround lives only inside the
"close" method, and there's no initialization postponed to the "write"
method.

That should work, I'll look into that. 
 

Note that this commit introduces a compiler warning because the
"error" parameter is now unused.  I always configure with
"--enable-werror", please do the same. 

Yup, noticed it the very second I got your response.
 

When you find a typo in your commit, don't write a new commit - amend
the existing one.  (Given that the wrong commit was not yet merged.)

Right, I'll keep this in mind. 

Hello again,

Workaround fixed. Writing zeroes worked and was a much simpler solution.

git pull git <at> github.com:ekroth/mpd.git shine
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team
Andrée Ekroth | 13 Jan 21:52 2014
Picon

[pull request] fix buffer and segfault in encoder/shine

Hello,

- I have removed the unnecessary buffer we talked about in the IRC.
- I also found a bug in the shine library which I added a workaround for.
Basically the encoder can't initialize until MPD calls write the first time, or else it results in a segmentation fault.

git pull git <at> github.com:ekroth/mpd.git shine

Please let me know if there are problems with coding style etc.
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team
Zeynep Aktan | 13 Jan 15:50 2014
Picon

Re: Aylık Dergi, Sürekli İngilizce

Bu maili görüntülemekte sorun yaşıyorsanız buraya tıklayınız

Hot English Magazine ! Güncel, Canlı, Eğlenceli aylık İNGİLİZCE DERGİ

Dikilitaş Mah. Hora Sok. No:10/11 Beşiktaş - İstanbul
Tel: 0212 258 70 58

Mail almak istemiyorsanız buraya tıklayınız
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team
Steven OBrien | 8 Jan 22:48 2014
Picon

user documentation for alsa input plugin

The attached patch adds a simple section to doc/user.xml
for the Alsa input plugin
Steven
Attachment (mpd-alsa-input-doc.patch): text/x-patch, 1631 bytes
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team
Pack 31 Idiomas | 8 Jan 08:40 2014
Picon

musicpd-dev-team El Mas Reconocido A Nivel Mundial Aprovecha Por Pocos Dias Precio Rebajado

rcqs   Hola, este email tiene como unico destinatari o musicpd-dev-team (musicpd-dev-team <at> lists.sourceforge.net) 

Si no podes visualizar este correo, podes hacerlo clickeando en este enlace.

Pack 31 Idiomas Rosetta Stone 2013, el mas reconocido a Nivel Mundial

Aprenda 31 idiomas en la comodidad de su casa con el metodo mas efectivo de los ultimos tiempos.

Rosetta Stone es el curso de idiomas mas avanzado y reconocido a nivel mundial por utilizar un sistema casi intuitivo

de manera que el alumno aprende de la miusma manera que aprendió su idiopma materno.

 

Mire en la web la descripción total y haga su pedido ahora mismo aprovechando la promocion que es solo por tiempo limitado


Para visitar la web y ver mas detalles haga CLIC ACA

Si no desea recibir mas información en (musicpd-dev-team <at> lists.sourceforge.net), puede desuscribirse enviando un email
a:      s a c a r d e l i s t a <at> t e l e c e n t r o . c o m . a r    y en asunto "remover de lista"

Sacarme de Lista de distribucion CLICK ACA
ffvj  

------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team
Steven OBrien | 7 Jan 13:59 2014
Picon

AlsaInputPlugin

Max - the AlsaInputPlugin now consumes 120% CPU on my 2-core processor, roughly 60% on each processor. I think the alsa poll event is firing too often.

Since my last update, I've been thinking that the alsa poll is really just a timer, it fires every time a fixed number of frames have been written to its internal buffer, and as a real-time stream this equates to a fixed number of milli-seconds. So the MPD code would be much simpler if we could just use a TimeoutMonitor to produce the wake-up instead of trying to integrate with the alsa lib here.

The attached patch implements this idea. I get CPU load ~0.7%, which is the same as playing line-in via arecord | aplay, so I think there is little wasted overhead here. There is also an advantage (I think) that the alsa handle is now only referenced from one thread, I was unsure about using it in both threads. There is still a bit of guesswork, which is the exact length of timeout to use. I have selected twice the time it takes to fill the read buffer which works well on my laptop - I don't have the experience to know if this is a good general solution.

Do you think this implementation is OK in principle, or should I look again at the polling solution?

Thanks
Steven
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team
Lukas Stabe | 6 Jan 05:40 2014
Picon

Feature suggestion: Next songs list

Hi! (and sorry for the lengthy mail, tldr at the bottom)

I have a feature suggestion which, imho, would vastly simplify everything to do with
what song comes next.

But first, some context:

Currently mpd has a playlist with songs on it.
It decides which song to play next based on the playback mode (random or not),
which song comes after the current one and the priority each song in the playlist has.

This priority can be used to prefer certain songs to enable something like “play this song next,
then continue with the current playlist”.

Additionally there is the consume state, which controls wether songs are removed from the playlist
after they have been played. Afaik, there is no way to set this for individual songs.

These two mechanisms, priority and consume, seem to me exist mainly to provide means to add a track
or some tracks to be played next, even if the playlist is set to shuffle.

For me, this feels very “bolted on" after the initial playlist system was implemented.

It also comes with some other problems:
- Imagine a client is told to “play this song next”, so it sets the priority of the song to 1.
  Now the user wants another track played after the next, so the old next track’s priority has to 
  be changed to 2 and the second track gets priority 1.
- It limits the number of songs that can be “enqueued” for playing next to 255.
- If the tracks to be played next should not stay on the playlist, a client has to:
  a) remove them after they have been played or
  b) set consume to yes and reset it to no after the tracks were played

I would like to suggest an alternative to this system, which is, imho, cleaner and more easy to
understand and use, for developers of clients and users alike.

My suggestion is to add an additional list of tracks to be played next. For lack of a better name
i’ll call it the ‘queue’ (although it is not a queue in the strict sense, items could be reordered etc).

When mpd finishes playing a song and the number of tracks in the queue is not zero, it plays the
first song in the queue and removes it from the queue. When there are no tracks left in the queue,
mpd resumes playing the playlist where it left of.

This queue would never be played shuffled, and songs will always be consumed after being played.

With such a feature handled by mpd, i believe more clients would start adding support for “play this next”,
which would be a good thing.

I think this would be a good feature for mpd ;) (I also think it might simplify the codebase in some places).

What do you think?

tldr:
Add a queue of songs to play next which is preferred over the playlist. Songs are always removed from this
list after being played and the first song is always chosen when determining which song to play next. Do
away with the current priority and consume cruft.
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team

Gmane