Following this guide: https://pimylifeup.com/raspberry-pi-google-assistant/

Pi info:

Microphone

pi@raspberrypi:~ $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 2: CODEC [USB audio CODEC], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Speaker:

pi@raspberrypi:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 1: vc4hdmi [vc4-hdmi], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: CODEC [USB audio CODEC], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

So that gives this:

pi@raspberrypi:~ $ cat /home/pi/.asoundrc
pcm.!default {
  type asym
  capture.pcm "mic"
  playback.pcm "speaker"
}
pcm.mic {
  type plug
  slave {
    pcm "hw:2,0"
    rate 48000
  }
}
pcm.speaker {
  type plug
  slave {
    pcm "hw:0,0"
  }
}

Tested my mic and speakers work. they do. fine tuned the gain some on the mic

Setting up the auth for the project

In classic google python sample style, none of the rest of the guide works since i just get a bunch of errors about deprecated stuff:

export projectid="pi--home-71b5e"
export deviceid="pi--home-71b5e-pi-google-home-ctd0tk"
googlesamples-assistant-pushtotalk --project-id $projectid --device-model-id $deviceid
python -m pushtotalk --device-id $deviceid --device-model-id $deviceid -v

Yep, following the guide on the google developer website: https://developers.google.com/assistant/sdk/guides/service/python/embed/run-sample

(env) pi@raspberrypi:~/googleassistant $ googlesamples-assistant-pushtotalk --project-id $projectid --device-model-id $deviceid
Traceback (most recent call last):
  File "/home/pi/googleassistant/env/bin/googlesamples-assistant-pushtotalk", line 5, in <module>
    from googlesamples.assistant.grpc.pushtotalk import main
  File "/home/pi/googleassistant/env/lib/python3.9/site-packages/googlesamples/assistant/grpc/pushtotalk.py", line 27, in <module>
    from google.assistant.embedded.v1alpha1 import embedded_assistant_pb2
  File "/home/pi/googleassistant/env/lib/python3.9/site-packages/google/assistant/embedded/v1alpha1/embedded_assistant_pb2.py", line 36, in <module>
    _descriptor.EnumValueDescriptor(
  File "/home/pi/googleassistant/env/lib/python3.9/site-packages/google/protobuf/descriptor.py", line 755, in __new__
    _message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: <https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates>