The Right way to quote rhasspy into a project

Hey hi all,

I am developing an integration between ODAS Rhasspy and ROS for a robotic application. I don’t think it is still presentable (relly messy) but you if you are curious you can find more details here https://github.com/lawrence-iviani/lisa.
I am writing to ask, in your opinion which is the better way to mention Rhasspy? Except of course mentioning in the project page, readme etc. But I was thinking of something more with an academic appeal.
Is there any example? Someone did before?
I´d like to give some visibility, this project saved me a lot of time and frustration, so if anyone has some suggestion, be my guest.

Thanks for any support!

Maybe @Jeinzo can help you with this question. He said, that Rhasspy is mentioned in his diploma thesis.

2 Likes

Sorry for the very late answer.I am doing my thesis about “Open source voice assistant for Smart Home” using Rhasspy.
I am using a raspberry pi but more simple than you,using only a Respeaker 2mic HAT.
I will connect Rasspy with MQTT broker and two sonoff devices and using voice commands I will turn on/off receive stat etc.
My thesis is to write down how this is working,how MQTT connects to Rhasspy,how Sonoff sensors connect to MQTT,how voice command are converted to WAV files etc.
About the academic appeal,Rhasspy is more customable and supporte more languages than Alexa,Echo Dot etc.

Hope I helped despite I think your project is more demanding.

1 Like

Hi @Lawrence_iviani, your project looks really cool!

I don’t have any publications yet on Rhasspy (too busy building it :slightly_smiling_face:), so the docs are probably the best way to mention it for now.

I have plans for an official website, but I’m waiting until I can get Kaldi and TTS models trained for most of the currently supported languages. I want to promote Rhasspy as having models training from completely free/open datasets!

2 Likes

I would love to see an official website one day :slight_smile:

2 Likes

Hey @synesthesiam,

Thanks, and thank to you and all the people involved. This project save my a… and gave me an incredible push. I have really no words to explain how useful is rh.

I’d really like to contribute by rewriting a module for having a clever implementation of beamforming with odas. It should be much easier than what i did and could be an improvement of the actual mic input or a separate module (at the moment i have forked the mic input module).

unfortunately i am a littlle bit busy but for an exciting reason. I was asked to write a paper for a ieee conference (ro-man). If it will be accepted I am sure you could cite in the new website.

I really see amazing possibilities for rh as backbone of personal assistants, but not only.
again, you have made an incredible job, so useful and so clean!

1 Like

Thanks, @Lawrence_iviani!

I’d be happy to cite your paper, and everyone would welcome some more clever microphone input for Rhasspy :slight_smile:

For the very long term, I’ve wanted to build a device I once saw in an episode of Black Mirror (not a murdering robot). They had a small box around their necks that would do real-time translation. So one person would speak in language A, and the box would speak the translation in language B. They could go back and forth.

It would be really cool to build that box with a Raspberry Pi 4, supporting near real-time ASR/translation/TTS for many different languages completely offline!

2 Likes

Interesting project and motivation (and btw it is scaring how much black mirror is becoming a reality in many aspects)!
I really think RH is an excellent platform and there is a lot of potential to expand with RH as backbone.
I understood it replaces snips.ai, that had some possibilities (in a programmatic way as far I understand) to create the own voice assistant.

IMO at the moment i think people must hack and be somehow expert, and i found complex or a limit, but this is also my absolute little knowledge about the async world (btw you have clarified a lot in that sense, your code is incredibly clean, and the way is packaged is simply great. I have really learned a lot!)

What i think from a system perspective is a bit a limitation, it is the dialogue manager. I mean, it is doing great its job and it is very reliable. But what i found as newbie with little knowledge of some advanced python concepts, it was hard for me to reprogram for my needs.
I have to admit that i was late in my thesis, so i built a monster another dialogue manager in parallel to provide the ROS functionalities to a robot. Initially it has to be just a wrapper, but I have realized i wasn’t able to work properly with the info i want to manage from the ros world and persist it in a dialogue context (as I called, basically a list of many elementary dialogues that create the context). This, in my mind, should go in direction of chatbot, at least for the application i have designed.

But What I would love to see, and i want to create, is (your) dialogue manager based on python transitions, in order to go a direction of dataflow programming (e.g. like red-node). Why? Because i think it would be possible to build (reusable) blocks that can intercept the core functionalities jointly with the hermes protocol. In other words, you have all stuff of messages and then you decide what to listen, how etc. This would be a huge change, but at least it would be easy to use a mix approach (a programmatic async state machine, let me call it). If there is some expert that wish to help us this could be a great GUI approach in future as well.

I really have too many todo on my list, but i’d like to fork the dialogue manager wrote with this idea… But as i said i really need to make some practice on the async world
transitions asynchronous

@synesthesiam In the last time I have seen multiple projects using Zenodo to make their projects better citable. There is an article on this by github as well: https://guides.github.com/activities/citable-code/