hume works
This commit is contained in:
parent
25428a9101
commit
edfb5c02fd
2 changed files with 14 additions and 16 deletions
|
|
@ -16,6 +16,7 @@ import { isDev } from "./utils.ts";
|
||||||
import { connectToOpenAI } from "./models/openai.ts";
|
import { connectToOpenAI } from "./models/openai.ts";
|
||||||
import { connectToGemini } from "./models/gemini.ts";
|
import { connectToGemini } from "./models/gemini.ts";
|
||||||
import { connectToElevenLabs } from "./models/elevenlabs.ts";
|
import { connectToElevenLabs } from "./models/elevenlabs.ts";
|
||||||
|
import { connectToHume } from "./models/hume.ts";
|
||||||
|
|
||||||
const server = createServer();
|
const server = createServer();
|
||||||
|
|
||||||
|
|
@ -50,7 +51,7 @@ wss.on("connection", async (ws: WSWebSocket, payload: IPayload) => {
|
||||||
ws.send(
|
ws.send(
|
||||||
JSON.stringify({
|
JSON.stringify({
|
||||||
type: "auth",
|
type: "auth",
|
||||||
volume_control: user.device?.volume ?? 20,
|
volume_control: user.device?.volume ?? 5,
|
||||||
is_ota: user.device?.is_ota ?? false,
|
is_ota: user.device?.is_ota ?? false,
|
||||||
is_reset: user.device?.is_reset ?? false,
|
is_reset: user.device?.is_reset ?? false,
|
||||||
pitch_factor: user.personality?.pitch_factor ?? 1,
|
pitch_factor: user.personality?.pitch_factor ?? 1,
|
||||||
|
|
@ -91,6 +92,10 @@ wss.on("connection", async (ws: WSWebSocket, payload: IPayload) => {
|
||||||
elevenLabsApiKey,
|
elevenLabsApiKey,
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
|
case "hume":
|
||||||
|
await connectToHume(ws, payload,
|
||||||
|
connectionPcmFile, firstMessage, systemPrompt, () => Promise.resolve());
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
throw new Error(`Unknown provider: ${provider}`);
|
throw new Error(`Unknown provider: ${provider}`);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,21 +4,14 @@ import { WebSocket } from 'npm:ws';
|
||||||
import { addConversation, getDeviceInfo } from '../supabase.ts';
|
import { addConversation, getDeviceInfo } from '../supabase.ts';
|
||||||
import { encoder, FRAME_SIZE, isDev, humeApiKey, downsamplePcm, extractPcmFromWav, boostLimitPCM16LEInPlace } from '../utils.ts';
|
import { encoder, FRAME_SIZE, isDev, humeApiKey, downsamplePcm, extractPcmFromWav, boostLimitPCM16LEInPlace } from '../utils.ts';
|
||||||
|
|
||||||
export const connectToHume = ({
|
export const connectToHume = (
|
||||||
ws,
|
ws: WebSocket,
|
||||||
payload,
|
payload: IPayload,
|
||||||
connectionPcmFile,
|
connectionPcmFile:Deno.FsFile | null,
|
||||||
firstMessage,
|
firstMessage: string,
|
||||||
systemPrompt,
|
systemPrompt: string,
|
||||||
closeHandler,
|
closeHandler: () => Promise<void>,
|
||||||
}: {
|
) => {
|
||||||
ws: WebSocket;
|
|
||||||
payload: IPayload;
|
|
||||||
connectionPcmFile: Deno.FsFile | null;
|
|
||||||
firstMessage: string;
|
|
||||||
systemPrompt: string;
|
|
||||||
closeHandler: () => Promise<void>;
|
|
||||||
}) => {
|
|
||||||
const { user, supabase } = payload;
|
const { user, supabase } = payload;
|
||||||
const { personality } = user;
|
const { personality } = user;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue