Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html class="no-js consumer" lang="en">
- <head>
- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
- <script>
- (function(e, p){
- var m = location.href.match(/platform=(win8|win|mac|linux|cros)/);
- e.id = (m && m[1]) ||
- (p.indexOf('Windows NT 6.2') > -1 ? 'win8' : p.indexOf('Windows') > -1 ? 'win' : p.indexOf('Mac') > -1 ? 'mac' : p.indexOf('CrOS') > -1 ? 'cros' : 'linux');
- e.className = e.className.replace(/\bno-js\b/,'js');
- })(document.documentElement, window.navigator.userAgent)
- </script>
- <meta charset="utf-8">
- <meta content="initial-scale=1, minimum-scale=1, width=device-width" name="viewport">
- <meta content=
- "Google Chrome is a browser that combines a minimal design with sophisticated technology to make the web faster, safer, and easier."
- name="description">
- <title>
- Progetto Speech Recognition e traduzione
- </title>
- <link href="https://plus.google.com/100585555255542998765" rel="publisher">
- <link href="//www.google.com/images/icons/product/chrome-32.png" rel="icon" type="image/ico">
- <link href="//fonts.googleapis.com/css?family=Open+Sans:300,400,600,700&subset=latin" rel=
- "stylesheet">
- <link href="/intl/en/chrome/assets/common/css/chrome.min.css" rel="stylesheet">
- <script src="//www.google.com/js/gweb/analytics/autotrack.js">
- </script>
- <script>
- new gweb.analytics.AutoTrack({
- profile: 'UA-26908291-1'
- });
- </script>
- <style>
- #info {
- font-size: 20px;
- }
- #div_start {
- float: right;
- }
- #headline {
- text-decoration: none
- }
- #credit
- {
- position: absolute;
- bottom: 16px;
- left: 80%;
- }
- #results {
- font-size: 14px;
- width: 440px;
- height: 200px;
- border:solid 2px;
- border-color: #999;
- resize: none;
- position:absolute;
- top: 30%;
- font-family: 'Segoe UI'
- }
- #logo{
- position: absolute;
- top: 6px;
- left: 30%;
- }
- #results2 {
- font-size: 14px;
- width: 440px;
- height: 200px;
- border:solid 2px;
- border-color: #999;
- resize: none;
- position:absolute;
- top: 30%;
- left: 50%;
- font-family: 'Segoe UI'
- }
- #t2s{
- width: 26px;
- height: 26px;
- display: inline-block;
- top: 23%;
- left: 80%;
- position: absolute;
- cursor: pointer;
- border: none;
- background: transparent;
- background-image: url("./speech.png");
- box-shadow: initial ;
- }
- #select_language
- {
- font-size: 14px;
- color: #333;
- background: #CCC;
- font-family: Segoe UI;
- border: solid 2px;
- border-color:#999;
- position:absolute;
- //left: 10%;
- top: 23%;
- width: 146px;
- }
- #select_dialect
- {
- font-size: 14px;
- color: #333;
- background: #CCC;
- font-family: Segoe UI;
- border: solid 2px;
- border-color:#999;
- position:absolute;
- top: 23%;
- left: 15%;
- width: 146px;
- }
- #select_language2
- {
- font-size: 14px;
- color: #333;
- background: #CCC;
- font-family: Segoe UI;
- border: solid 2px;
- border-color:#999;
- position:absolute;
- top: 23%;
- left: 50%;
- width: 146px;
- }
- #select_dialect2
- {
- font-size: 14px;
- color: #333;
- background: #CCC;
- font-family: Segoe UI;
- border: solid 2px;
- border-color:#999;
- position:absolute;
- top: 23%;
- left: 65%;
- width: 146px;
- }
- #t2s:active
- {
- top: 22%;
- box-shadow: initial;
- }
- #pagef
- {
- position: absolute;
- width: 100%;
- height: 10%;
- bottom: 0;
- left: 0;
- background-color: #eeecec;
- }
- #header{
- position: absolute;
- width: 100%;
- height: 10%;
- top: 0%;
- left: 0%;
- background-color: #eeecec;
- }
- #reset
- {
- position: absolute;
- top: 65%;
- left: 8px;
- font-size: 14px;
- color: #333;
- background: #CCC;
- font-family: Segoe UI;
- border: solid 2px;
- border-color:#999;
- }
- #start_button {
- border: 0;
- background-color:transparent;
- padding: 0;
- position: absolute;
- top: 270px;
- left: 550px;
- right: 40px;
- }
- .interim {
- color: gray;
- }
- .final {
- color: black;
- padding-right: 3px;
- }
- .button {
- display: none;
- }
- .marquee {
- margin: 20px auto;
- }
- #buttons {
- margin: 10px 0;
- position: absolute;
- top: 350px;
- left: 550px;
- right: 40px;
- font-size: 14px;
- color: #fff;
- background-color: green;
- font-family: Segoe UI;
- border: solid 2px;
- border-color:green;
- }
- </style>
- <style>
- a.c1 {font-weight: normal;}
- </style>
- </head>
- <body class="" id="grid">
- <div class="browser-landing" id="main">
- <div class="compact marquee-stacked" id="marquee">
- <div id = "header">
- <img id = "logo" src = "logo.png" width = "500" height = "70" alt = "logo"/>
- </div>
- </div>
- </div>
- <div class="compact marquee">
- <div id="info">
- <p id="info_start">
- Clicca sull'icona del microfono e comincia a parlare.
- </p>
- <p id="info_speak_now" style="display:none">
- Parla ora.
- </p>
- <p id="info_no_speech" style="display:none">
- Nessun riconoscimento vocale è stato trovato. Controlla le impostazioni del microfono<a href=
- "//support.google.com/chrome/bin/answer.py?hl=en&answer=1407892">microphone settings</a>.
- </p>
- <p id="info_no_microphone" style="display:none">
- Nessun microfono è stato trovato. Assicurati che sia installato<a href="//support.google.com/chrome/bin/answer.py?hl=en&answer=1407892">
- microphone settings</a> are configured correctly.
- </p>
- <p id="info_allow" style="display:none">
- Clicca "Consenti" per abilitare il microfono.
- </p>
- <p id="info_denied" style="display:none">
- Negato permesso utilizzo microfono.
- </p>
- <p id="info_blocked" style="display:none">
- Permesso di utilizzo microfono bloccato. Per cambiare, vai alla pagina://settings/contentExceptions#media-stream
- </p>
- <p id="info_upgrade" style="display:none">
- Web Speech Api non è supportato da questo browser. Effettua l'upgrade<a href=
- "//www.google.com/chrome">Chrome</a> alla versione 25 o dopo.
- </p>
- </div>
- <div id="div_start">
- <button id="start_button" onclick="startButton(event)"><img alt="Start" id="start_img"
- src="mic.gif"></button>
- </div>
- <div id="results">
- <span class="final" id="final_span"></span> <span class="interim" id=
- "interim_span"></span>
- </div>
- <div id="results2">
- <span class="final" id="final_span2"></span> </span>
- </div>
- <form id="trad" name='trad' action= "progettoajax.php" method= "POST">
- <div class="compact marquee" id="div_language">
- <select id="select_language" onchange="updateCountry()">
- </select> <select id="select_dialect">
- </select>
- </div>
- <!-- Text-to-speech's button. -->
- <button id = "t2s" class = "t2s" type = "button" onclick = "speech_play()"></button>
- <button id = "reset" class="reset" type"button" onclick = "javascript:result.final_transcript.value = ''; javascript:results2.value = ''">Reset</button>
- <script>
- var chrmMenuBar = new chrm.ui.MenuBar();
- chrmMenuBar.decorate('nav');
- var chrmLogo = new chrm.ui.Logo('logo');
- var chrmscroll = new chrm.ui.SmoothScroll('scroll');
- chrmscroll.init();
- </script>
- <div class="compact marquee" id="div_language">
- <select id="select_language2" onchange="updateCountry2()">
- </select> <select id="select_dialect2">
- </select>
- </div>
- <script>
- var chrmMenuBar = new chrm.ui.MenuBar();
- chrmMenuBar.decorate('nav');
- var chrmLogo = new chrm.ui.Logo('logo');
- var chrmscroll = new chrm.ui.SmoothScroll('scroll');
- chrmscroll.init();
- </script>
- </div>
- </div><script src="/intl/en/chrome/assets/common/js/chrome.min.js">
- </script>
- <form id="trad" name='trad' action= "progettoajax.php" method= "POST">
- <div id="copy">
- <button id="buttons" name="bottone_recupera" onclick="RecuperaButton()" value="Translate">Traduci</button>
- <script>
- var source='';
- var dest='';
- var final_transcript='';
- window.___gcfg = { lang: 'en' };
- (function() {
- var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
- po.src = 'https://apis.google.com/js/plusone.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
- })();
- var doubleTracker = new gweb.analytics.DoubleTrack('floodlight', {
- src: 2542116,
- type: 'clien612',
- cat: 'chrom0'
- });
- doubleTracker.track();
- doubleTracker.trackClass('doubletrack', true);
- </script> <script>
- var langs =
- [
- ['German', ['de']],
- ['English', ['en', 'Australia'],
- ['en', 'Canada'],
- ['en', 'India'],
- ['en', 'New Zealand'],
- ['en', 'South Africa'],
- ['en', 'United Kingdom'],
- ['en', 'United States']],
- ['Español', ['es', 'Argentina'],
- ['es', 'Bolivia'],
- ['es', 'Chile'],
- ['es', 'Colombia'],
- ['es', 'Costa Rica'],
- ['es', 'Ecuador'],
- ['es', 'El Salvador'],
- ['es', 'España'],
- ['es', 'Estados Unidos'],
- ['es', 'Guatemala'],
- ['es', 'Honduras'],
- ['es', 'México'],
- ['es', 'Nicaragua'],
- ['es', 'Panamá'],
- ['es', 'Paraguay'],
- ['es', 'Perú'],
- ['es', 'Puerto Rico'],
- ['es', 'República Dominicana'],
- ['es', 'Uruguay'],
- ['es', 'Venezuela']],
- ['Français', ['fr']],
- ['Italiano', ['it', 'Italia'],
- ['it', 'Svizzera']],
- ['Nederlands', ['nl']],
- ['Polski', ['pl']],
- ['Português', ['pt', 'Brasil'],
- ['pt', 'Portugal']],
- ['Română', ['ro']],
- ['Svenska', ['sv']],
- ['Türkçe', ['tr']],
- ['Pусский', ['ru']],
- ['한국어', ['ko']],
- ['中文', ['zh', '普通话 (中国大陆)'],
- ['zh', '普通话 (香港)'],
- ['zh', '中文 (台灣)'],
- ['zh', '粵語 (香港)']],
- ['日本語', ['ja']]];
- for (var i = 0; i < langs.length; i++) {
- select_language.options[i] = new Option(langs[i][0], i);
- select_language2.options[i] = new Option(langs[i][0], i);
- }
- select_language.selectedIndex = 4;
- select_language2.selectedIndex = 1;
- updateCountry();
- updateCountry2();
- select_dialect.selectedIndex = 0;
- select_dialect2.selectedIndex = 6;
- showInfo('info_start');
- var pippo;
- function updateCountry() {
- for (var i = select_dialect.options.length - 1; i >= 0; i--) {
- select_dialect.remove(i);
- }
- var list = langs[select_language.selectedIndex];
- for (var i = 1; i < list.length; i++) {
- select_dialect.options.add(new Option(list[i][1], list[i][0]));
- }
- select_dialect.style.visibility = list[1].length == 1 ? 'hidden' : 'visible';
- }
- function updateCountry2() {
- for (var i = select_dialect2.options.length - 1; i >= 0; i--) {
- select_dialect2.remove(i);
- }
- var list = langs[select_language2.selectedIndex];
- for (var i = 1; i < list.length; i++) {
- select_dialect2.options.add(new Option(list[i][1], list[i][0]));
- }
- select_dialect2.style.visibility = list[1].length == 1 ? 'hidden' : 'visible';
- }
- var create_email = false;
- var recognizing = false;
- var ignore_onend;
- var start_timestamp;
- if (!('webkitSpeechRecognition' in window)) {
- upgrade();
- } else {
- start_button.style.display = 'inline-block';
- var recognition = new webkitSpeechRecognition();
- recognition.continuous = true;
- recognition.interimResults = true;
- recognition.onstart = function() {
- recognizing = true;
- showInfo('info_speak_now');
- start_img.src = 'mic-animate.gif';
- };
- recognition.onerror = function(event) {
- if (event.error == 'no-speech') {
- start_img.src = 'mic.gif';
- showInfo('info_no_speech');
- ignore_onend = true;
- }
- if (event.error == 'audio-capture') {
- start_img.src = 'mic.gif';
- showInfo('info_no_microphone');
- ignore_onend = true;
- }
- if (event.error == 'not-allowed') {
- if (event.timeStamp - start_timestamp < 100) {
- showInfo('info_blocked');
- } else {
- showInfo('info_denied');
- }
- ignore_onend = true;
- }
- };
- recognition.onend = function() {
- recognizing = false;
- if (ignore_onend) {
- return;
- }
- start_img.src = 'mic.gif';
- if (!final_transcript) {
- showInfo('info_start');
- return;
- }
- showInfo('');
- if (window.getSelection) {
- window.getSelection().removeAllRanges();
- var range = document.createRange();
- range.selectNode(document.getElementById('final_span'));
- window.getSelection().addRange(range);
- }
- if (create_email) {
- create_email = false;
- createEmail();
- }
- };
- recognition.onresult = function(event) {
- var interim_transcript = '';
- if (typeof(event.results) == 'undefined') {
- recognition.onend = null;
- recognition.stop();
- upgrade();
- return;
- }
- for (var i = event.resultIndex; i < event.results.length; ++i) {
- if (event.results[i].isFinal) {
- final_transcript += event.results[i][0].transcript;
- } else {
- interim_transcript += event.results[i][0].transcript;
- }
- }
- final_transcript = capitalize(final_transcript);
- final_span.innerHTML = linebreak(final_transcript);
- interim_span.innerHTML = linebreak(interim_transcript);
- if (final_transcript || interim_transcript) {
- showButtons('inline-block');
- }
- };
- }
- function startButton(event) {
- if (recognizing) {
- recognition.stop();
- return;
- }
- //final_transcript = '';
- recognition.lang = select_dialect.value;
- recognition.start();
- ignore_onend = false;
- final_span.innerHTML = '';
- interim_span.innerHTML = '';
- start_img.src = 'mic-slash.gif';
- showInfo('info_allow');
- showButtons('none');
- start_timestamp = event.timeStamp;
- }
- function upgrade() {
- start_button.style.visibility = 'hidden';
- showInfo('info_upgrade');
- }
- var two_line = /\n\n/g;
- var one_line = /\n/g;
- function linebreak(s) {
- return s.replace(two_line, '<p></p>').replace(one_line, '<br>');
- }
- var first_char = /\S/;
- function capitalize(s) {
- return s.replace(first_char, function(m) { return m.toUpperCase(); });
- }
- function createEmail() {
- var n = final_transcript.indexOf('\n');
- if (n < 0 || n >= 80) {
- n = 40 + final_transcript.substring(40).indexOf(' ');
- }
- var subject = encodeURI(final_transcript.substring(0, n));
- var body = encodeURI(final_transcript.substring(n + 1));
- window.location.href = 'mailto:?subject=' + subject + '&body=' + body;
- }
- function RecuperaButton() {
- if (recognizing) {
- recognizing = false;
- recognition.stop();
- var x=final_transcript;
- /*document.cookie= 'cookie_final='+x;
- source= langs[select_language.selectedIndex][1][0];
- document.cookie= 'cookie_source='+source;
- dest=langs[select_language2.selectedIndex][1][0];
- document.cookie= 'cookie_dest='+dest;
- final_span.innerHTML=linebreak=linebreak(final_transcript);
- */
- source=langs[select_language.selectedIndex][1][0];
- dest=langs[select_language2.selectedIndex][1][0];
- var sorgente= $("#source").val();
- var destinatario= $("#dest").val();
- var testo=$("#x").val();
- alert(testo);
- alert(sorgente);
- alert(destinatario);
- $.post("progettoajax.php", {'sorgente':sorgente, 'destinatario':destinatario, 'testo':testo});
- alert(sorgente);
- alert(destinatario);
- //pippo='<?php if (isset($translatedStr)== true){echo $translatedStr;}else{echo '';} ?>';
- /*else{
- }*/
- copy_button.style.display = 'none';
- copy_info.style.display = 'inline-block';
- showInfo('');
- }
- }
- <?php
- session_start();
- include 'HttpTranslator.php';
- include 'AccessTokenAuthentication.php';
- /*if (glob('./speech_file/*.mp3'))
- {
- $file = glob('speech_file/'.'*.mp3',GLOB_MARK);
- foreach ($file as $file)
- {
- if (is_dir($file))
- {
- self::deleteDir($file);
- }
- else
- {
- unlink($file);
- }
- }
- }
- */
- if (isset($_POST['bottone_recupera']))
- {
- $sorgente=$_POST["sorgente"];
- $destinatario=$_POST["destinatario"];
- $testo=$_POST["testo"];
- echo "<script type='text/javascript'>alert('$sorgente');</script>";
- echo "<script type='text/javascript'>alert('$destinatario');</script>";
- echo "<script type='text/javascript'>alert('$testo');</script>";
- // Session variable for keep the languages selected
- // Sets session variable for langs[source][0]
- var_dump($_POST);
- /* if (isset($_COOKIE['cookie_final']))
- {
- $finaltranscript =$_COOKIE['cookie_final'];
- $_SESSION['final'] = $_COOKIE['cookie_final'];
- }
- else{$message = "nn funziona cookie final";
- echo "<script type='text/javascript'>alert('$message');</script>";
- }
- if (isset($_COOKIE['cookie_source']))
- {
- $source =$_COOKIE['cookie_source'] ;
- $_SESSION['source'] = $_COOKIE['cookie_source'];
- }
- else{
- echo "Errore lingua sorgente";
- }
- // Sets session variable for dest_lang.
- if (isset($_COOKIE['cookie_dest']))
- {
- $dest =$_COOKIE['cookie_dest'] ;
- $_SESSION['dest'] = $_COOKIE['cookie_dest'];
- }
- */
- if('POST' == $_SERVER['REQUEST_METHOD']){
- // Create the authorization Header string.
- $authHeader = "Authorization: Bearer ". $accessToken;
- // Set the parameters.
- // Sets source language. $fromLanguage = variable, langs[source][0] = name of textarea.
- $fromLanguage =$_COOKIE['cookie_source'];
- // Sets destination language. $toLanguage = variable, dest_lang = name of textarea.
- $toLanguage = $_COOKIE['cookie_dest'];
- // Sets text to translate. $inputStr = variable, source_text = content of thextarea.
- $inputStr = $_COOKIE['cookie_final'];
- $contentType = 'text/plain';
- $category = 'general';
- // Variable that composes the string of parameters for the transaltion
- $paramst = "text=".urlencode($inputStr)."&to=".$toLanguage."&from=".$fromLanguage;
- // URL to translate the text
- $translateUrl = "http://api.microsofttranslator.com/v2/Http.svc/Translate?$paramst";
- //Create the Translator Object.
- $translatorObj = new HTTPTranslator();
- //Get the curlResponse.
- $curlResponse = $translatorObj -> curlRequest($translateUrl, $authHeader);
- //Interprets a string of XML into an object.
- $xmlObj = simplexml_load_string($curlResponse);
- foreach((array)$xmlObj[0] as $val)
- {
- $translatedStr = $val;
- }
- $translatedText = urlencode($translatedStr);
- echo"<div id='results2'> <span class='final' id='final_span2'>".$translatedStr."</span> </div>";
- echo"<div id='results'> <span class='final' id='final_span'>".$inputStr."</span> </div>";
- $out = 'audio/mp3';
- $params = "text=$translatedText&language=$toLanguage&format=$out";
- //HTTP Speak method URL.
- $url = "http://api.microsofttranslator.com/V2/Http.svc/Speak?$params";
- $translatorObj = new HTTPTranslator();
- $strResponse = $translatorObj -> curlRequest($url, $authHeader);
- //Create a fold to insert a speech file generated if not exists.
- if (!is_dir('speech_file'))
- {
- mkdir('speech_file');
- }
- //Create the name of speech file.
- $var = uniqid('SPC_').".mp3";
- $var1 = urlencode($var);
- //Save file into server directory.
- file_put_contents('./speech_file/'.$var1, $strResponse);*/
- }
- catch (Exception $e)
- {
- echo "Exception: ".$e->getMessage().PHP_EOL;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement