Я в основном строю простого помощника GPT с помощью телефонных звонков, используя Twilio, используя Google Cloud Speech Im транскрипции ввода пользователя. На данный момент у меня есть образец TTS_Output4 аудиофайл, который я хочу сыграть после завершения транскрипции. Я изучил различные источники, но не могу найти что -нибудь, чтобы воспроизвести звук.
Я в основном строю простого помощника GPT с помощью телефонных звонков, используя Twilio, используя Google Cloud Speech Im транскрипции ввода пользователя. На данный момент у меня есть образец TTS_Output4 аудиофайл, который я хочу сыграть после завершения транскрипции. Я изучил различные источники, но не могу найти что -нибудь, чтобы воспроизвести звук.[code] import base64 import json import threading from io import BytesIO import time from pydub import AudioSegment current_sentence = "" last_timestamp = 0 sentence_timeout = 1.5
from flask import Flask, render_template from flask_sockets import Sockets from google.cloud.speech import RecognitionConfig, StreamingRecognitionConfig from gtts import gTTS import os import openai # GPT-4 integration
from SpeechClientBridge import SpeechClientBridge
# GPT-4 API setup openai.api_key = os.getenviron("OpenAI_API_key")
if is_final or (current_time - last_timestamp > sentence_timeout and stability > 0.8): # Append only the new part of the transcription if len(transcription) > len(current_sentence): current_sentence += transcription[len(current_sentence):]
# Convert the TTS audio to the required format for Twilio audio_segment = AudioSegment.from_mp3(audio_fp) audio_segment = audio_segment.set_frame_rate(8000).set_channels(1).set_sample_width(1) audio_data = BytesIO() audio_segment.export(audio_data, format="wav", codec="pcm_mulaw") audio_data = audio_data.getvalue()
# Split and send the audio data in chunks CHUNK_SIZE = 1024 # Adjust chunk size if necessary for i in range(0, len(audio_data), CHUNK_SIZE): chunk = audio_data[i:i + CHUNK_SIZE] audio_b64 = base64.b64encode(chunk).decode('utf-8') message = json.dumps({ "event": "media", "media": { "payload": audio_b64 } }) ws.send(message) # sleep(0.1) # Small delay to prevent overwhelming the WebSocket connection
print("Audio sent successfully")
except Exception as e: print(f"Error sending audio: {e}")
def send_static_audio(ws): try: # Load a static audio file (in PCM mu-law format) with open("tts_output4.wav", "rb") as f: audio_data = f.read()
while not ws.closed: message = ws.receive() if message is None: bridge.add_request(None) bridge.terminate() break
data = json.loads(message) if data["event"] in ("connected", "start"): print(f"Media WS: Received event '{data['event']}': {message}") continue if data["event"] == "media": media = data["media"] chunk = base64.b64decode(media["payload"]) bridge.add_request(chunk) if data["event"] == "stop": print(f"Media WS: Received event 'stop': {message}") print("Stopping...") break
bridge.terminate() print("WS connection closed")
if __name__ == "__main__": from gevent import pywsgi from geventwebsocket.handler import WebSocketHandler
server = pywsgi.WSGIServer( ("", HTTP_SERVER_PORT), app, handler_class=WebSocketHandler ) print("Server listening on: http://localhost:" + str(HTTP_SERVER_PORT)) server.serve_forever() < /code> и просто для ссылки, это мой файл Streams.xml: < /p>
У меня есть приложение Unity (v5.2.4), созданное для Android, которое запрашивает разрешение на «совершение телефонных звонков и управление ими» на Android (v6.0.1). Есть ли исследования, похоже, что это может быть связано с READ_PHONE_STATE....
У меня есть приложение Unity (v5.2.4), созданное для Android, которое запрашивает разрешение «совершать телефонные звонки и управлять ими» на Android (v6.0.1). Есть ли исследования, похоже, что это может быть связано с READ_PHONE_STATE.
У меня есть приложение Unity (v5.2.4), созданное для Android, которое запрашивает разрешение «делать и управлять телефонными звонками» на Android (v6.0.1). Похоже, что некоторые исследования могут быть связаны с read_phone_state.
Задача задачи
Я разрабатываю приложение для Android, которое необходимо обнаружить входящие и исходящие телефонные звонки, даже когда приложение убито. Я внедрил Broadcastreceiver ( CallReceiver ) прослушать...
Я постараюсь спросить его настолько простым способом.// My App is open at any random time call received
(if call_Received) { // How do I do this bit via dart code?
sample()
}
void sample() { // Any random function
// Some code to perform
}...