second run of ossrec from vmix loop records garbage

OSS specific Linux discussion (x86/amd64)

Moderators: cesium, dev, kodachi, hannu

second run of ossrec from vmix loop records garbage

Postby rrva » Mon Jan 11, 2010 8:25 pm

Hello

I have vmix_loopdevs=1

/dev/dsp7 -> /dev/oss/oss_hdaudio0/loop0

If I record from this device like this:

ossrecord -O -s44100 -c2 -g400 -d7 a.wav

The first recording is fine, if I stop the recording and re-run the command above a second time, the recorded file only contains garbage (VU meter peaks and a loud noise is recorded).

OSS 4.2 (b 2002/200911060720)TRIAL (C) 4Front Technologies 1996-2009

Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
This OSS version will expire after: May 2010

Audio devices:
0: HD Audio play pcm1 (OUTPUT)
1: HD Audio play pcm2 (OUTPUT)
2: HD Audio play pcm3 (OUTPUT)
3: HD Audio play spdifout (OUTPUT)
4: HD Audio rec rec1 (INPUT)
5: HD Audio rec mic (INPUT)
6: HD Audio rec pcm3 (INPUT)

MIDI devices:

Mixers:
0: High Definition Audio 0x80862802

Linux dejsi 2.6.31-17-generic #54-Ubuntu SMP Thu Dec 10 17:01:44 UTC 2009 x86_64 GNU/Linux
Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
rrva
New Member
 
Posts: 5
Joined: Mon Jan 11, 2010 8:21 pm

Re: second run of ossrec from vmix loop records garbage

Postby igorzwx » Mon Jan 11, 2010 9:42 pm

vmix_loopdevs are not sugar.
Perhaps, you have to reload OSS4:

sudo soundoff
sudo soundon

With many cards, you do not need "vmix_loopdevs", for you can record from "vol".
There might be a better method for your card than "vmix_loopdevs".
igorzwx
Known Member
 
Posts: 1003
Joined: Sun Jun 28, 2009 9:31 pm

Re: second run of ossrec from vmix loop records garbage

Postby rrva » Mon Jan 11, 2010 10:17 pm

soundoff/soundon helps. How do I record from vol? Which device is this? I have:

$ ossinfo
Version info: OSS 4.2 (b 2002/200911060720) (0x00040100) TRIAL
Platform: Linux/x86_64 2.6.32-02063203-generic #02063203 SMP Thu Jan 7 10:09:47 UTC 2010 (dejsi)

Number of audio devices: 8
Number of audio engines: 13
Number of MIDI devices: 0
Number of mixer devices: 1


Device objects
0: osscore0 OSS core services
1: oss_hdaudio0 Intel HD Audio interrupts=4173 (4173)
HD Audio controller Intel HD Audio
Vendor ID 0x8086293e
Subvendor ID 0x17aa3a0d
Codec 0: Unknown (0x80862802/0x80860101)
Codec 2: CX20561 (0x14f15051/0x17aa3c2b)
2: oss_usb0 USB audio core services

MIDI devices (/dev/midi*)

Mixer devices
0: High Definition Audio 0x8086280 (Mixer 0 of device object 1)

Audio devices
HD Audio play pcm1 /dev/oss/oss_hdaudio0/pcm0 (device index 0)
HD Audio play pcm2 /dev/oss/oss_hdaudio0/pcm1 (device index 1)
HD Audio play pcm3 /dev/oss/oss_hdaudio0/pcm2 (device index 2)
HD Audio play spdifout /dev/oss/oss_hdaudio0/spdout0 (device index 3)
HD Audio rec rec1 /dev/oss/oss_hdaudio0/pcmin0 (device index 4)
HD Audio rec mic /dev/oss/oss_hdaudio0/pcmin1 (device index 5)
HD Audio rec pcm3 /dev/oss/oss_hdaudio0/pcmin2 (device index 6)
HD Audio play pcm1 (vmix) loopback record /dev/oss/oss_hdaudio0/loop0 (device index 7)

Nodes
/dev/dsp -> /dev/oss/oss_hdaudio0/pcm0
/dev/dsp_in -> /dev/oss/oss_hdaudio0/pcm0
/dev/dsp_out -> /dev/oss/oss_hdaudio0/pcm0
/dev/dsp_ac3 -> /dev/oss/oss_hdaudio0/spdout0
/dev/dsp_mmap -> /dev/oss/oss_hdaudio0/pcm0
/dev/dsp_multich -> /dev/oss/oss_hdaudio0/pcm0
rrva
New Member
 
Posts: 5
Joined: Mon Jan 11, 2010 8:21 pm

Re: second run of ossrec from vmix loop records garbage

Postby igorzwx » Mon Jan 11, 2010 10:28 pm

rrva wrote: How do I record from vol? Which device is this?


It is very simple with ancient soundcards.
Just select it in the mixer. This will make it a "default recscr", that is "/dev/dsp"

$ ossmix
Selected mixer 0/ICH AC97 Mixer (AD1981B)
Known controls are:
vol [<leftvol>:<rightvol>] (currently 56:56)
vol.rec ON|OFF (currently ON)
pcm [<leftvol>:<rightvol>] (currently 57:57)
speaker <monovol> (currently 0)
line [<leftvol>:<rightvol>] (currently 0:0)
line.rec ON|OFF (currently OFF)
mic <monovol> (currently 38)
mic.rec ON|OFF (currently OFF)
cd [<leftvol>:<rightvol>] (currently 0:0)
cd.rec ON|OFF (currently OFF)
igain [<leftvol>:<rightvol>] (currently 31:31)
aux1 [<leftvol>:<rightvol>] (currently 0:0)
aux1.rec ON|OFF (currently OFF)
phone [<leftvol>:<rightvol>] (currently 0:0)
phone.rec ON|OFF (currently OFF)
mono <monovol> (currently 0)
mono.rec ON|OFF (currently OFF)
video [<leftvol>:<rightvol>] (currently 0:0)
video.rec ON|OFF (currently OFF)
spdout.enable ON|OFF (currently OFF)
spdout.adc/dac ON|OFF (currently OFF)
spdout.pro <Consumer|Professional> (currently Consumer)
spdout.audio <AUDIO|DATA> (currently AUDIO)
spdout.copy ON|OFF (currently OFF)
spdout.pre-emph ON|OFF (currently OFF)
spdout.rate <48000|44100|32000> (currently 48000)
spdout.vbit ON|OFF (currently OFF)
vmix0-enable ON|OFF (currently ON)
vmix0-rate <decimal value> (currently 48000) (Read-only)
vmix0-channels <Stereo|Multich> (currently Stereo)
vmix0-src <Fast|High|High+|Production|OFF> (currently Production)
vmix0-outvol <monovol> (currently 23.4 dB)
vmix0-invol <monovol> (currently 25.0 dB)
vmix0.pcm1 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)
vmix0.pcm2 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)
vmix0.pcm3 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)
vmix0.pcm4 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)

-----------------------------------
EDIT:
Some more details, if you like.
1. I select "vol" as recording source in the mixer
2. then I start Audacity and press "record" button (/dev/dsp)
3. then I launch Skype and call to a friend
4. then I run a player and play music

We listen to music and discuss it.
And Audacity records all these.
Last edited by igorzwx on Wed Jan 20, 2010 7:29 pm, edited 1 time in total.
igorzwx
Known Member
 
Posts: 1003
Joined: Sun Jun 28, 2009 9:31 pm

Re: second run of ossrec from vmix loop records garbage

Postby cesium » Fri Jan 15, 2010 10:21 pm

oss_hdaudio driver doesn't have "vol" etc. for hardware loopback recording. You're stuck with vmix loopback (or oss_audioloop for a "pipe") to use for recording...
cesium
Developer
 
Posts: 902
Joined: Sun Aug 12, 2007 12:51 am

Re: second run of ossrec from vmix loop records garbage

Postby igorzwx » Fri Jan 15, 2010 10:39 pm

cesium wrote:oss_hdaudio driver doesn't have "vol" etc. for hardware loopback recording. You're stuck with vmix loopback (or oss_audioloop for a "pipe") to use for recording...


It might be difficult to believe that such a sophisticated soundcard as Intel HDA cannot make "hardware loopback recording"
http://en.wikipedia.org/wiki/Intel_High ... tion_Audio
igorzwx
Known Member
 
Posts: 1003
Joined: Sun Jun 28, 2009 9:31 pm

Re: second run of ossrec from vmix loop records garbage

Postby cesium » Fri Jan 15, 2010 10:48 pm

I haven't read the hdaudio spec, but the other drivers (ALSA, FreeBSD, Windows, etc.) don't have hw hdaudio recording either AFAIK. I guess this was an oversight in the spec, or the spec authors wanted to drop this feature to cut costs...

Back to our issue, if rrva only wants to record from spotify under wine, oss_audioloop or oss_userdev drivers might offer another way which will work (audioloop is a bit easier to set up here I think). Not sure how to set up wine output device though...
cesium
Developer
 
Posts: 902
Joined: Sun Aug 12, 2007 12:51 am

Re: second run of ossrec from vmix loop records garbage

Postby igorzwx » Fri Jan 15, 2010 11:02 pm

cesium wrote:I haven't read the hdaudio spec, but the other drivers (ALSA, FreeBSD, Windows, etc.) don't have hw hdaudio recording either AFAIK. I guess this was an oversight in the spec, or the spec authors wanted to drop this feature to cut costs...

Back to our issue, if rrva only wants to record from spotify under wine, oss_audioloop or oss_userdev drivers might offer another way which will work (audioloop is a bit easier to set up here I think). Not sure how to set up wine output device though...


It seems that the spec does not matter. The Russian guru revealed that ALSA cannot play genuine 24bits sound, for example. More precisely, ALSA converts 24bit to 16bits, resamples, and then converts it to 24bits. Not a very nice news for audiophiles.

Would you be so kind as to explain how to use audioloop for loopback recording?
igorzwx
Known Member
 
Posts: 1003
Joined: Sun Jun 28, 2009 9:31 pm

Re: second run of ossrec from vmix loop records garbage

Postby cesium » Fri Jan 15, 2010 11:45 pm

Here's an example:
"sudo modprobe oss_audioloop"
"sudo ossdetect -d -v" (One can add "oss_audioloop" line to /usr/lib/oss/etc/installed_drivers so these two commands are done automatically on OSS startup)
[optional: "sudo ossdevlinks -v" will create a symlink for audioloop's pcm0]
"ossplay -l (file) -d/dev/oss/oss_audioloop0/server0" (We use a program to act as server)
"ossrecord -d/dev/oss/oss_audioloop0/pcm0 - | ossplay -" (The client can now record from oss_audioloop. In this example, we just played the recording).

oss_audioloop can also be used in the reverse mode (e.g. ossrecord as server). See "oss_audioloop" manpage for a few more details.
cesium
Developer
 
Posts: 902
Joined: Sun Aug 12, 2007 12:51 am

Re: second run of ossrec from vmix loop records garbage

Postby igorzwx » Fri Jan 15, 2010 11:50 pm

Many thanks!
I will certainly try this.
igorzwx
Known Member
 
Posts: 1003
Joined: Sun Jun 28, 2009 9:31 pm

Re: second run of ossrec from vmix loop records garbage

Postby igorzwx » Thu Jan 21, 2010 4:52 pm

cesium wrote:I haven't read the hdaudio spec, but the other drivers (ALSA, FreeBSD, Windows, etc.) don't have hw hdaudio recording either AFAIK. I guess this was an oversight in the spec, or the spec authors wanted to drop this feature to cut costs...

Back to our issue, if rrva only wants to record from spotify under wine, oss_audioloop or oss_userdev drivers might offer another way which will work (audioloop is a bit easier to set up here I think). Not sure how to set up wine output device though...


Let us make it clear. Intel HDA soundcards do allow hardware loopback recording with Windows XP.
We just tested this card:
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)

You have to select the proper things in the mixer.
Then you can call by Skype, play music through the Skype, discuss it,
and record all these as a kind of podcast.

the manual for Windows users is here:
http://wiki.audacityteam.org/wiki/Recor ... er#Windows
Quick answer: use the appropriate "stereo mix" or similar input source on the Audacity Mixer Toolbar dropdown selector, or (on Vista) the appropriate Recording Device at Edit > Preferences > Audio I/O. If you have problems, use the Windows Control Panel to enable and select the correct source or device - see especially the green panel "HELP ON RECORDING COMPUTER PLAYBACK OR STREAMING AUDIO" in that section. Also see this topic on the Audacity Forum.

In short, hardware loopback recording is possible with Intel HDA soundcards with Windows XP. But it might be impossible with Linux, because the proper drivers are missing. You can do this with Linux too, if you have a very old computer with non-HDA onboard soundcard.
igorzwx
Known Member
 
Posts: 1003
Joined: Sun Jun 28, 2009 9:31 pm

Re: second run of ossrec from vmix loop records garbage

Postby konst1089 » Wed Jan 04, 2012 3:19 pm

I have exactly the same problem with Creative Audigy 4 and the latest oss build. Is it a bug in osscore that should be fixed?
konst1089
New Member
 
Posts: 8
Joined: Wed Jan 04, 2012 2:59 pm

Re: second run of ossrec from vmix loop records garbage

Postby igorzwx » Wed Jan 04, 2012 5:15 pm

konst1089 wrote:I have exactly the same problem with Creative Audigy 4 and the latest oss build. Is it a bug in osscore that should be fixed?


If you have a problem, you may better start a new thread instead of "necro-bumping"
https://wiki.archlinux.org/index.php/Fo ... Bumping.27
igorzwx
Known Member
 
Posts: 1003
Joined: Sun Jun 28, 2009 9:31 pm


Return to Linux

Who is online

Users browsing this forum: Google [Bot] and 1 guest

cron