Re: /dev/audio: Device busy

Previous thread: X.org killing HAL? by Aaron Mason on Thursday, October 1, 2009 - 7:26 pm. (2 messages)

Next thread: problem on route6d by Marco Huang on Thursday, October 1, 2009 - 8:24 pm. (1 message)
From: Buzzer
Date: Thursday, October 1, 2009 - 7:33 pm

Hope english list would be more useful, than russian.

I need to play a few audio files simultaneously. For example, when I
listen music, Psi should be able to play event sound. The problem is -
can't open /dev/audio: Device busy.

OpenBSD 4.5
sb1 at isapnp0 "Creative SB AWE64 PnP, CTL0045, , Audio" port
0x220/16,0x330/2,0 x388/4 irq 5 drq 1,5: dsp v4.16
audio0 at sb1

-- 
/Buzzer		() KAMPANIQ ascii ribbon - PROTIW PISEM W html FORMATE
		/\ www.asciiribbon.org   - PROTIW PROPRIETARNYH WLOVENIJ

From: David Hoskin
Date: Thursday, October 1, 2009 - 8:22 pm

man 1 aucat

From: Buzzer
Date: Thursday, October 1, 2009 - 8:49 pm

pO DANNYM RADIOPEREHWATA OT  1-Oct-2009 20:22, David Hoskin

Could you be more verbose? What make you think that I did not read man
aucat?

-- 
/Buzzer		() KAMPANIQ ascii ribbon - PROTIW PISEM W html FORMATE
		/\ www.asciiribbon.org   - PROTIW PROPRIETARNYH WLOVENIJ

From: Paul de Weerd
Date: Thursday, October 1, 2009 - 10:18 pm

On Thu, Oct 01, 2009 at 08:49:10PM -0700, Buzzer wrote:
| pO DANNYM RADIOPEREHWATA OT  1-Oct-2009 20:22, David Hoskin
| BYL ZAME^EN W \FIRE, NA ^ASTOTE misc, S TAKIM SOOB]ENIEM:
|
| > > I need to play a few audio files simultaneously.
| >
| > > can't open /dev/audio: Device busy.
| >
| > man 1 aucat
|
| Could you be more verbose? What make you think that I did not read man
| aucat?

I think Davids mindreading device is broken, so he couldn't tell you
tried aucat. Mine seems to be misfunctioning too, can you share with
the list what problems you had with aucat in servermode ? Did it give
any errormessages ?

You know, if you assume we can read your mind, we're going to make
some assumptions of our own...

Paul 'WEiRD' de Weerd

+++++++++++>-]<.>++[<------------>-]<+.--------------.[-]
                 http://www.weirdnet.nl/

From: Buzzer
Date: Friday, October 2, 2009 - 2:33 pm

pO DANNYM RADIOPEREHWATA OT  2-Oct-2009 07:18, Paul de Weerd

I ran aucat with '-l' key, then I try to play wav file with 'aucat
file.wav' command or 'aucat -s deafault file.wav'.

aucat -s default send.wav
aucat: can't open /dev/audio: Device busy

I'm waiting for step by step advices. It would be good idea to make
suitable issue in the FAQ.

-- 
/Buzzer		() KAMPANIQ ascii ribbon - PROTIW PISEM W html FORMATE
		/\ www.asciiribbon.org   - PROTIW PROPRIETARNYH WLOVENIJ

From: Buzzer
Date: Friday, October 2, 2009 - 4:09 pm

pO DANNYM RADIOPEREHWATA OT  2-Oct-2009 16:51, Beto


-- 
/Buzzer		() KAMPANIQ ascii ribbon - PROTIW PISEM W html FORMATE
		/\ www.asciiribbon.org   - PROTIW PROPRIETARNYH WLOVENIJ

From: Jacob Meuser
Date: Friday, October 2, 2009 - 4:14 pm

a terrible option, especially considering support for esd

-- 
jakemsr@sdf.lonestar.org
SDF Public Access UNIX System - http://sdf.lonestar.org

From: Jacob Meuser
Date: Friday, October 2, 2009 - 4:10 pm

step 1:
$ aucat -l


yeah, aucat server should probably be mentioned in faq13 somewhere.

-- 
jakemsr@sdf.lonestar.org
SDF Public Access UNIX System - http://sdf.lonestar.org

From: Buzzer
Date: Friday, October 2, 2009 - 5:21 pm

pO DANNYM RADIOPEREHWATA OT  2-Oct-2009 23:10, Jacob Meuser


$ aucat chat1.wav
$ echo $?
0
$ aucat -l
$ aucat chat1.wav
aucat: can't open /dev/audio: Device busy
aucat: chat1.wav: could not play

$ echo $?
1

