Gopikanth123 commited on
Commit
62125f9
·
verified ·
1 Parent(s): f2765da

Update templates/index.html

Browse files
Files changed (1) hide show
  1. templates/index.html +99 -34
templates/index.html CHANGED
@@ -525,53 +525,118 @@
525
  return null;
526
  }
527
 
528
- // Text-to-Speech function
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
529
  async function speak(text, lang) {
530
- const voices = await initializeVoices();
531
- const selectedVoice = getVoiceForLanguage(lang, voices);
 
532
 
533
- const utterance = new SpeechSynthesisUtterance(text);
534
- if (selectedVoice) {
535
- utterance.voice = selectedVoice;
536
- utterance.lang = selectedVoice.lang;
537
- } else {
538
- console.warn(`Falling back to default language.`);
539
- utterance.lang = 'en-US';
540
  }
541
-
542
- utterance.pitch = 1; // Set pitch
543
- utterance.rate = 1; // Set rate
544
- window.speechSynthesis.speak(utterance); // Speak the text
545
  }
546
 
547
  // Language Handling Function
548
  function speakResponse(text, selectedLanguage) {
549
  let lang;
550
  switch (selectedLanguage.toLowerCase()) {
551
- case 'hindi': lang = 'hi-IN'; break;
552
- case 'bengali': lang = 'bn-IN'; break;
553
- case 'telugu': lang = 'te-IN'; break;
554
- case 'marathi': lang = 'mr-IN'; break;
555
- case 'tamil': lang = 'ta-IN'; break;
556
- case 'gujarati': lang = 'gu-IN'; break;
557
- case 'kannada': lang = 'kn-IN'; break;
558
- case 'malayalam': lang = 'ml-IN'; break;
559
- case 'punjabi': lang = 'pa-IN'; break;
560
- case 'odia': lang = 'or-IN'; break;
561
- case 'urdu': lang = 'ur-IN'; break;
562
- case 'assamese': lang = 'as-IN'; break;
563
- case 'sanskrit': lang = 'sa-IN'; break;
564
- default: lang = 'en-US'; break; // English (default)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
565
  }
566
 
567
  speak(text, lang); // Call the speak function with the determined language
568
  }
569
-
570
- // Test voices and log them
571
- initializeVoices().then(voices => {
572
- console.log("Available voices:");
573
- voices.forEach(voice => console.log(`Voice: ${voice.name}, Language: ${voice.lang}`));
574
- });
575
 
576
 
577
  // Event listeners for buttons
 
525
  return null;
526
  }
527
 
528
+ // // Text-to-Speech function
529
+ // async function speak(text, lang) {
530
+ // const voices = await initializeVoices();
531
+ // const selectedVoice = getVoiceForLanguage(lang, voices);
532
+
533
+ // const utterance = new SpeechSynthesisUtterance(text);
534
+ // if (selectedVoice) {
535
+ // utterance.voice = selectedVoice;
536
+ // utterance.lang = selectedVoice.lang;
537
+ // } else {
538
+ // console.warn(`Falling back to default language.`);
539
+ // utterance.lang = 'en-US';
540
+ // }
541
+
542
+ // utterance.pitch = 1; // Set pitch
543
+ // utterance.rate = 1; // Set rate
544
+ // window.speechSynthesis.speak(utterance); // Speak the text
545
+ // }
546
+
547
+ // // Language Handling Function
548
+ // function speakResponse(text, selectedLanguage) {
549
+ // let lang;
550
+ // switch (selectedLanguage.toLowerCase()) {
551
+ // case 'hindi': lang = 'hi-IN'; break;
552
+ // case 'bengali': lang = 'bn-IN'; break;
553
+ // case 'telugu': lang = 'te-IN'; break;
554
+ // case 'marathi': lang = 'mr-IN'; break;
555
+ // case 'tamil': lang = 'ta-IN'; break;
556
+ // case 'gujarati': lang = 'gu-IN'; break;
557
+ // case 'kannada': lang = 'kn-IN'; break;
558
+ // case 'malayalam': lang = 'ml-IN'; break;
559
+ // case 'punjabi': lang = 'pa-IN'; break;
560
+ // case 'odia': lang = 'or-IN'; break;
561
+ // case 'urdu': lang = 'ur-IN'; break;
562
+ // case 'assamese': lang = 'as-IN'; break;
563
+ // case 'sanskrit': lang = 'sa-IN'; break;
564
+ // default: lang = 'en-US'; break; // English (default)
565
+ // }
566
+
567
+ // speak(text, lang); // Call the speak function with the determined language
568
+ // }
569
+
570
+ // // Test voices and log them
571
+ // initializeVoices().then(voices => {
572
+ // console.log("Available voices:");
573
+ // voices.forEach(voice => console.log(`Voice: ${voice.name}, Language: ${voice.lang}`));
574
+ // });
575
+ // Text-to-Speech function using free API
576
  async function speak(text, lang) {
577
+ const url = `https://translate.google.com/translate_tts?ie=UTF-8&q=${encodeURIComponent(
578
+ text
579
+ )}&tl=${lang}&client=tw-ob`;
580
 
581
+ try {
582
+ const audio = new Audio(url); // Create an audio element
583
+ audio.play(); // Play the audio
584
+ } catch (error) {
585
+ console.error("Error playing the audio:", error);
 
 
586
  }
 
 
 
 
587
  }
588
 
589
  // Language Handling Function
590
  function speakResponse(text, selectedLanguage) {
591
  let lang;
592
  switch (selectedLanguage.toLowerCase()) {
593
+ case "hindi":
594
+ lang = "hi";
595
+ break;
596
+ case "bengali":
597
+ lang = "bn";
598
+ break;
599
+ case "telugu":
600
+ lang = "te";
601
+ break;
602
+ case "marathi":
603
+ lang = "mr";
604
+ break;
605
+ case "tamil":
606
+ lang = "ta";
607
+ break;
608
+ case "gujarati":
609
+ lang = "gu";
610
+ break;
611
+ case "kannada":
612
+ lang = "kn";
613
+ break;
614
+ case "malayalam":
615
+ lang = "ml";
616
+ break;
617
+ case "punjabi":
618
+ lang = "pa";
619
+ break;
620
+ case "odia":
621
+ lang = "or";
622
+ break;
623
+ case "urdu":
624
+ lang = "ur";
625
+ break;
626
+ case "assamese":
627
+ lang = "as";
628
+ break;
629
+ case "sanskrit":
630
+ lang = "sa";
631
+ break;
632
+ default:
633
+ lang = "en"; // Default to English
634
+ break;
635
  }
636
 
637
  speak(text, lang); // Call the speak function with the determined language
638
  }
639
+
 
 
 
 
 
640
 
641
 
642
  // Event listeners for buttons