B5r1oJ0A9G / teufel_raumfeld

Integration for Teufel smart speaker (aka Raumfeld Multiroom) into https://www.home-assistant.io/.
GNU General Public License v3.0
30 stars 6 forks source link

Home assistant TTS and other wav is chopped off #62

Open sajov opened 3 months ago

sajov commented 3 months ago

First of all, thank you for your project. I have been trying to integrate my raufeld loudspeakers into a smart home assistant for years. Previously via rhasspy and node-red, now via home assistant. Now I realize that it is not so much a problem of the components but that apparently wav is not played back correctly in general. I have an automation in which I simply send piper tts to a Raufeld speaker for testing and it is always choppy, as with previous attempts. Is it maybe due to sample rates or do you have any advice for me?

sajov commented 3 months ago

I have read the WIKI and thought setting a proper media_content_type music would solve my issue but i had no luck with this. Output is still chopped

service: media_player.play_media
target:
  entity_id: media_player.office_front
data:
  media_content_id: >-
    media-source://tts/tts.piper?message=Hallo+du+kannst+jeden+Text+auf+jedem+unterst%C3%BCtzten+Medienplayer+abspielen%21&language=de_DE&voice=de_DE-thorsten-high
  media_content_type: music
metadata:
  title: >-
    Hallo, du kannst jeden Text auf jedem unterstützten
    Medienplayer abspielen!
  thumbnail: https://brands.home-assistant.io/_/tts/logo.png
  media_class: app
  children_media_class: null
  navigateIds:
    - {}
    - media_content_type: music
      media_content_id: media-source://tts
    - media_content_type: provider
      media_content_id: >-
        media-source://tts/tts.piper?message=Hallo+du+kannst+jeden+Text+auf+jedem+unterst%C3%BCtzten+Medienplayer+abspielen%21&language=de_DE&voice=de_DE-thorsten-high
sajov commented 3 months ago

I've been trying for a few years now to find out what the problem is or whether anyone already has a solution. Has anyone integrated Raumfeld and run TTS with good results?

B5r1oJ0A9G commented 3 weeks ago

TTS works okay for me, I use it in several automations. However, I have noticed that the speakers sometimes take a while to wake up and the beginning of the message can be missed. My solution to this problem was to put a less important text at the beginning, e.g. "Sorry for the interruption! The washing machine is finished."

sajov commented 3 weeks ago

@B5r1oJ0A9G thanks for reply. The point is it works, but it is very chopped off. Maybe wrong bit rate. I installed Music Assistant, not really needed, just for interest. That exposed all my speakers with additional media player. If I use them in automations then it is not shopped off. That made me think what I’m doing wrong, using the regular media players. Maybe additional options for bit rate or format? You don’t have that issue? Do you have multiple speaker where one is the master?

B5r1oJ0A9G commented 3 weeks ago

Yes, I do have 1x Teufel One M and 8x Teufel One S, where the M is the host - and I am facing no such issue. However, that doesn't mean that there is not a bug. The TTS actions I am using mostly is with a group of the One M and a One S.

Here an example that works for me. Consider to test it via Development tools -> SERVICES -> GO TO YAML MODE:

service: tts.google_translate_say
data:
  cache: true
  entity_id: media_player.room_kitchen
  message: Sorry for the disturbance! Someone has just rung the doorbell.
  language: en

Perhaps needless to say, the entity_id value needs to be updated with a valid media_player ID.