Недавно старенькой бабушке, живущей в другом городе, был отдан ноутбук, на нём настроен скайп с автоматическим ответом на входящие звонки, а так же созданы на рабочем столе ярлыки с ссылками вида: skype:username?call&video=true

На каждый ярлык установлены клавиши быстрого вызова F1-F12. Так что бабушке достаточно нажать на нужную клавишу на клавиатуре, согласно пометке, и идёт вызов нужному человеку.

Получается приличная экономия на межгороде. Для интернета используется льготный тариф для пенсионеров.

Теперь решил добавить для неё возможность искать информацию в интернете.

Для начала установил в Chrome расширение tampermonkey.

В нём создал UserScript:

// ==UserScript==
// @name         Голосовой поиск
// @namespace    http://tampermonkey.net/
// @version      0.1
// @author       agran
// @include      https://www.google.ru/*
// @require      http://code.jquery.com/jquery-latest.js
// ==/UserScript==
/* jshint -W097 */
'use strict';

var script1 = false;
var intervalvar;

(function (window, undefined) {

	if (window.self != window.top) {
		return;
	}
	
	$( document ).ready(function() {
		intervalvar = setInterval(Intervalfun, 300);
	});
    
})(window);

function Intervalfun ()
{

	// #spchf - содержит текст распознанный с микрофона
	// #spch - панель с приглашением говорить
	// #gsri_ok0 - кнопка, нажав на которую включается запись распознавания
	// voice - хештег при наличии которого в адресе скрипт срабатывает, что бы не мешать пользоваться google в других ситуациях
	
	if (/voice/.test(window.location.hash) && (($("#spchf").html() == '') && !$("#spch").is(':visible'))) {
		$("#gsri_ok0").click();
		script1 = true;
	}
	
	// $(".r").find("a").attr('href') - ссылка с первым результатом поиска
	// script1 - переменная по которой скрипт понимает что это он работает, по хештегу проверить уже нельзя так как по ходу работы Гугла URL меняется.
	
	if (script1 && $("#spchf").html() != '' && $(".r").find("a").attr('href') != '') {
		window.open($(".r").find("a").attr('href'), "_self");
		clearInterval(intervalvar);
		intervalvar = setInterval(Intervalfun, 2000); // Даём время скрипту открыть новую страницу, через две секунды снова попробует если Гугл ещё будет открыт.
	}
} 

Проверил, что микрофон включается, дал микрофону нужные разрешения.

Создал на рабочем столе файл «voice.bat» с таким содержимым:

taskkill /F /IM chrome.exe /T > nul
start "chrome-voice" "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -start-maximized https://www.google.ru/#voice

Это принудительно закрывает все процессы Хрома и запускает его с развёрнутым на весь экран окном, открывая Гугл с хештегом, активирующим скрипт.

Создал к нему ярлык «Голосовой поиск», в нём поставил Быстрый доступ по клавише Num0.

Из-за принудительного закрытия Chrome выскакивает окошко с предложением восстановить старые вкладки. Что бы оно было менее навязчивым установил chrome://flags/#enable-session-crashed-bubble в Отключено.

Всё, теперь бабушка нажимает на кнопку на клавиатуре и говорит что ей хочется узнать, и на экране отображается первый сайт из поисковой выдачи Гугла.

Комментарии (19)


  1. oleg0xff
    02.03.2016 17:19
    +1

    За скайп спасибо, я не знал что так можно (создать ссылки).


  1. ruslanm
    02.03.2016 17:24

    Реализация, конечно, достойная и интересная (я без претензий, если что), но!
    Интересно узнать, что такого ищет бабушка в интернете, что ради этого стоило так заморочиться.
    А для Скайпа специальный телефон можно было использовать.


    1. agran
      02.03.2016 18:22
      +1

      Бабушка до этого ничего не искала, потому что практически не умеет пользоваться ноутбуком. Мне понравилась идея дать ей возможность искать что-то, говоря ноутбуку, что ей надо. Потратил на это несколько свободных часов, попутно изучая новые технологии. Пока не понятно пригодится ли ей эта возможность.
      Специальный телефон для скайпа? Подскажите модель с 15" экраном. Находил некую специальную модель с маленьким экранчиком, в отзывах писали что после обновления Скайпа этот телефон перестал работать. К тому же бабушке на этот ноутбук загружаем фото и видео, так что она нажав на кнопку, может включить видео со свадьбы внучки. Хотя думаю, что планшет с сенсорным экраном было бы ей проще освоить, чем логику работы тачпада или мышки. Но с горячими клавишами сложностей у неё нет.


      1. Niketas
        02.03.2016 18:30

        А видео процесса у вас есть? Или скриншоты?


        1. agran
          02.03.2016 19:05

          Скриншот рабочего стола: https://fotki.yandex.ru/next/users/agranbox/album/136734/view/576326


    1. Jeditobe
      02.03.2016 22:12
      -1

      Погода в таком-то городе на завтра.
      Когда следующая серия Санта-Барбары?
      Кто убил Лору Палмер?


  1. spc
    02.03.2016 17:34
    +1

    Я уже несколько лет думаю, что тот, кто сделал бы вменяемый интерфейс "для взрослых" уже бы давно озолотился. Тут какие-то товарищи проскакивали, которые что-то такое делают, но у меня сложилось впечатление, что на их инициативу пока сложно смотреть без слез.


  1. dyezepchik
    02.03.2016 18:02

    да клевое кастомное решение… не для широких масс, но для своей бабушки, например, сделать — самое то…
    ей для старта отлично, потом, глядишь, и осваивать начнет =)


  1. putnik
    02.03.2016 21:08

    Тоже настраивал своей бабушке Скайп на ноутбуке, но на Убунте. С хоткеями очень интересная идея — тач для бабушки оказался сложен, и до сих пор возникают проблемы. Погодный виджет тоже порадовал.


  1. zbestr
    03.03.2016 01:14

    Раз бабушка умеет пользоваться микрофоном в гугле, то осталось настроить ей голосовой набор для скайпа, чтобы F-кнопки не стёрлись.


  1. Writerim
    03.03.2016 15:18

    Я маме как то писал скрипт, который всегда открывал только версию для печати если она была, так как она терялась и не могла понять что же ей читать.


  1. damir_rb69
    03.03.2016 16:34

    Применил данную инструкцию. Гугл пишет «голосовой поиск отключен». Автор, объясни дилетанту подробнее. Хочется матери( 76 лет) на ноутбук так же замутить.
    Непонятные пункты;

    Проверил, что микрофон включается, дал микрофону нужные разрешения.?
    установил chrome://flags/#enable-session-crashed-bubble в Отключено.?


    1. agran
      03.03.2016 16:47
      +1

      Попробуйте сначала просто зайти на https://www.google.ru/ и нажать на значок голосового поиска (разноцветный микрофон в строке поиска). Может появится запрос, что бы дать нужные права на использование микрофона на этом сайте. Когда так голосовой поиск начнёт работать, то должен начать работать и скрипт. Так же права настраиваются кликом на значке камеры в адресной строке, там можно выбрать какой именно микрофон использовать. Так же настройки микрофона задаются в Настройки > Личные данные > Настройки контента > Микрофон.

      chrome://flags/#enable-session-crashed-bubble надо перейти в Хроме по этой ссылке и там установить этот параметр в Отключен


      1. damir_rb69
        03.03.2016 17:02

        agran, огромное спасибо. Все работает.


      1. poitin_one_love
        03.03.2016 22:52

        Я сделал всё точь-в-точь так же, но вместо голосового поиска у меня открывается обычная стартовая страница Гугла, хотя в поисковой строке отображается /#voice. В чём проблема — не знаю


        1. agran
          03.03.2016 22:54

          Убедитесь, что при заходе на https://www.google.ru/ в Tampermonkey скрипт голосового поиска активен (отмечен зелёным кружком).


          1. poitin_one_love
            04.03.2016 18:08

            Убедился, он включен


  1. agran
    03.03.2016 16:46

    del


  1. PROCODER
    08.03.2016 20:57

    Голосовой поиск с непрерывным отслеживанием через YANDEX http://raxp2.blogspot.com/2015/03/api-yandexspeechrecognizeapidll.html, через Google http://raxp2.blogspot.com/2015/04/api-googlespeechrecognizeapi3dll.html с использованием браузера по-умолчанию (любого). Нажатий клавиш не требуется, бабушкам еще меньше телодвижений )