$ kill -s INT $(ps -axc | grep aucat | awk {'print($1)'})
$ aucat chat1.wav
$ echo $?
0

On ttyC0 following message appers: 'sbdsp_trigger_input: width=8 bad

I mean multiplex play.

-- 
/Buzzer		() KAMPANIQ ascii ribbon - PROTIW PISEM W html FORMATE
		/\ www.asciiribbon.org   - PROTIW PROPRIETARNYH WLOVENIJ

From: Jacob Meuser
Date: Friday, October 2, 2009 - 6:03 pm

aucat(1) on 4.5 clearly says legacy mode (when none of -i, -o, or
-l is used) will write TO THE DEVICE.  on 4.5, aucat "legacy mode"
does not work with the aucat server.  it's called "legacy mode"


-- 
jakemsr@sdf.lonestar.org
SDF Public Access UNIX System - http://sdf.lonestar.org

From: Buzzer
Date: Friday, October 2, 2009 - 9:38 pm

pO DANNYM RADIOPEREHWATA OT  3-Oct-2009 01:03, Jacob Meuser

I just do what most peoples advice me. There are advice to run aucat

On FreeBSD multiplex play support can be turn on very easy.

-- 
/Buzzer		() KAMPANIQ ascii ribbon - PROTIW PISEM W html FORMATE
		/\ www.asciiribbon.org   - PROTIW PROPRIETARNYH WLOVENIJ

From: Jacob Meuser
Date: Friday, October 2, 2009 - 10:16 pm

*sigh*

why do I even bother ...

-- 
jakemsr@sdf.lonestar.org
SDF Public Access UNIX System - http://sdf.lonestar.org

From: Buzzer
Date: Saturday, October 3, 2009 - 2:33 pm

pO DANNYM RADIOPEREHWATA OT  3-Oct-2009 05:16, Jacob Meuser

