diff --git a/buildroot-external/board/raspberrypi/rootfs-overlay/etc/pulse/seeed-voicecard-2mic-daemon.conf b/buildroot-external/board/raspberrypi/rootfs-overlay/etc/pulse/seeed-voicecard-2mic-daemon.conf deleted file mode 100644 index b7fac063..00000000 --- a/buildroot-external/board/raspberrypi/rootfs-overlay/etc/pulse/seeed-voicecard-2mic-daemon.conf +++ /dev/null @@ -1,94 +0,0 @@ -# This file is part of PulseAudio. -# -# PulseAudio is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# PulseAudio is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with PulseAudio; if not, see . - -## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for -## more information. Default values are commented out. Use either ; or # for -## commenting. - -; daemonize = no -; fail = yes -; allow-module-loading = yes -; allow-exit = yes -; use-pid-file = yes -; system-instance = no -; local-server-type = user -; enable-shm = yes -; enable-memfd = yes -; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB -; lock-memory = no -; cpu-limit = no - -; high-priority = yes -; nice-level = -11 - -; realtime-scheduling = yes -; realtime-priority = 5 - -; exit-idle-time = 20 -; scache-idle-time = 20 - -; dl-search-path = (depends on architecture) - -; load-default-script-file = yes -; default-script-file = /etc/pulse/default.pa - -; log-target = auto -; log-level = notice -; log-meta = no -; log-time = no -; log-backtrace = 0 - -; resample-method = speex-float-1 -; enable-remixing = yes -; enable-lfe-remixing = no -; lfe-crossover-freq = 0 - -; flat-volumes = yes - -; rlimit-fsize = -1 -; rlimit-data = -1 -; rlimit-stack = -1 -; rlimit-core = -1 -; rlimit-as = -1 -; rlimit-rss = -1 -; rlimit-nproc = -1 -; rlimit-nofile = 256 -; rlimit-memlock = -1 -; rlimit-locks = -1 -; rlimit-sigpending = -1 -; rlimit-msgqueue = -1 -; rlimit-nice = 31 -; rlimit-rtprio = 9 -; rlimit-rttime = 200000 - -; default-sample-format = s16le -; default-sample-rate = 96000 -; alternate-sample-rate = 48000 -; default-sample-channels = 4 -; default-channel-map = front-left,front-right - -; default-fragments = 4 -; default-fragment-size-msec = 25 - -; enable-deferred-volume = yes -; deferred-volume-safety-margin-usec = 8000 -; deferred-volume-extra-delay-usec = 0 - -# OpenVoiceOS Audio Settings -resample-method = ffmpeg -default-sample-format = s24le -default-sample-rate = 48000 -alternate-sample-rate = 44100 -default-sample-channels = 2 diff --git a/buildroot-external/board/raspberrypi/rootfs-overlay/etc/pulse/seeed-voicecard-2mic-default.pa b/buildroot-external/board/raspberrypi/rootfs-overlay/etc/pulse/seeed-voicecard-2mic-default.pa deleted file mode 100644 index 5413f4a2..00000000 --- a/buildroot-external/board/raspberrypi/rootfs-overlay/etc/pulse/seeed-voicecard-2mic-default.pa +++ /dev/null @@ -1,155 +0,0 @@ -#!/usr/bin/pulseaudio -nF -# -# This file is part of PulseAudio. -# -# PulseAudio is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# PulseAudio is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with PulseAudio; if not, see . - -# This startup script is used only if PulseAudio is started per-user -# (i.e. not in system mode) - -.fail - -### Automatically restore the volume of streams and devices -load-module module-device-restore -load-module module-stream-restore -load-module module-card-restore - -### Automatically augment property information from .desktop files -### stored in /usr/share/application -load-module module-augment-properties - -### Should be after module-*-restore but before module-*-detect -load-module module-switch-on-port-available - -### Load audio drivers statically -### (it's probably better to not load these drivers manually, but instead -### use module-udev-detect -- see below -- for doing this automatically) -#load-module module-alsa-sink device="hw:1,0" channels=8 rate=48000 format=s32le -#load-module module-alsa-source device="hw:1,0" channels=8 rate=48000 format=s32le -#load-module module-oss device="/dev/dsp" sink_name=output source_name=input -#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input -#load-module module-null-sink -#load-module module-pipe-sink - -### Automatically load driver modules depending on the hardware available -.ifexists module-udev-detect.so -load-module module-udev-detect tsched=0 -#channels=8 rate=48000 format=s32le -.else -### Use the static hardware detection module (for systems that lack udev support) -load-module module-detect -.endif - -### Automatically connect sink and source if JACK server is present -.ifexists module-jackdbus-detect.so -.nofail -load-module module-jackdbus-detect channels=2 -.fail -.endif - -### Automatically load driver modules for Bluetooth hardware -.ifexists module-bluetooth-policy.so -load-module module-bluetooth-policy -.endif - -.ifexists module-bluetooth-discover.so -load-module module-bluetooth-discover -.endif - -### Load several protocols -.ifexists module-esound-protocol-unix.so -load-module module-esound-protocol-unix -.endif -load-module module-native-protocol-unix auth-anonymous=1 - -### Network access (may be configured with paprefs, so leave this commented -### here if you plan to use paprefs) -#load-module module-esound-protocol-tcp -load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/16;172.16.0.0/12;10.0.0.0/8 auth-anonymous=1 -load-module module-zeroconf-publish - -### Load the RTP receiver module (also configured via paprefs, see above) -#load-module module-rtp-recv - -### Load the RTP sender module (also configured via paprefs, see above) -#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'" -#load-module module-rtp-send source=rtp.monitor - -### Load additional modules from GConf settings. This can be configured with the paprefs tool. -### Please keep in mind that the modules configured by paprefs might conflict with manually -### loaded modules. -.ifexists module-gconf.so -.nofail -load-module module-gconf -.fail -.endif - -### Automatically restore the default sink/source when changed by the user -### during runtime -### NOTE: This should be loaded as early as possible so that subsequent modules -### that look up the default sink/source get the right value -load-module module-default-device-restore - -### Automatically move streams to the default sink if the sink they are -### connected to dies, similar for sources -load-module module-rescue-streams - -### Make sure we always have a sink around, even if it is a null sink. -load-module module-always-sink - -### Honour intended role device property -load-module module-intended-roles - -### Automatically suspend sinks/sources that become idle for too long -load-module module-suspend-on-idle - -### If autoexit on idle is enabled we want to make sure we only quit -### when no local session needs us anymore. -.ifexists module-console-kit.so -load-module module-console-kit -.endif -.ifexists module-systemd-login.so -load-module module-systemd-login -.endif - -### Enable positioned event sounds -load-module module-position-event-sounds - -### Cork music/video streams when a phone stream is active -load-module module-role-cork - -### Modules to allow autoloading of filters (such as echo cancellation) -### on demand. module-filter-heuristics tries to determine what filters -### make sense, and module-filter-apply does the heavy-lifting of -### loading modules and rerouting streams. -load-module module-filter-heuristics -load-module module-filter-apply - -### Make some devices default -#set-default-sink output -#set-default-source input -#set-default-source alsa_input.platform-soc_sound.seeed-source -#set-default-sink alsa_output.platform-soc_sound.seeed-sink - -### OpenVoiceOS Audio Settings -unload-module module-suspend-on-idle -unload-module module-role-cork -load-module module-role-ducking -load-module module-combine-sink sink_name=OpenVoiceOS -set-default-sink OpenVoiceOS - -### Enable Echo/Noise-Cancellation -#load-module module-echo-cancel aec_method=webrtc source_name=echoCancel_source sink_name=echoCancel_sink -#set-default-source echoCancel_source -#set-default-sink echoCancel_sink diff --git a/buildroot-external/package/respeaker/0001-Add-2mic-pulse-support.patch b/buildroot-external/package/respeaker/0001-Add-2mic-pulse-support.patch deleted file mode 100644 index 2fed7d06..00000000 --- a/buildroot-external/package/respeaker/0001-Add-2mic-pulse-support.patch +++ /dev/null @@ -1,317 +0,0 @@ -From 10fb065c9735e4a04cfc251a31529083f55c16fd Mon Sep 17 00:00:00 2001 -From: j1nx -Date: Thu, 27 Aug 2020 13:33:47 +0200 -Subject: [PATCH 1/1] Add 2mic pulse support - ---- - pulseaudio/91-seeedvoicecard.rules | 3 +- - pulseaudio/pulse_config_2mic/daemon.conf | 87 +++++++++++ - pulseaudio/pulse_config_2mic/default.pa | 143 ++++++++++++++++++ - .../pulse_config_2mic/seeed-voicecard.conf | 36 +++++ - 4 files changed, 268 insertions(+), 1 deletion(-) - create mode 100644 pulseaudio/pulse_config_2mic/daemon.conf - create mode 100644 pulseaudio/pulse_config_2mic/default.pa - create mode 100644 pulseaudio/pulse_config_2mic/seeed-voicecard.conf - -diff --git a/pulseaudio/91-seeedvoicecard.rules b/pulseaudio/91-seeedvoicecard.rules -index 8b41dd1..b253459 100644 ---- a/pulseaudio/91-seeedvoicecard.rules -+++ b/pulseaudio/91-seeedvoicecard.rules -@@ -2,7 +2,8 @@ SUBSYSTEM!="sound", GOTO="seeedvoicecard_end" - ACTION!="change", GOTO="seeedvoicecard_end" - KERNEL!="card*", GOTO="seeedvoicecard_end" - -+ATTR{id}=="seeed2micvoicec",ENV{PULSE_PROFILE_SET}="seeed-voicecard-2mic.conf" - ATTR{id}=="seeed4micvoicec",ENV{PULSE_PROFILE_SET}="seeed-voicecard-4mic.conf" - ATTR{id}=="seeed8micvoicec",ENV{PULSE_PROFILE_SET}="seeed-voicecard-8mic.conf" - --LABEL="seeedvoicecard_end" -\ No newline at end of file -+LABEL="seeedvoicecard_end" -diff --git a/pulseaudio/pulse_config_2mic/daemon.conf b/pulseaudio/pulse_config_2mic/daemon.conf -new file mode 100644 -index 0000000..067a55e ---- /dev/null -+++ b/pulseaudio/pulse_config_2mic/daemon.conf -@@ -0,0 +1,87 @@ -+# This file is part of PulseAudio. -+# -+# PulseAudio is free software; you can redistribute it and/or modify -+# it under the terms of the GNU Lesser General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# PulseAudio is distributed in the hope that it will be useful, but -+# WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+# General Public License for more details. -+# -+# You should have received a copy of the GNU Lesser General Public License -+# along with PulseAudio; if not, see . -+ -+## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for -+## more information. Default values are commented out. Use either ; or # for -+## commenting. -+ -+; daemonize = no -+; fail = yes -+; allow-module-loading = yes -+; allow-exit = yes -+; use-pid-file = yes -+; system-instance = no -+; local-server-type = user -+; enable-shm = yes -+; enable-memfd = yes -+; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB -+; lock-memory = no -+; cpu-limit = no -+ -+; high-priority = yes -+; nice-level = -11 -+ -+; realtime-scheduling = yes -+; realtime-priority = 5 -+ -+; exit-idle-time = 20 -+; scache-idle-time = 20 -+ -+; dl-search-path = (depends on architecture) -+ -+; load-default-script-file = yes -+; default-script-file = /etc/pulse/default.pa -+ -+; log-target = auto -+; log-level = notice -+; log-meta = no -+; log-time = no -+; log-backtrace = 0 -+ -+; resample-method = speex-float-1 -+; enable-remixing = yes -+; enable-lfe-remixing = no -+; lfe-crossover-freq = 0 -+ -+; flat-volumes = yes -+ -+; rlimit-fsize = -1 -+; rlimit-data = -1 -+; rlimit-stack = -1 -+; rlimit-core = -1 -+; rlimit-as = -1 -+; rlimit-rss = -1 -+; rlimit-nproc = -1 -+; rlimit-nofile = 256 -+; rlimit-memlock = -1 -+; rlimit-locks = -1 -+; rlimit-sigpending = -1 -+; rlimit-msgqueue = -1 -+; rlimit-nice = 31 -+; rlimit-rtprio = 9 -+; rlimit-rttime = 200000 -+ -+default-sample-format = s16le -+default-sample-rate = 96000 -+; alternate-sample-rate = 48000 -+default-sample-channels = 2 -+; default-channel-map = front-left,front-right -+ -+; default-fragments = 4 -+; default-fragment-size-msec = 25 -+ -+; enable-deferred-volume = yes -+; deferred-volume-safety-margin-usec = 8000 -+; deferred-volume-extra-delay-usec = 0 -diff --git a/pulseaudio/pulse_config_2mic/default.pa b/pulseaudio/pulse_config_2mic/default.pa -new file mode 100644 -index 0000000..a99faff ---- /dev/null -+++ b/pulseaudio/pulse_config_2mic/default.pa -@@ -0,0 +1,143 @@ -+#!/usr/bin/pulseaudio -nF -+# -+# This file is part of PulseAudio. -+# -+# PulseAudio is free software; you can redistribute it and/or modify it -+# under the terms of the GNU Lesser General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# PulseAudio is distributed in the hope that it will be useful, but -+# WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+# General Public License for more details. -+# -+# You should have received a copy of the GNU Lesser General Public License -+# along with PulseAudio; if not, see . -+ -+# This startup script is used only if PulseAudio is started per-user -+# (i.e. not in system mode) -+ -+.fail -+ -+### Automatically restore the volume of streams and devices -+load-module module-device-restore -+load-module module-stream-restore -+load-module module-card-restore -+ -+### Automatically augment property information from .desktop files -+### stored in /usr/share/application -+load-module module-augment-properties -+ -+### Should be after module-*-restore but before module-*-detect -+load-module module-switch-on-port-available -+ -+### Load audio drivers statically -+### (it's probably better to not load these drivers manually, but instead -+### use module-udev-detect -- see below -- for doing this automatically) -+#load-module module-alsa-sink device="hw:1,0" channels=8 rate=48000 format=s32le -+#load-module module-alsa-source device="hw:1,0" channels=8 rate=48000 format=s32le -+#load-module module-oss device="/dev/dsp" sink_name=output source_name=input -+#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input -+#load-module module-null-sink -+#load-module module-pipe-sink -+ -+### Automatically load driver modules depending on the hardware available -+.ifexists module-udev-detect.so -+load-module module-udev-detect -+#channels=8 rate=48000 format=s32le -+.else -+### Use the static hardware detection module (for systems that lack udev support) -+load-module module-detect -+.endif -+ -+### Automatically connect sink and source if JACK server is present -+.ifexists module-jackdbus-detect.so -+.nofail -+load-module module-jackdbus-detect channels=2 -+.fail -+.endif -+ -+### Automatically load driver modules for Bluetooth hardware -+.ifexists module-bluetooth-policy.so -+load-module module-bluetooth-policy -+.endif -+ -+.ifexists module-bluetooth-discover.so -+load-module module-bluetooth-discover -+.endif -+ -+### Load several protocols -+.ifexists module-esound-protocol-unix.so -+load-module module-esound-protocol-unix -+.endif -+load-module module-native-protocol-unix -+ -+### Network access (may be configured with paprefs, so leave this commented -+### here if you plan to use paprefs) -+#load-module module-esound-protocol-tcp -+#load-module module-native-protocol-tcp -+#load-module module-zeroconf-publish -+ -+### Load the RTP receiver module (also configured via paprefs, see above) -+#load-module module-rtp-recv -+ -+### Load the RTP sender module (also configured via paprefs, see above) -+#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'" -+#load-module module-rtp-send source=rtp.monitor -+ -+### Load additional modules from GConf settings. This can be configured with the paprefs tool. -+### Please keep in mind that the modules configured by paprefs might conflict with manually -+### loaded modules. -+.ifexists module-gconf.so -+.nofail -+load-module module-gconf -+.fail -+.endif -+ -+### Automatically restore the default sink/source when changed by the user -+### during runtime -+### NOTE: This should be loaded as early as possible so that subsequent modules -+### that look up the default sink/source get the right value -+load-module module-default-device-restore -+ -+### Automatically move streams to the default sink if the sink they are -+### connected to dies, similar for sources -+load-module module-rescue-streams -+ -+### Make sure we always have a sink around, even if it is a null sink. -+load-module module-always-sink -+ -+### Honour intended role device property -+load-module module-intended-roles -+ -+### Automatically suspend sinks/sources that become idle for too long -+load-module module-suspend-on-idle -+ -+### If autoexit on idle is enabled we want to make sure we only quit -+### when no local session needs us anymore. -+.ifexists module-console-kit.so -+load-module module-console-kit -+.endif -+.ifexists module-systemd-login.so -+load-module module-systemd-login -+.endif -+ -+### Enable positioned event sounds -+load-module module-position-event-sounds -+ -+### Cork music/video streams when a phone stream is active -+load-module module-role-cork -+ -+### Modules to allow autoloading of filters (such as echo cancellation) -+### on demand. module-filter-heuristics tries to determine what filters -+### make sense, and module-filter-apply does the heavy-lifting of -+### loading modules and rerouting streams. -+load-module module-filter-heuristics -+load-module module-filter-apply -+ -+### Make some devices default -+#set-default-sink output -+#set-default-source input -+set-default-source alsa_input.platform-soc_sound.seeed-source -+set-default-sink alsa_output.platform-soc_sound.seeed-sink -diff --git a/pulseaudio/pulse_config_2mic/seeed-voicecard.conf b/pulseaudio/pulse_config_2mic/seeed-voicecard.conf -new file mode 100644 -index 0000000..a050002 ---- /dev/null -+++ b/pulseaudio/pulse_config_2mic/seeed-voicecard.conf -@@ -0,0 +1,36 @@ -+# /usr/share/pulseaudio/alsa-mixer/profile-sets/seeed-voiced.conf -+ -+[General] -+auto-profiles = no -+[Mapping seeed-source] -+device-strings = hw:%f -+channel-map = front-left,front-right -+exact-channels = false -+fallback = yes -+paths-input = seeed-source -+priority = 3 -+direction = input -+ -+[Mapping seeed-sink] -+device-strings = hw:%f -+channel-map = front-left,front-right -+exact-channels = false -+fallback = yes -+paths-output = seeed-sink -+direction = output -+priority = 2 -+ -+[Profile output:seeed-sink+input:seeed-source] -+output-mappings = seeed-sink -+input-mappings = seeed-source -+priority = 100 -+skip-probe = yes -+ -+[Profile output:seeed-sink] -+output-mappings = seeed-sink -+priority = 4 -+skip-probe = yes -+ -+[Profile input:seeed-source] -+input-mappings = seeed-source -+priority = 5 --- -2.20.1 - diff --git a/buildroot-external/package/respeaker/respeaker.mk b/buildroot-external/package/respeaker/respeaker.mk index cf0400e7..494d89f3 100644 --- a/buildroot-external/package/respeaker/respeaker.mk +++ b/buildroot-external/package/respeaker/respeaker.mk @@ -29,8 +29,6 @@ define RESPEAKER_INSTALL_TARGET_CMDS $(INSTALL) -D -m 0644 $(@D)/seeed-8mic-voicecard.dtbo $(BINARIES_DIR)/rpi-firmware/overlays/ mkdir -p $(TARGET_DIR)/usr/share/pulseaudio/alsa-mixer/profile-sets/ - $(INSTALL) -D -m 0644 $(@D)/pulseaudio/pulse_config_2mic/seeed-voicecard.conf \ - $(TARGET_DIR)/usr/share/pulseaudio/alsa-mixer/profile-sets/seeed-voicecard-2mic.conf $(INSTALL) -D -m 0644 $(@D)/pulseaudio/pulse_config_4mic/seeed-voicecard.conf \ $(TARGET_DIR)/usr/share/pulseaudio/alsa-mixer/profile-sets/seeed-voicecard-4mic.conf $(INSTALL) -D -m 0644 $(@D)/pulseaudio/pulse_config_6mic/seeed-voicecard.conf \ @@ -38,10 +36,6 @@ define RESPEAKER_INSTALL_TARGET_CMDS $(INSTALL) -D -m 0644 $(@D)/pulseaudio/91-seeedvoicecard.rules \ $(TARGET_DIR)/etc/udev/rules.d/91-seeedvoicecard.rules - $(INSTALL) -D -m 0644 $(@D)/pulseaudio/pulse_config_2mic/default.pa \ - $(TARGET_DIR)/etc/pulse/seeed-voicecard-2mic-default.pa - $(INSTALL) -D -m 0644 $(@D)/pulseaudio/pulse_config_2mic/daemon.conf \ - $(TARGET_DIR)/etc/pulse/seeed-voicecard-2mic-daemon.conf $(INSTALL) -D -m 0644 $(@D)/pulseaudio/pulse_config_4mic/default.pa \ $(TARGET_DIR)/etc/pulse/seeed-voicecard-4mic-default.pa $(INSTALL) -D -m 0644 $(@D)/pulseaudio/pulse_config_4mic/daemon.conf \ diff --git a/buildroot-external/package/respeaker/seeed-voicecard b/buildroot-external/package/respeaker/seeed-voicecard index 9ffe70b4..83bcd724 100755 --- a/buildroot-external/package/respeaker/seeed-voicecard +++ b/buildroot-external/package/respeaker/seeed-voicecard @@ -79,8 +79,6 @@ if [ "x${is_1a}" != "x" ] && [ "x${is_35}" == "x" ] ; then echo "install 2mic" overlay=seeed-2mic-voicecard asound_state=/etc/voicecard/wm8960_asound.state - pulse_default=/etc/pulse/seeed-voicecard-2mic-default.pa - pulse_daemon=/etc/pulse/seeed-voicecard-2mic-daemon.conf fi if [ "x${is_3b}" != "x" ] && [ "x${is_35}" == "x" ] ; then