diff --git a/install_main_bot.sh b/install_main_bot.sh index 6bf447e..4eb0f03 100755 --- a/install_main_bot.sh +++ b/install_main_bot.sh @@ -1,4 +1,5 @@ #!/bin/bash +sudo apt-get install python3-dev cd /home/pi mdkir Conjurer cd Conjurer diff --git a/requirements_bot.txt b/requirements_bot.txt index 17d5cd6..9c7deaa 100644 --- a/requirements_bot.txt +++ b/requirements_bot.txt @@ -14,5 +14,5 @@ PyNaCl flask waitress clickupython -assemblyai +assemblyai[extras] git+https://github.com/imayhaveborkedit/discord-ext-voice-recv \ No newline at end of file diff --git a/stream_test.py b/stream_test.py new file mode 100644 index 0000000..82a410e --- /dev/null +++ b/stream_test.py @@ -0,0 +1,62 @@ +# Start by making sure the `assemblyai` package is installed. +# If not, you can install it by running the following command: +# pip install -U assemblyai +# +# Then, make sure you have PyAudio installed: https://pypi.org/project/PyAudio/ +# +# Note: Some macOS users might need to use `pip3` instead of `pip`. + +import pyaudio +import assemblyai as aai + +aai.settings.api_key = "aa9962f0088a449a9c4ab2361e96cc08" + +def on_open(session_opened: aai.RealtimeSessionOpened): + "This function is called when the connection has been established." + + print("Session ID:", session_opened.session_id) + +def on_data(transcript: aai.RealtimeTranscript): + "This function is called when a new transcript has been received." + + if not transcript.text: + return + + if isinstance(transcript, aai.RealtimeFinalTranscript): + print(transcript.text, end="\r\n") + else: + print(transcript.text, end="\r") + +def on_error(error: aai.RealtimeError): + "This function is called when the connection has been closed." + + print("An error occured:", error) + +def on_close(): + "This function is called when the connection has been closed." + + print("Closing Session") + +transcriber = aai.RealtimeTranscriber( + on_data=on_data, + on_error=on_error, + sample_rate=44_100, + on_open=on_open, # optional + on_close=on_close, # optional +) + + +pa = pyaudio.PyAudio() +for i in range(pa.get_device_count()): + print (pa.get_device_info_by_index(i)) + +# Start the connection +#transcriber.connect() + +# Open a microphone stream +#microphone_stream = aai.extras.MicrophoneStream() + +# Press CTRL+C to abort +#transcriber.stream(microphone_stream) + +#transcriber.close() diff --git a/voice_recognition.py b/voice_recognition.py index b208080..30a0628 100644 --- a/voice_recognition.py +++ b/voice_recognition.py @@ -50,7 +50,7 @@ class Transcriber(commands.Cog): ) for utterance in transcript.utterances: print(f"Speaker {utterance.speaker}: {utterance.text}") - @commands.hybrid_command(name="test") + @commands.hybrid_command(name="connect_for_transcribe") async def test(self, ctx): def callback(user, data: voice_recv.VoiceData): print(f"Got packet from {user}") @@ -65,11 +65,11 @@ class Transcriber(commands.Cog): vc = await ctx.author.voice.channel.connect(cls=voice_recv.VoiceRecvClient) vc.listen(voice_recv.BasicSink(callback)) - @commands.command() + @commands.command(name="stop_transcribe") async def stop(self, ctx): await ctx.voice_client.disconnect() - @commands.command() + @commands.command(name="kill_transcribe_client") async def die(self, ctx): ctx.voice_client.stop() await ctx.bot.close()