pupil-labs / pupil

Open source eye tracking
https://pupil-labs.com
GNU Lesser General Public License v3.0
1.46k stars 675 forks source link

Capture does not detect eye-tracker microphone - UBUNTU #247

Closed fwalker89 closed 8 years ago

fwalker89 commented 8 years ago

Dear all,

The world camera of the Pupil Pro has a built in microphone. When I select this microphone as audio source on Pupil Capture, it still keeps using the microphone of the laptop. This really doesn't work out for me since, when I record, the laptop is closed and placed in a backpack. I also tried to bypass the problem by using a non-usb external microphone. This also doesn't work.

This problem doesn't occur when I play Capture on Mac, but it does when I run it on Ubuntu.

Hope you guys have a solution.

Thank you, Francesco

dschreij commented 8 years ago

The Ubuntu version was 15.04 by the way. Thanks!

cpicanco commented 8 years ago

Hi, I don't know if it is an OS specific issue. I would like to note that the "official support" of pupil is for Ubuntu 14.04 LTS. Hopefully, it will not be OS specific.

mkassner commented 8 years ago

I ll look into that!

mkassner commented 8 years ago

I just did a test on 14.04 and could not reproduce this error. I can record form both the headset microphone and internal microphone.

What happens when you do this:

arecord -l

and then

ffmpeg -f alsa -i plughw:1 -t 10 out.wav

where you replace the '1' with the id for the correct microphone. This should record 10s from the correct input, we use something similar internally.

Best,

M

dschreij commented 8 years ago

Francesco, could you please have a look at this?

mkassner commented 8 years ago

Hi!

Any news on this?

fwalker89 commented 8 years ago

Version of the recorder is 0.6.170 btw.

We can do this correctly from command line, but not from Pupil Capture. Capture keeps detecting the internal mic even if audio_src c930e (Logitech Webcam c93) is selected.

mkassner commented 8 years ago

Hi,

could you post the output from arecord -l ?

M

On Thu, Nov 26, 2015 at 3:34 PM, fwalker89 notifications@github.com wrote:

Version of the recorder is 0.6.170 btw.

We can do this correctly from command line, but not from Pupil Capture. Capture keeps detecting the internal mic even if audio_src c930e (Logitech Webcam c93) is selected.

— Reply to this email directly or view it on GitHub https://github.com/pupil-labs/pupil/issues/247#issuecomment-159928736.

fwalker89 commented 8 years ago

This gives the following output:

