Benutzer-Werkzeuge

Webseiten-Werkzeuge


rhasspy

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
rhasspy [2022/12/08 23:12] varnholtrhasspy [2024/01/17 18:54] (aktuell) varnholt
Zeile 152: Zeile 152:
  
 Ach: Hurra, es geht :) Ach: Hurra, es geht :)
 +
 +==== ReSpeaker 2-Mics Pi HAT ====
 +
 +https://wiki.seeedstudio.com/ReSpeaker_2_Mics_Pi_HAT_Raspberry/
 +
 +<code>
 +sudo apt-get update
 +git clone https://github.com/Seeed-Projects/seeed-voicecard.git
 +cd seeed-voicecard
 +sudo ./install.sh
 +sudo reboot now
 +</code>
 +
 +Tonausgabe geht nur noch mit "aplay -D sysdefault:CARD=Headphones test.wav", aber Aufnehmen geht mit "arecord -D "plughw:2,0" -f S16_LE -r 16000 -d 5 -t wav test.wav". Auch der speaker-test geht nur mit "speaker-test -D sysdefault:CARD=Headphones"
 +
 +Aber Rhasspy erkennt es wohl sofort, also alles gut, ich habe wohl nen Lauf ;-)
 +
 +==== Exchangelib ====
 +
 +Beim Umzug der Exchangelib-Aufrufe kam es zu Problemen, da die cryptography lib jetzt Rust braucht. Dann nehmen wir eben die Letzte, die noch kein Tust brauchte: Version 3.3.2 da aber die im pip-cache genommen wird, muss man den erst löschen. Ach, und dann kam noch der Fehler "ImportError: libxslt.so.1: cannot open shared object file: No such file or directory". Es geht dann mit den Aufrufen:
 +<code>
 +sudo apt-get install libxml2-dev libxslt-dev
 +pip cache purge
 +pip install cryptography==3.3.2
 +pip install exchangelib
 +</code> 
 +
 +==== Wetter ====
 +
 +Mit Snips hatte ich ein schönes Wettermodul. Wie ziehe ich das am besten um? Kopieren der wichtigsten Dateien: action-searchWeatherForecast-Wetter.py, weather_logic.py, weather.py und config.ini
 +
 +Da das ganze im Unterordner wetter liegt, findet skills.py es nicht. Dazu in den Unterordner eine leere Datei __init__.py und in skills.py 'from wetter.weather import Weather'
 +
 +Alles mit Hermes und snips auskommentieren. Mit 'sudo raspi-config' locale auf de_DE.utf8 setzen, den default aber sicherheitshalber auf en lassen. Testen mit 'locale -a'
 +
 +
 +In parse_intent_message 'intent = ForecastType.FULL' setzen und nur den letzten request lassen 'requests.append(WeatherRequest(DateType.FIXED, Grain.DAY, datetime.date.today(), intent, self.detail))'
 +
 +Probleme machen die Grain.DAY und so weiter. Dazu jeweils drei Zeilen an den Anfang.
 +<code>
 +from types import SimpleNamespace
 +d = {'DAY': 'day', 'key2': 'value2'}
 +Grain = SimpleNamespace(**d)
 +</code>
 +Nachdem jetzt aber Grain nicht mehr vom Type Grain, sondern vom Type sting ist, muss man auch die Zeile auskommentieren
 +<code>
 +    def grain(self, val):
 +        #if type(val) is Grain:
 +        self.__grain = val
 +</code>
 +Es gab Probleme, dass manchmal 'weather_for_interval' None war (irgendwas mit switch in der Fehlermeldung). Liegt möglicherweise an Uhrzeit oder Local oder was auch immer, denn erst fragt er bis 20:59 ab, aber findet dann erst was um 21:00 Uhr. Habe da einfach eingebaut
 +<code>
 +        if weather_for_interval == None:
 +            return None
 +</code>
 +Nächstes Problem, den richtigen tag zu übergeben, da snips das im Intent anders übergeben hat. Den nächsten Tag bekommt man, indem man 
 +<code>
 +dertag = datetime.date.today() + datetime.timedelta(days=1)
 +</code>
rhasspy.1670541143.txt.gz · Zuletzt geändert: 2022/12/08 23:12 von varnholt