filter better voices
Browse files- front/src/components/PodcastGenerator.tsx +20 -20
- index.html +20 -20
front/src/components/PodcastGenerator.tsx
CHANGED
@@ -24,33 +24,33 @@ const SPEEDS = [
|
|
24 |
];
|
25 |
|
26 |
const SPEAKERS = [
|
27 |
-
{ name: 'πΊπΈ πΊ Heart
|
28 |
-
{ name: 'πΊπΈ πΊ Bella
|
29 |
-
|
30 |
{ name: 'πΊπΈ πΊ Aoede', value: 'af_aoede' },
|
31 |
{ name: 'πΊπΈ πΊ Kore', value: 'af_kore' },
|
32 |
-
{ name: 'πΊπΈ πΊ Sarah', value: 'af_sarah' },
|
33 |
-
{ name: 'πΊπΈ πΊ Nova', value: 'af_nova' },
|
34 |
-
{ name: 'πΊπΈ πΊ Sky', value: 'af_sky' },
|
35 |
-
{ name: 'πΊπΈ πΊ Alloy', value: 'af_alloy' },
|
36 |
-
{ name: 'πΊπΈ πΊ Jessica', value: 'af_jessica' },
|
37 |
-
{ name: 'πΊπΈ πΊ River', value: 'af_river' },
|
38 |
{ name: 'πΊπΈ πΉ Michael', value: 'am_michael' },
|
39 |
{ name: 'πΊπΈ πΉ Fenrir', value: 'am_fenrir' },
|
40 |
-
{ name: 'πΊπΈ πΉ Puck', value: 'am_puck' },
|
41 |
{ name: 'πΊπΈ πΉ Echo', value: 'am_echo' },
|
42 |
-
{ name: 'πΊπΈ πΉ Eric', value: 'am_eric' },
|
43 |
-
{ name: 'πΊπΈ πΉ Liam', value: 'am_liam' },
|
44 |
{ name: 'πΊπΈ πΉ Onyx', value: 'am_onyx' },
|
45 |
{ name: 'πΊπΈ πΉ Santa', value: 'am_santa' },
|
46 |
{ name: 'πΊπΈ πΉ Adam', value: 'am_adam' },
|
47 |
{ name: 'π¬π§ πΊ Emma', value: 'bf_emma' },
|
48 |
-
{ name: 'π¬π§ πΊ Isabella', value: 'bf_isabella' },
|
49 |
-
{ name: 'π¬π§ πΊ Alice', value: 'bf_alice' },
|
50 |
{ name: 'π¬π§ πΊ Lily', value: 'bf_lily' },
|
51 |
{ name: 'π¬π§ πΉ George', value: 'bm_george' },
|
52 |
-
{ name: 'π¬π§ πΉ Fable', value: 'bm_fable' },
|
53 |
-
{ name: 'π¬π§ πΉ Lewis', value: 'bm_lewis' },
|
54 |
{ name: 'π¬π§ πΉ Daniel', value: 'bm_daniel' },
|
55 |
];
|
56 |
|
@@ -58,10 +58,10 @@ const getRandomSpeakerPair = (): { s1: string; s2: string } => {
|
|
58 |
const s1Gender = Math.random() > 0.5 ? 'πΊ' : 'πΉ';
|
59 |
const s2Gender = s1Gender === 'πΊ' ? 'πΉ' : 'πΊ';
|
60 |
const s1 = pickRand(
|
61 |
-
SPEAKERS.filter((s) => s.name.includes(s1Gender) && s.name.includes('
|
62 |
).value;
|
63 |
const s2 = pickRand(
|
64 |
-
SPEAKERS.filter((s) => s.name.includes(s2Gender) && s.name.includes('
|
65 |
).value;
|
66 |
return { s1, s2 };
|
67 |
};
|
@@ -211,7 +211,7 @@ export const PodcastGenerator = ({
|
|
211 |
<div className="grid grid-cols-2 gap-4">
|
212 |
<label className="form-control w-full">
|
213 |
<div className="label">
|
214 |
-
<span className="label-text">Speaker 1</span>
|
215 |
</div>
|
216 |
<select
|
217 |
className="select select-bordered"
|
@@ -228,7 +228,7 @@ export const PodcastGenerator = ({
|
|
228 |
|
229 |
<label className="form-control w-full">
|
230 |
<div className="label">
|
231 |
-
<span className="label-text">Speaker 2</span>
|
232 |
</div>
|
233 |
<select
|
234 |
className="select select-bordered"
|
|
|
24 |
];
|
25 |
|
26 |
const SPEAKERS = [
|
27 |
+
{ name: 'πΊπΈ πΊ Heart', value: 'af_heart' },
|
28 |
+
{ name: 'πΊπΈ πΊ Bella π', value: 'af_bella' },
|
29 |
+
{ name: 'πΊπΈ πΊ Nicole π§', value: 'af_nicole' },
|
30 |
{ name: 'πΊπΈ πΊ Aoede', value: 'af_aoede' },
|
31 |
{ name: 'πΊπΈ πΊ Kore', value: 'af_kore' },
|
32 |
+
{ name: 'πΊπΈ πΊ Sarah π', value: 'af_sarah' },
|
33 |
+
{ name: 'πΊπΈ πΊ Nova π', value: 'af_nova' },
|
34 |
+
{ name: 'πΊπΈ πΊ Sky π', value: 'af_sky' },
|
35 |
+
{ name: 'πΊπΈ πΊ Alloy π', value: 'af_alloy' },
|
36 |
+
{ name: 'πΊπΈ πΊ Jessica π', value: 'af_jessica' },
|
37 |
+
{ name: 'πΊπΈ πΊ River π', value: 'af_river' },
|
38 |
{ name: 'πΊπΈ πΉ Michael', value: 'am_michael' },
|
39 |
{ name: 'πΊπΈ πΉ Fenrir', value: 'am_fenrir' },
|
40 |
+
{ name: 'πΊπΈ πΉ Puck π', value: 'am_puck' },
|
41 |
{ name: 'πΊπΈ πΉ Echo', value: 'am_echo' },
|
42 |
+
{ name: 'πΊπΈ πΉ Eric π', value: 'am_eric' },
|
43 |
+
{ name: 'πΊπΈ πΉ Liam π', value: 'am_liam' },
|
44 |
{ name: 'πΊπΈ πΉ Onyx', value: 'am_onyx' },
|
45 |
{ name: 'πΊπΈ πΉ Santa', value: 'am_santa' },
|
46 |
{ name: 'πΊπΈ πΉ Adam', value: 'am_adam' },
|
47 |
{ name: 'π¬π§ πΊ Emma', value: 'bf_emma' },
|
48 |
+
{ name: 'π¬π§ πΊ Isabella π', value: 'bf_isabella' },
|
49 |
+
{ name: 'π¬π§ πΊ Alice π', value: 'bf_alice' },
|
50 |
{ name: 'π¬π§ πΊ Lily', value: 'bf_lily' },
|
51 |
{ name: 'π¬π§ πΉ George', value: 'bm_george' },
|
52 |
+
{ name: 'π¬π§ πΉ Fable π', value: 'bm_fable' },
|
53 |
+
{ name: 'π¬π§ πΉ Lewis π', value: 'bm_lewis' },
|
54 |
{ name: 'π¬π§ πΉ Daniel', value: 'bm_daniel' },
|
55 |
];
|
56 |
|
|
|
58 |
const s1Gender = Math.random() > 0.5 ? 'πΊ' : 'πΉ';
|
59 |
const s2Gender = s1Gender === 'πΊ' ? 'πΉ' : 'πΊ';
|
60 |
const s1 = pickRand(
|
61 |
+
SPEAKERS.filter((s) => s.name.includes(s1Gender) && s.name.includes('π'))
|
62 |
).value;
|
63 |
const s2 = pickRand(
|
64 |
+
SPEAKERS.filter((s) => s.name.includes(s2Gender) && s.name.includes('π'))
|
65 |
).value;
|
66 |
return { s1, s2 };
|
67 |
};
|
|
|
211 |
<div className="grid grid-cols-2 gap-4">
|
212 |
<label className="form-control w-full">
|
213 |
<div className="label">
|
214 |
+
<span className="label-text">Speaker 1 (π is better)</span>
|
215 |
</div>
|
216 |
<select
|
217 |
className="select select-bordered"
|
|
|
228 |
|
229 |
<label className="form-control w-full">
|
230 |
<div className="label">
|
231 |
+
<span className="label-text">Speaker 2 (π is better)</span>
|
232 |
</div>
|
233 |
<select
|
234 |
className="select select-bordered"
|
index.html
CHANGED
@@ -31949,43 +31949,43 @@ const SPEEDS = [
|
|
31949 |
{ name: "fast AF", value: 1.5 }
|
31950 |
];
|
31951 |
const SPEAKERS = [
|
31952 |
-
{ name: "πΊπΈ πΊ Heart
|
31953 |
-
{ name: "πΊπΈ πΊ Bella
|
31954 |
-
|
31955 |
{ name: "πΊπΈ πΊ Aoede", value: "af_aoede" },
|
31956 |
{ name: "πΊπΈ πΊ Kore", value: "af_kore" },
|
31957 |
-
{ name: "πΊπΈ πΊ Sarah", value: "af_sarah" },
|
31958 |
-
{ name: "πΊπΈ πΊ Nova", value: "af_nova" },
|
31959 |
-
{ name: "πΊπΈ πΊ Sky", value: "af_sky" },
|
31960 |
-
{ name: "πΊπΈ πΊ Alloy", value: "af_alloy" },
|
31961 |
-
{ name: "πΊπΈ πΊ Jessica", value: "af_jessica" },
|
31962 |
-
{ name: "πΊπΈ πΊ River", value: "af_river" },
|
31963 |
{ name: "πΊπΈ πΉ Michael", value: "am_michael" },
|
31964 |
{ name: "πΊπΈ πΉ Fenrir", value: "am_fenrir" },
|
31965 |
-
{ name: "πΊπΈ πΉ Puck", value: "am_puck" },
|
31966 |
{ name: "πΊπΈ πΉ Echo", value: "am_echo" },
|
31967 |
-
{ name: "πΊπΈ πΉ Eric", value: "am_eric" },
|
31968 |
-
{ name: "πΊπΈ πΉ Liam", value: "am_liam" },
|
31969 |
{ name: "πΊπΈ πΉ Onyx", value: "am_onyx" },
|
31970 |
{ name: "πΊπΈ πΉ Santa", value: "am_santa" },
|
31971 |
{ name: "πΊπΈ πΉ Adam", value: "am_adam" },
|
31972 |
{ name: "π¬π§ πΊ Emma", value: "bf_emma" },
|
31973 |
-
{ name: "π¬π§ πΊ Isabella", value: "bf_isabella" },
|
31974 |
-
{ name: "π¬π§ πΊ Alice", value: "bf_alice" },
|
31975 |
{ name: "π¬π§ πΊ Lily", value: "bf_lily" },
|
31976 |
{ name: "π¬π§ πΉ George", value: "bm_george" },
|
31977 |
-
{ name: "π¬π§ πΉ Fable", value: "bm_fable" },
|
31978 |
-
{ name: "π¬π§ πΉ Lewis", value: "bm_lewis" },
|
31979 |
{ name: "π¬π§ πΉ Daniel", value: "bm_daniel" }
|
31980 |
];
|
31981 |
const getRandomSpeakerPair = () => {
|
31982 |
const s1Gender = Math.random() > 0.5 ? "πΊ" : "πΉ";
|
31983 |
const s2Gender = s1Gender === "πΊ" ? "πΉ" : "πΊ";
|
31984 |
const s1 = pickRand(
|
31985 |
-
SPEAKERS.filter((s) => s.name.includes(s1Gender) && s.name.includes("
|
31986 |
).value;
|
31987 |
const s22 = pickRand(
|
31988 |
-
SPEAKERS.filter((s) => s.name.includes(s2Gender) && s.name.includes("
|
31989 |
).value;
|
31990 |
return { s1, s2: s22 };
|
31991 |
};
|
@@ -32113,7 +32113,7 @@ const PodcastGenerator = ({
|
|
32113 |
),
|
32114 |
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
32115 |
/* @__PURE__ */ jsxRuntimeExports.jsxs("label", { className: "form-control w-full", children: [
|
32116 |
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "label", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "label-text", children: "Speaker 1" }) }),
|
32117 |
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
32118 |
"select",
|
32119 |
{
|
@@ -32125,7 +32125,7 @@ const PodcastGenerator = ({
|
|
32125 |
)
|
32126 |
] }),
|
32127 |
/* @__PURE__ */ jsxRuntimeExports.jsxs("label", { className: "form-control w-full", children: [
|
32128 |
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "label", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "label-text", children: "Speaker 2" }) }),
|
32129 |
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
32130 |
"select",
|
32131 |
{
|
|
|
31949 |
{ name: "fast AF", value: 1.5 }
|
31950 |
];
|
31951 |
const SPEAKERS = [
|
31952 |
+
{ name: "πΊπΈ πΊ Heart", value: "af_heart" },
|
31953 |
+
{ name: "πΊπΈ πΊ Bella π", value: "af_bella" },
|
31954 |
+
{ name: "πΊπΈ πΊ Nicole π§", value: "af_nicole" },
|
31955 |
{ name: "πΊπΈ πΊ Aoede", value: "af_aoede" },
|
31956 |
{ name: "πΊπΈ πΊ Kore", value: "af_kore" },
|
31957 |
+
{ name: "πΊπΈ πΊ Sarah π", value: "af_sarah" },
|
31958 |
+
{ name: "πΊπΈ πΊ Nova π", value: "af_nova" },
|
31959 |
+
{ name: "πΊπΈ πΊ Sky π", value: "af_sky" },
|
31960 |
+
{ name: "πΊπΈ πΊ Alloy π", value: "af_alloy" },
|
31961 |
+
{ name: "πΊπΈ πΊ Jessica π", value: "af_jessica" },
|
31962 |
+
{ name: "πΊπΈ πΊ River π", value: "af_river" },
|
31963 |
{ name: "πΊπΈ πΉ Michael", value: "am_michael" },
|
31964 |
{ name: "πΊπΈ πΉ Fenrir", value: "am_fenrir" },
|
31965 |
+
{ name: "πΊπΈ πΉ Puck π", value: "am_puck" },
|
31966 |
{ name: "πΊπΈ πΉ Echo", value: "am_echo" },
|
31967 |
+
{ name: "πΊπΈ πΉ Eric π", value: "am_eric" },
|
31968 |
+
{ name: "πΊπΈ πΉ Liam π", value: "am_liam" },
|
31969 |
{ name: "πΊπΈ πΉ Onyx", value: "am_onyx" },
|
31970 |
{ name: "πΊπΈ πΉ Santa", value: "am_santa" },
|
31971 |
{ name: "πΊπΈ πΉ Adam", value: "am_adam" },
|
31972 |
{ name: "π¬π§ πΊ Emma", value: "bf_emma" },
|
31973 |
+
{ name: "π¬π§ πΊ Isabella π", value: "bf_isabella" },
|
31974 |
+
{ name: "π¬π§ πΊ Alice π", value: "bf_alice" },
|
31975 |
{ name: "π¬π§ πΊ Lily", value: "bf_lily" },
|
31976 |
{ name: "π¬π§ πΉ George", value: "bm_george" },
|
31977 |
+
{ name: "π¬π§ πΉ Fable π", value: "bm_fable" },
|
31978 |
+
{ name: "π¬π§ πΉ Lewis π", value: "bm_lewis" },
|
31979 |
{ name: "π¬π§ πΉ Daniel", value: "bm_daniel" }
|
31980 |
];
|
31981 |
const getRandomSpeakerPair = () => {
|
31982 |
const s1Gender = Math.random() > 0.5 ? "πΊ" : "πΉ";
|
31983 |
const s2Gender = s1Gender === "πΊ" ? "πΉ" : "πΊ";
|
31984 |
const s1 = pickRand(
|
31985 |
+
SPEAKERS.filter((s) => s.name.includes(s1Gender) && s.name.includes("π"))
|
31986 |
).value;
|
31987 |
const s22 = pickRand(
|
31988 |
+
SPEAKERS.filter((s) => s.name.includes(s2Gender) && s.name.includes("π"))
|
31989 |
).value;
|
31990 |
return { s1, s2: s22 };
|
31991 |
};
|
|
|
32113 |
),
|
32114 |
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
32115 |
/* @__PURE__ */ jsxRuntimeExports.jsxs("label", { className: "form-control w-full", children: [
|
32116 |
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "label", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "label-text", children: "Speaker 1 (π is better)" }) }),
|
32117 |
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
32118 |
"select",
|
32119 |
{
|
|
|
32125 |
)
|
32126 |
] }),
|
32127 |
/* @__PURE__ */ jsxRuntimeExports.jsxs("label", { className: "form-control w-full", children: [
|
32128 |
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "label", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "label-text", children: "Speaker 2 (π is better)" }) }),
|
32129 |
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
32130 |
"select",
|
32131 |
{
|