Problem accessing the mic with 2.1.1 with Azalia sound card

Help for Audacity on GNU/Linux.
Forum rules
ImageThis forum is for Audacity on GNU/Linux.
Please state:
  • which version of Linux you are using,
  • the exact three-section version number of Audacity from Help menu > About Audacity,
  • whether you installed your distribution's release, PPA version, or compiled Audacity from source code.

Audacity 1.2.x and 1.3.x are obsolete and no longer supported. If you still have those versions, please upgrade (see https://www.audacityteam.org/download/).
The old forums for those versions are now closed, but you can still read the archives of the 1.2.x and 1.3.x forums.
tgf
Posts: 16
Joined: Wed Mar 23, 2016 5:56 am
Operating System: Linux Debian

Re: Problem accessing the mic with 2.1.1 with Azalia sound c

Post by tgf » Mon Mar 28, 2016 11:06 pm

I first checked with "ps -eaf | grep pulse" that pulseaudio was running

Code: Select all

gfreeman  1842     1  0 Mar24 ?        00:02:28 /usr/bin/pulseaudio --start --log-target=syslog
I then ran pavucontrol and connected the sound source to the Mic port, confirming that pavucontrol could see the signal.
With pavucontrol on Recording, I issued the command "arecord -d 4 /tmp/test.wav". Pavucontrol window changed from

Code: Select all

No application is currently recording audio
to

Code: Select all

ALSA plugin [aplay]: ALSA Capture from [Built-in Audio Analog Stereo]
and below the arecord command was the message

Code: Select all

Recording WAVE '/tmp/test.wav' : Unsigned 8 bit, Rate 8000 Hz, Mono

steve
Site Admin
Posts: 80752
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Problem accessing the mic with 2.1.1 with Azalia sound c

Post by steve » Tue Mar 29, 2016 11:11 am

tgf wrote:

Code: Select all

Recording WAVE '/tmp/test.wav' : Unsigned 8 bit, Rate 8000 Hz, Mono
That could be the problem.
I'm not certain, but I think that Audacity expects / requires the audio sample format to be at least 16 bit.

This article gives a general idea of how to change the default format for PulseAudio: http://www.overclock.net/a/how-to-get-t ... pulseaudio

I'd suggest that you try setting the default format to signed 16-bit, and a sample rate of 44100 Hz.

This is what I have:

Code: Select all

default-sample-format = s16le
default-sample-rate = 44100
alternate-sample-rate = 48000
default-sample-channels = 2
default-channel-map = front-left,front-right
You will need to at least restart Pulse - I'd suggest logging out and back in again, or rebooting to ensure that the changes take effect.

(Leave Audacity preferences at the default "32-bit float" 44100 Hz.)

BE SURE TO MAKE THE BACKUP.

If the above does not work, there is a much more in-depth article on the subject here: https://wiki.archlinux.org/index.php/Pu ... figuration
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

tgf
Posts: 16
Joined: Wed Mar 23, 2016 5:56 am
Operating System: Linux Debian

Re: Problem accessing the mic with 2.1.1 with Azalia sound c

Post by tgf » Wed Mar 30, 2016 3:35 am

Steve wrote
...This article gives a general idea of how to change the default format for PulseAudio: http://www.overclock.net/a/how-to-get-t ... pulseaudio

I'd suggest that you try setting the default format to signed 16-bit, and a sample rate of 44100 Hz.
I don't think that is the problem. "arecord" has 8000 Hz and unsigned 8 bit as the defaults. I can change them with

Code: Select all

arecord -d 4 -r 192 -f cd /tmp/test.wav
I did look at /etc/pulse/daemon.conf as you suggested. It indicated that

Code: Select all

 default-sample-format = s16le
 default-sample-rate = 44100
 alternate-sample-rate = 48000
 default-sample-channels = 2
 default-channel-map = front-left,front-right
were the defaults. I uncommented those lines and re-logged in, but it has made no difference.
Now, I am seeing "default" as the only selectable input.

steve
Site Admin
Posts: 80752
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Problem accessing the mic with 2.1.1 with Azalia sound c

Post by steve » Wed Mar 30, 2016 10:14 am

I'm running out of ideas.
Look in "Help > About Audacity > Build Information". Which version of PortAudio and wxWidgets has Audacity been built with?
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

Gale Andrews
Quality Assurance
Posts: 41761
Joined: Fri Jul 27, 2007 12:02 am
Operating System: Windows 10

Re: Problem accessing the mic with 2.1.1 with Azalia sound c

Post by Gale Andrews » Wed Mar 30, 2016 4:14 pm

Perhaps tgf should build current Audacity from source code http://www.audacityteam.org/download/source/. We recently updated PortAudio which has a lot of fixes for Linux.

Gale
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual

tgf
Posts: 16
Joined: Wed Mar 23, 2016 5:56 am
Operating System: Linux Debian

Re: Problem accessing the mic with 2.1.1 with Azalia sound c

Post by tgf » Fri Apr 01, 2016 5:19 am

Steve wrote:
Which version of PortAudio and wxWidgets has Audacity been built with?
Build information -> Core libraries indicates:

Code: Select all

PortAudio   (Audio playback and recording)   v19
wxWidgets 2.8.12
Gale Andrews wrote:
Perhaps tgf should build current Audacity from source code http://www.audacityteam.org/download/source/. We recently updated PortAudio which has a lot of fixes for Linux.
I have downloaded the source code, and installed all the "-dev" packages that I thought would help. I have run "./configure" and then "make" but compilation is failing because of data type issues:

Code: Select all

mv -f .deps/audacity-BlockFile.Tpo .deps/audacity-BlockFile.Po
g++ -DHAVE_CONFIG_H -I.  -Wno-deprecated-declarations -D__STDC_CONSTANT_MACROS -DLIBDIR=\"/usr/local//lib64\"   -I../lib-src/portaudio-v19/include   -I../lib-src/libsoxr/src -I../lib-src/lib-widget-extra -I/usr/lib64/wx/include/gtk3-unicode-3.0 -I/usr/include/wx-3.0 -D_FILE_OFFSET_BITS=64 -DwxDEBUG_LEVEL=0 -DWXUSINGDLL -D__WXGTK__ -pthread   -I../lib-src/ffmpeg   -I../lib-src/lame    -I../lib-src/libnyquist    -I../lib-src/lv2/include -I../lib-src/lv2/include -I../lib-src/portsmf  -I../lib-src/sbsms/include -I../lib-src/libvamp  -I/usr/lib64/wx/include/gtk3-unicode-3.0 -I/usr/include/wx-3.0 -D_FILE_OFFSET_BITS=64 -DwxDEBUG_LEVEL=0 -DWXUSINGDLL -D__WXGTK__ -pthread -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -Wno-unused-local-typedefs -I../lib-src/portmixer/include  -DwxDEBUG_LEVEL=0  -Wall -I../include -I../lib-src/FileDialog                 -MT audacity-DirManager.o -MD -MP -MF .deps/audacity-DirManager.Tpo -c -o audacity-DirManager.o `test -f 'DirManager.cpp' || echo './'`DirManager.cpp
In file included from /usr/include/wx-3.0/wx/intl.h:17:0,
                 from /usr/include/wx-3.0/wx/filename.h:17,
                 from DirManager.h:16,
                 from DirManager.cpp:65:
blockfile/../ondemand/ODDecodeTask.h: In member function ‘virtual const wxChar* ODDecodeTask::GetTip()’:
/usr/include/wx-3.0/wx/translation.h:38:58: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in return
     #define _(s)                     wxGetTranslation((s))
                                                          ^
blockfile/../ondemand/ODDecodeTask.h:57:42: note: in expansion of macro ‘_’
    virtual const wxChar* GetTip(){return _("Decoding Waveform");}
                                          ^
DirManager.cpp: In static member function ‘static void DirManager::CleanTempDir()’:
DirManager.cpp:397:88: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ for argument ‘5’ to ‘void RecursivelyRemove(wxArrayString&, int, bool, bool, const wxChar*)’
    RecursivelyRemove(filePathArray, count, true, true, _("Cleaning up temporary files"));
                                                                                        ^
DirManager.cpp: In member function ‘bool DirManager::SetProject(wxString&, wxString&, bool)’:
DirManager.cpp:523:91: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ for argument ‘5’ to ‘void RecursivelyRemove(wxArrayString&, int, bool, bool, const wxChar*)’
          RecursivelyRemove(dirlist, count, false, true, _("Cleaning up cache directories"));
                                                                                           ^
DirManager.cpp: In member function ‘wxFileName DirManager::MakeBlockFilePath(wxString)’:
DirManager.cpp:592:9: warning: suggest explicit braces to avoid ambiguous ‘else’ [-Wparentheses]
       if(!dir.DirExists() && !dir.Mkdir(0777,wxPATH_MKDIR_FULL))
         ^
DirManager.cpp: In member function ‘int DirManager::ProjectFSCK(bool, bool)’:
DirManager.cpp:1395:17: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
             NULL};
                 ^
