ラズパイ Bluetooth スピーカ

1110月 - による raspiwordfan - 0 - ラズパイ 未分類

この記事の最終的には、stretchバージョンからは、pulseaudioなど入れず、初期状態?でaplayでbluez-alsaで再生できそう?

 

 

グーグルアシスタントのスピーカ分離タイプできる

 

よくわからんが、ラズパイ3内蔵のbluetoothチップだと不可とのこと?そんなことなかった(スピーカに関しては。HFPプロファイルがだめ?)hcitoolコマンドをうつことでOK

USBドングルbluetoothアダプタを使用。

 

GUIでbluetooth ヘッドセット認識は、一度セットアップしたら、つぎからは音声ボリュームのアイコンのほうをONにするとBluetoothでもONになる

(もしPS3コントローラのsixad サービスが起動時ONになると思うが、sixad起動時は、通常のsystemctl status bluetoothはfailed つまり同時に通常のbluetoothサービスは使用できないぽい? sixad –stop すれば、通常のbluetoothサービスに戻る)

https://github.com/RetroPie/RetroPie-Setup/issues/1181

 

ofono

pulseaudio

HFPプロファイルはpulseaudio 6以降。よって現状はソースビルドで。

ofonoもソースビルドでAPI必要ぽい

 

pulseaudio 6 はlibwebrtcなんとかがエラー

pulseaudio 10はいけた!

pulseaudio –start

pulseaudio -k

./configure で最後、表が出てきて、ofonoやheadset、などがenable yes になっていればOK!

コンフィグ

ofono PulseAudioに伝える
/etc/pulse/default.pa 書き換え
load-module module-bluetooth-discover

load-module module-bluetooth-discover headset=ofono

PulseAudio再度起動させる。

sudo apt-get install libdbus-glib-1-dev

する?

sudo pip3 install dbus-python

pactl list cards で本当にbluetooth 出てきて、headsetプロファイルあったときはうれしかった(朝4時)

 

 

 

サンプル再生は

aplay /usr/share/sounds/alsa/Noise.wav

pulseaudio –start

pactl list cards

ofono

pacmd set-card-profile 1 headset_head_unit

 

pacmd set-default-source bluez_souce.xx_xx_xx_xx_xx_xx.headset_head_unit

pacmd set-default-sink bluez_sink.xx_xx_xx_xx_xx_xx.headset_head_unit

(なにやらこのデバイス名がよくわからんかったが、paplayのときにサウンド出力先として表示されていたのを使ったらいけた)

 

parecord -v voice.wav

paplay -v voice.wav

 

Connect Bluetooth Headset To Raspberry Pi 3 (A2DP & HSP)

 

 

 

マイクできないといっているができる

https://qiita.com/saipan810/items/379262123d7a771249be

 

 

参考に

 

 

つか、いろいろやったけど、

  • メニュー ⇒ Sound & Video ⇒ PulseAudio Volume Control
  • ここのメニュー開くと、なにやらHFPやらA2DPやらでてくるんだが・・・これだけでできるのか?

 

スピーカだけやろうとしたけど、ソフトインストールだけだと音量調整のGUIアプリにbluetoothスピーカでてこなかった。

https://qiita.com/onelittlenightmusic/items/05b262c60c4889c07ca9

https://ameblo.jp/yoshi-bei/entry-12298849063.html

config

よくわからないが、このconfig設定後、再起動し、

sudo systemctl enable pulseaudio.service

これをすると、pavucontrol「pulseaudio音量調節」アプリ上でbluetooth-スピーカが再表示される。その状態で、再生コマンドaplayだとbluetoothスピーカから音が出た・・・なぞ。

(右上の緑アイコン「代替として設定」を選んだところで再生されるようだ。アイコン見づらい・・・)

mpg321は違うところから再生された・・・

 

上記のsudo systemctl enable pulseaudio.service だとアプリに表示されないことが・・・

直接sudo killall pulseaudio

pulseaudio –start