If aucat are able to play without '-i', then '-i' is a rudiment (on my

Long story.

-- 
/Buzzer		() KAMPANIQ ascii ribbon - PROTIW PISEM W html FORMATE
		/\ www.asciiribbon.org   - PROTIW PROPRIETARNYH WLOVENIJ

From: Jacob Meuser
Date: Friday, October 2, 2009 - 6:59 pm

see the BUGS section of sb(4) (and consider getting different
hardware).

you may want to use '-m play' when sarting aucat server.

-- 
jakemsr@sdf.lonestar.org
SDF Public Access UNIX System - http://sdf.lonestar.org

From: Buzzer
Date: Friday, October 2, 2009 - 9:33 pm

pO DANNYM RADIOPEREHWATA OT  3-Oct-2009 01:59, Jacob Meuser

Do you suggest to change play.precision to 8? My hardware works

Device busy.

-- 
/Buzzer		() KAMPANIQ ascii ribbon - PROTIW PISEM W html FORMATE
		/\ www.asciiribbon.org   - PROTIW PROPRIETARNYH WLOVENIJ

From: Jacob Meuser
Date: Saturday, October 3, 2009 - 12:07 am

no, I suggest you read sb(4), google up some datasheets, look
at src/sys/dev/isa/sb* and make it work like you think it should.
then share your work with everyone else, and try to help them



-- 
jakemsr@sdf.lonestar.org
SDF Public Access UNIX System - http://sdf.lonestar.org

From: Buzzer
Date: Saturday, October 3, 2009 - 2:33 pm

pO DANNYM RADIOPEREHWATA OT  3-Oct-2009 07:07, Jacob Meuser

Before advice it to eveyrone, make sure that everyone have suitable

I do not understand what you mean. Do you have something against

FAQ.

-- 
/Buzzer		() KAMPANIQ ascii ribbon - PROTIW PISEM W html FORMATE
		/\ www.asciiribbon.org   - PROTIW PROPRIETARNYH WLOVENIJ

From: Jacob Meuser
Date: Saturday, October 3, 2009 - 6:28 pm

From: Kenneth R Westerback
Date: Sunday, October 4, 2009 - 6:37 am

We just don't care what FreeBSD 4.11 does. We are not trying to do
the same things. Your hardware works on FreeBSD 4.11 because of
something they do. Other hardware works on OpenBSD because of

Annoying.

.... Ken

From: Alexandre Ratchov
Date: Sunday, October 4, 2009 - 9:03 am

please don't tell us what to do. We're neither your slaves,
nor we're payed to do what you ask for.

After reading all this thread, I don't feel enthousistic
about helping you. 

-- Alexandre

From: patrick keshishian
Date: Friday, October 2, 2009 - 10:47 pm

almost but not quite:

$ sysctl | grep kern.version
kern.version=OpenBSD 4.5-stable (GENERIC) #16: Tue Jul 28 23:38:32 PDT 2009

`aucat -l' was already started with my log in session.

$ ls -F /tmp/
aucat-1000/
$ aucat -i ~/sounds/submarine2.wav
$ echo $?
0

--patrick

From: Matthew Clarke
Date: Friday, October 2, 2009 - 7:05 pm

[ snip ]

The "LEGACY MODE" section of aucat(1) says that if neither -i nor -o are
given, aucat falls back to legacy mode; legacy mode wants to open the
device directly rather than going through the "aucat -l" server.  Use the
'-i' flag.

I start "aucat -l" in my .xsession and have both gkrellm's mail checker
and psi configured to use the following helper script to play event
sounds.  These event sounds mix into the music stream from mpd just fine.

------------------------------------------------------------------------------
#!/bin/ksh
# @(#)~clamat/bin/playsound -- Dump sound file to /dev/audio
##############################################################################

# aucat needs the file extension to figure out what parameters to set; if
# the file is a symbolic link, figure out the real name and give that to
# aucat so it can see the real extension (e.g. for my $HOME/sound/startup
# symbolic link that can point to .wav or .au file)

FILE="$1"

[[ -h $1 && -x /usr/bin/readlink ]] && FILE=$(/usr/bin/readlink -f "$FILE")

# If file exists and is not empty, send to sound card.
#
[[ -s $FILE ]] && exec /usr/bin/aucat -i "$FILE"
------------------------------------------------------------------------------

-- 
Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by
definition, not smart enough to debug it.  -- Kernighan
				-- quoted by Quentyn Taylor

From: Buzzer
Date: Friday, October 2, 2009 - 9:51 pm

pO DANNYM RADIOPEREHWATA OT  2-Oct-2009 19:05, Matthew Clarke

Got sound.

-- 
/Buzzer		() KAMPANIQ ascii ribbon - PROTIW PISEM W html FORMATE
		/\ www.asciiribbon.org   - PROTIW PROPRIETARNYH WLOVENIJ

From: Alexandre Ratchov
Date: Sunday, October 4, 2009 - 9:02 am

Here are the steps you asked for:

 * read sb(4) and notice that your hardware is not completely
   full-duplex in 16-bit mode:

     With a SoundBlaster 16 card the device is full duplex, but it can only
     sensibly handle a precision of 8 bits.  It does so by extending the out-
     put 8 bit samples to 16 bits and using the 8 bit DMA channel for input
     and the 16 bit channel for output.

 * read aucat(1) and figure out how to start it in
   play-only server mode 

     -l      Listen for incoming connections on Unix domain sockets.  This al-
             lows clients to use aucat instead of the regular audio(4) device
             for audio input and output in order to share the physical device
             with other clients.  The default socket name is default but other
             names can be used with the -s option.

     -m mode
             Set the server mode.  Valid modes are play, rec, and duplex, for
             play-only, record-only, and full-duplex, respectively.  The de-
             fault is duplex.

   Hint: you probably need ``-l -m play''

 * start it, and play any file to check that it worked,
   possibly read again aucat(1). Hint:

     -i file
             Add this file to the list of files to play.  If the option argu-
             ment is `-' then standard input will be used.


 * if it still doesn't work, search in the archives and
   see if anybody else has the solution of the same or
   related problems

 * if it still doesn't work, check whether related problems were
   solved in -CURRENT, possibly try -CURRENT

 * if it still doesn't work, send a *friendly* e-mail to the list
   showing that you've read the manual, that you understand
   the manual, that you have done what's explained in the
   manual.

 * possibly share the solution you've found, possibly improve the FAQ.

To summarize, just type:

	$ aucat -l -m play

and check that it works:

	$ aucat -i whatever.wav

-- Alexandre

From: Jacob Meuser
Date: Friday, October 2, 2009 - 2:34 am

because you are not using aucat as a server?

by default, psi uses the 'play' command from the sox package to play
sounds (though sox isn't a dependency of the package ... oops).  the
play command can be used with an aucat server.  many ports/packages
can, actually.

-- 
jakemsr@sdf.lonestar.org
SDF Public Access UNIX System - http://sdf.lonestar.org

From: David Hoskin
Date: Friday, October 2, 2009 - 8:55 am

The audio(4) device can't multiplex for you, so you have to send all your
sound
output to a user-space program (aucat), which will multiplex it for
you and forward
it to /dev/audio .  The specific option to aucat you need is '-l'

tl;dr running 'aucat -l' will solve your problem.

Previous thread: X.org killing HAL? by Aaron Mason on Thursday, October 1, 2009 - 7:26 pm. (2 messages)

Next thread: problem on route6d by Marco Huang on Thursday, October 1, 2009 - 8:24 pm. (1 message)