**** List of CAPTURE Hardware Devices ****
card 1: PCH [HDA Intel PCH], device 0: ALC283 Analog [ALC283 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: C930e [Logitech Webcam C930e], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
mkassner commented 8 years ago

Aha! I get this:

**** List of CAPTURE Hardware Devices ****
card 0: AudioPCI [Ensoniq AudioPCI], device 0: ES1371/1 [ES1371 DAC2/ADC]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: C930e [Logitech Webcam C930e], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

The indices you have are not 0 based for some reason. I just pushed a fix. Can you pull and test?

M

mkassner commented 8 years ago

Any updates? Where you able to test this?

dschreij commented 8 years ago

No sorry not yet (We were actually doing a project with the pupil eyetracker in the Van Gogh museum the past few days), but I am going to test this now. Should I test from source or is there a new release (.deb file) which I can use. I still have trouble getting the pupil software to run from source, but I can attempt it again.

mkassner commented 8 years ago

Hi Daniel,

I can bundle and upload.

give me 24hrs.

M

On Thu, Dec 3, 2015 at 10:34 AM, Daniel Schreij notifications@github.com wrote:

No sorry not yet (We were actually doing a project with the pupil eyetracker in the Van Gogh museum the past few days), but I am going to test this now. Should I test from source or is there a new release (.deb file) which I can use. I still have trouble getting the pupil software to run from source, but I can attempt it again.

— Reply to this email directly or view it on GitHub https://github.com/pupil-labs/pupil/issues/247#issuecomment-161567547.

mkassner commented 8 years ago

https://github.com/pupil-labs/pupil/releases/tag/v0.6.19

dschreij commented 8 years ago

Thanks, I will ask Francesco to check this and get back to you a.s.a.p!

dschreij commented 8 years ago

On my machine (Ubuntu 15.10 with an AMD HD6450 on open source drivers: Gallium 0.4 on AMD CAICOS (DRM 2.43.0, LLVM 3.6.2)) I am getting the following traceback when trying to load a pupil recording folder with player 0.6.19

libGL error: unable to load driver: r600_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: r600
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
Traceback (most recent call last):
  File "<string>", line 535, in <module>
  File "<string>", line 224, in session
  File "pyglui/cygl/utils.pyx", line 45, in pyglui.cygl.utils.init (pyglui/cygl/utils.c:3021)
  File "pyglui/cygl/utils.pyx", line 56, in pyglui.cygl.utils.init (pyglui/cygl/utils.c:2967)
Exception: This OpenGL context is below 2.1.

The strange thing is that pupil player normally starts when not passing a folder as an argument...

This is my output of glxinfo | grep version

server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
OpenGL core profile version string: 3.3 (Core Profile) Mesa 11.0.2
OpenGL core profile shading language version string: 3.30
OpenGL version string: 3.0 Mesa 11.0.2
OpenGL shading language version string: 1.30
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.0.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

So I should have a card that support OpenGL > 2.1

mkassner commented 8 years ago

Hi,

so it works but only when starting without args and dragging the recording onto the window?

This error usually means that pupil is using the wrong libc++ lib but we have stopped shipping it with the bundle two versions ago.

M

On Mon, Dec 7, 2015 at 3:33 PM, Daniel Schreij notifications@github.com wrote:

On my machine (Ubuntu 15.10 with an AMD HD6450) I am getting the following traceback when trying to load a pupil recording folder with player 0.6.19

libGL error: unable to load driver: r600_dri.so libGL error: driver pointer missing libGL error: failed to load driver: r600 libGL error: unable to load driver: swrast_dri.so libGL error: failed to load driver: swrast Traceback (most recent call last): File "", line 535, in File "", line 224, in session File "pyglui/cygl/utils.pyx", line 45, in pyglui.cygl.utils.init (pyglui/cygl/utils.c:3021) File "pyglui/cygl/utils.pyx", line 56, in pyglui.cygl.utils.init (pyglui/cygl/utils.c:2967) Exception: This OpenGL context is below 2.1.

The strange thing is that pupil player normally starts when not passing a folder as an argument...

— Reply to this email directly or view it on GitHub https://github.com/pupil-labs/pupil/issues/247#issuecomment-162541756.

dschreij commented 8 years ago

Hello,

Yes I get to see that window, but anything after that I get the mentioned error (also after dragging a recording to the window). It also affects pupil-capture. This doesn't start at all.

This is what I could find about my libc++ files:

$ dpkg -l | grep c++
rc  libflac++6:amd64                                      1.3.1-1ubuntu1                             amd64        Free Lossless Audio Codec - C++ runtime library
ii  libflac++6v5:amd64                                    1.3.1-4                                    amd64        Free Lossless Audio Codec - C++ runtime library
rc  libsigc++-2.0-0c2a:amd64                              2.4.0-1                                    amd64        type-safe Signal Framework for C++ - runtime
ii  libsigc++-2.0-0v5:amd64                               2.4.1-2                                    amd64        type-safe Signal Framework for C++ - runtime
ii  libstdc++-4.8-dev:amd64                               4.8.5-1ubuntu1                             amd64        GNU Standard C++ Library v3 (development files)
ii  libstdc++-4.9-dev:amd64                               4.9.3-5ubuntu1                             amd64        GNU Standard C++ Library v3 (development files)
ii  libstdc++-5-dev:amd64                                 5.2.1-22ubuntu2                            amd64        GNU Standard C++ Library v3 (development files)
ii  libstdc++6:amd64                                      5.2.1-22ubuntu2                            amd64        GNU Standard C++ Library v3
ii  libstdc++6:i386          

I'm just using the standard packaged versions of Ubuntu 15.10. Couldn't it also be the videocard drivers (although for these I also use the packaged drivers and not the proprietary drivers (which for AMD don't work at all currently on Ubuntu 15.10))

mkassner commented 8 years ago

Hi,

I m not sure if this is related but I only have libstdc++6 not any older versions.

Could you also try running capture and player from terminal using pupil-capture and pupil-player?

On Wed, Dec 9, 2015 at 9:43 AM, Daniel Schreij notifications@github.com wrote:

It also affects pupil-capture. This doesn't start at all.

This is what I could find about my libc++ files:

$ dpkg -l | grep c++ rc libflac++6:amd64 1.3.1-1ubuntu1 amd64 Free Lossless Audio Codec - C++ runtime library ii libflac++6v5:amd64 1.3.1-4 amd64 Free Lossless Audio Codec - C++ runtime library rc libsigc++-2.0-0c2a:amd64 2.4.0-1 amd64 type-safe Signal Framework for C++ - runtime ii libsigc++-2.0-0v5:amd64 2.4.1-2 amd64 type-safe Signal Framework for C++ - runtime ii libstdc++-4.8-dev:amd64 4.8.5-1ubuntu1 amd64 GNU Standard C++ Library v3 (development files) ii libstdc++-4.9-dev:amd64 4.9.3-5ubuntu1 amd64 GNU Standard C++ Library v3 (development files) ii libstdc++-5-dev:amd64 5.2.1-22ubuntu2 amd64 GNU Standard C++ Library v3 (development files) ii libstdc++6:amd64 5.2.1-22ubuntu2 amd64 GNU Standard C++ Library v3 ii libstdc++6:i386

— Reply to this email directly or view it on GitHub https://github.com/pupil-labs/pupil/issues/247#issuecomment-163151514.

mkassner commented 8 years ago

Any news on wether the audio works for you? I tried running the latest bundle on a Xubuntu 15.04 live stick and audio worked fine for both internal and headset microphone. (This was using a ms surface pro 4).

dschreij commented 8 years ago

I removed the older libc++ libraries on my computer and still get the same error. The error messages I posted above are when pupil_capture and _player are being run from the terminal. Otherwise the app does not start up and gives no error message at all. We are a bit apprehensive at the moment to upgrade our pupil version on the laptop which we have reserved for pupil eye tracking (and which shows the audio error), because we are going to perform an experiment with it again this Friday evening. I'm willing to test the newer version after this day if this is ok, as we have no further research planned with pupil and I will cause no problems if I accidentally mess up the laptop with updates.

fwalker89 commented 8 years ago

I just installed Capture v0.6.19 and mic now works fine! thanks a lot

mkassner commented 8 years ago

super!