DirManager.cpp:1395:17: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
DirManager.cpp:1412:40: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ for argument ‘7’ to ‘int RecursivelyEnumerateWithProgress(wxString, wxArrayString&, wxString, bool, bool, int, const wxChar*)’
       _("Inspecting project file data"));
                                        ^
DirManager.cpp:1449:20: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
                NULL};
                    ^
DirManager.cpp:1449:20: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
DirManager.cpp:1449:20: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
DirManager.cpp:1511:41: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
                                     NULL};
                                         ^
DirManager.cpp:1511:41: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
DirManager.cpp:1511:41: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
DirManager.cpp:1570:20: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
                NULL};
                    ^
DirManager.cpp:1570:20: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
DirManager.cpp:1570:20: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
DirManager.cpp:1629:17: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
             NULL};
                 ^
DirManager.cpp:1629:17: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
DirManager.cpp:1629:17: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
DirManager.cpp: In member function ‘void DirManager::RemoveOrphanBlockfiles()’:
DirManager.cpp:1817:40: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ for argument ‘7’ to ‘int RecursivelyEnumerateWithProgress(wxString, wxArrayString&, wxString, bool, bool, int, const wxChar*)’
       _("Inspecting project file data"));
                                        ^
Makefile:2407: recipe for target 'audacity-DirManager.o' failed
make[2]: *** [audacity-DirManager.o] Error 1
make[2]: Leaving directory '/tmp/audacity-minsrc-2.1.2/src'
Makefile:1346: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/tmp/audacity-minsrc-2.1.2/src'
Makefile:716: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

Gale Andrews
Quality Assurance
Posts: 41761
Joined: Fri Jul 27, 2007 12:02 am
Operating System: Windows 10

Re: Problem accessing the mic with 2.1.1 with Azalia sound c

Post by Gale Andrews » Fri Apr 01, 2016 12:36 pm

Are you using system wxWidgets? Audacity will fail to compile with the issues you see in that case, because system wxWidgets on OpenSUSE uses STL.

If you self-build wxWidgets with no configure arguments I would assume Audacity will build against it.


Gale
tgf wrote:Gale Andrews wrote:
Perhaps tgf should build current Audacity from source code http://www.audacityteam.org/download/source/. We recently updated PortAudio which has a lot of fixes for Linux.
I have downloaded the source code, and installed all the "-dev" packages that I thought would help. I have run "./configure" and then "make" but compilation is failing because of data type issues:

Code: Select all

mv -f .deps/audacity-BlockFile.Tpo .deps/audacity-BlockFile.Po
g++ -DHAVE_CONFIG_H -I.  -Wno-deprecated-declarations -D__STDC_CONSTANT_MACROS -DLIBDIR=\"/usr/local//lib64\"   -I../lib-src/portaudio-v19/include   -I../lib-src/libsoxr/src -I../lib-src/lib-widget-extra -I/usr/lib64/wx/include/gtk3-unicode-3.0 -I/usr/include/wx-3.0 -D_FILE_OFFSET_BITS=64 -DwxDEBUG_LEVEL=0 -DWXUSINGDLL -D__WXGTK__ -pthread   -I../lib-src/ffmpeg   -I../lib-src/lame    -I../lib-src/libnyquist    -I../lib-src/lv2/include -I../lib-src/lv2/include -I../lib-src/portsmf  -I../lib-src/sbsms/include -I../lib-src/libvamp  -I/usr/lib64/wx/include/gtk3-unicode-3.0 -I/usr/include/wx-3.0 -D_FILE_OFFSET_BITS=64 -DwxDEBUG_LEVEL=0 -DWXUSINGDLL -D__WXGTK__ -pthread -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -Wno-unused-local-typedefs -I../lib-src/portmixer/include  -DwxDEBUG_LEVEL=0  -Wall -I../include -I../lib-src/FileDialog                 -MT audacity-DirManager.o -MD -MP -MF .deps/audacity-DirManager.Tpo -c -o audacity-DirManager.o `test -f 'DirManager.cpp' || echo './'`DirManager.cpp
In file included from /usr/include/wx-3.0/wx/intl.h:17:0,
                 from /usr/include/wx-3.0/wx/filename.h:17,
                 from DirManager.h:16,
                 from DirManager.cpp:65:
blockfile/../ondemand/ODDecodeTask.h: In member function ‘virtual const wxChar* ODDecodeTask::GetTip()’:
/usr/include/wx-3.0/wx/translation.h:38:58: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in return
     #define _(s)                     wxGetTranslation((s))
                                                          ^