したら出てきた

 

https://qiita.com/nattof/items/3db73a95e63100d7580a

 

 

https://www.trifields.jp/how-to-sound-using-bluetooth-speaker-1981

 

http://vogel.at.webry.info/201712/article_10.html

 

 

 

 

https://qiita.com/kubotama/items/ff0ccd32e52cd914a968

だめだーーー!不安定すぎーーー 結局新規環境で一度つながっても、再起動して結局つながらないーーーーー

あきらめよう

 

他のbluetoothデバイスなら違うのかもしれない

 

 

pulseaudio とpavucontroleをremove したら普通に再生できたーーーー?????なぜーーーー

 

Raspbian Stretch リリース!

https://qiita.com/tchisaka/items/80d4dcbfe83bb88acf02

 

「ラズパイ stretch pulseaudio」で検索したら、どうやらstretchからはpulseaudio使わないのがデフォルトで、bluez-alsaがデフォなのね・・・・・・・・・

 

 

結局、stretch で古い情報のpulseaudioを入れたのがだめだった。

 

 

bluetoothでの録音は、a2dp source を使う方法がわからない。できない?scoというのがalsamixerででてくるし、

arecord -f S16_LE -D bluealsa:HCI=hci0,DEV=B8:D5:0B:20:99:82,PROFILE=sco mic.wav -vvv -r 48000 -d 7

こんな感じでやるとスピーカがさーーーっって音が鳴るが、44バイトのファイルができるだけで、ファイルが正しく作られない。うーむ

 

 

Enabling Hands-Free Profile on Raspberry Pi (Raspbian Stretch) by using PulseAudio

 

As mentioned above, we’ll use a Bluetooth dongle since the on-board Bluetooth chip doesn’t work for HFP.

 

https://github.com/raspberrypi/linux/issues/2229

 

It’s not a kernel issue – it’s a BlueZ limitation. As of version 5.0, BlueZ does not support HFP or HSP, only A2DP. I’ve not found an official explanation from BlueZ, but there are some notes from the PulseAudio devs here: https://www.freedesktop.org/wiki/Software/PulseAudio/Notes/5.0/

If anyone knows of a solution that doesn’t involve installing BlueZ 4 as well I’ll be interested to hear it.

 

 

 

 

 

 

 

 

 

https://github.com/raspberrypi/linux/issues/2229

 

うおおおおおおお

ここの最後のコマンド

sudo hcitool cmd 0x3F 0x01C 0x01 0x02 0x00 0x01 0x01

したら、

arecord -f S16_LE -D bluealsa:HCI=hci0,DEV=B8:D5:0B:20:99:82,PROFILE=sco mic.wav -vvv -r 48000 -d 7

録音できとる なんじゃこりゃーw

 

bluetiger9 commented 5 days ago 

Seems that, we have a solution to use the HSP profile with Raspberry Pi 3’s built in BCM43438 chip. The culprit was the so called SCO audio routingHSP / HFP uses SCO audio packets to transmit audio and in order to make PulseAudio work the packets must be routed to the HCI interface. This can be done by sending the the following HCI command:

sudo hcitool cmd 0x3F 0x01C 0x01 0x02 0x00 0x01 0x01

After issuing this command, both paplay and parecord should work with the HSP profile.

More details here:
https://www.spinics.net/lists/linux-bluetooth/msg73883.html
https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Bluetooth/#index8h3
http://youness.net/raspberry-pi/bluetooth-headset-raspberry-pi-3-ad2p-hsp#comment-2484

 

 

 

とりあえず、stretchでのbluetooth 音声録音の手法は、

pulseaudio + bluez + ofono

あるいは、

bluez-alsa + 上記コマンド(起動時に毎回)

かな。

 

https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Bluetooth/#index8h3

pulseaudio公式の方に書いてあるコマンドなのね。

(BCM43438 is notable for being used in Raspberry Pi 3.) These adapters may have wrong SCO audio routing. Use this command (as root) to fix the routing:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です