blockfile/../ondemand/ODDecodeTask.h:57:42: note: in expansion of macro ‘_’
    virtual const wxChar* GetTip(){return _("Decoding Waveform");}
                                          ^
DirManager.cpp: In static member function ‘static void DirManager::CleanTempDir()’:
DirManager.cpp:397:88: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ for argument ‘5’ to ‘void RecursivelyRemove(wxArrayString&, int, bool, bool, const wxChar*)’
    RecursivelyRemove(filePathArray, count, true, true, _("Cleaning up temporary files"));
                                                                                        ^
DirManager.cpp: In member function ‘bool DirManager::SetProject(wxString&, wxString&, bool)’:
DirManager.cpp:523:91: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ for argument ‘5’ to ‘void RecursivelyRemove(wxArrayString&, int, bool, bool, const wxChar*)’
          RecursivelyRemove(dirlist, count, false, true, _("Cleaning up cache directories"));
                                                                                           ^
DirManager.cpp: In member function ‘wxFileName DirManager::MakeBlockFilePath(wxString)’:
DirManager.cpp:592:9: warning: suggest explicit braces to avoid ambiguous ‘else’ [-Wparentheses]
       if(!dir.DirExists() && !dir.Mkdir(0777,wxPATH_MKDIR_FULL))
         ^
DirManager.cpp: In member function ‘int DirManager::ProjectFSCK(bool, bool)’:
DirManager.cpp:1395:17: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
             NULL};
                 ^
DirManager.cpp:1395:17: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
DirManager.cpp:1412:40: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ for argument ‘7’ to ‘int RecursivelyEnumerateWithProgress(wxString, wxArrayString&, wxString, bool, bool, int, const wxChar*)’
       _("Inspecting project file data"));
                                        ^
DirManager.cpp:1449:20: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
                NULL};
                    ^
DirManager.cpp:1449:20: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
DirManager.cpp:1449:20: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
DirManager.cpp:1511:41: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
                                     NULL};
                                         ^
DirManager.cpp:1511:41: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
DirManager.cpp:1511:41: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
DirManager.cpp:1570:20: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
                NULL};
                    ^
DirManager.cpp:1570:20: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
DirManager.cpp:1570:20: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
DirManager.cpp:1629:17: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
             NULL};
                 ^
DirManager.cpp:1629:17: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
DirManager.cpp:1629:17: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ in initialization
DirManager.cpp: In member function ‘void DirManager::RemoveOrphanBlockfiles()’:
DirManager.cpp:1817:40: error: cannot convert ‘const wxString’ to ‘const wxChar* {aka const wchar_t*}’ for argument ‘7’ to ‘int RecursivelyEnumerateWithProgress(wxString, wxArrayString&, wxString, bool, bool, int, const wxChar*)’
       _("Inspecting project file data"));
                                        ^
Makefile:2407: recipe for target 'audacity-DirManager.o' failed
make[2]: *** [audacity-DirManager.o] Error 1
make[2]: Leaving directory '/tmp/audacity-minsrc-2.1.2/src'
Makefile:1346: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/tmp/audacity-minsrc-2.1.2/src'
Makefile:716: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual

steve
Site Admin
Posts: 80752
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Problem accessing the mic with 2.1.1 with Azalia sound c

Post by steve » Fri Apr 01, 2016 12:50 pm

tgf wrote: I have run "./configure" and then "make" but compilation is failing because of data type issues:
I think this may be fixed in jengelh's fork:
https://github.com/jengelh/audacity

Unfortunately the pull request from jengelh has merge conflicts with the current audacity/audacity code, but if you can confirm that jengelh's fix works, then that may help to get the fix committed.
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

Gale Andrews
Quality Assurance
Posts: 41761
Joined: Fri Jul 27, 2007 12:02 am
Operating System: Windows 10

Re: Problem accessing the mic with 2.1.1 with Azalia sound c

Post by Gale Andrews » Fri Apr 01, 2016 2:01 pm

steve wrote:
tgf wrote: I have run "./configure" and then "make" but compilation is failing because of data type issues:
I think this may be fixed in jengelh's fork:
https://github.com/jengelh/audacity

Unfortunately the pull request from jengelh has merge conflicts with the current audacity/audacity code, but if you can confirm that jengelh's fix works, then that may help to get the fix committed.
ThomasFeher has already confirmed that commit fixes building on OpenSUSE https://github.com/audacity/audacity/pull/112 but Paul did not want to commit it even if he resolved the conflicts.

If no-one reviews and commits we'll have to track it on Audacity Bugzilla.


Gale
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual

Post Reply