логин: 
Другие записи за это число:
2016/12/29 - О разном
<< предыдущая заметкаследующая заметка >>
29 декабря 2016
умный дом, cервер Banana и окончательное решение вайфайного вопроса

Как вы помните, у меня уже долгое время стоит домашний сервер на плате Banana BPI-R1, которая мне когда-то полюбилась тем, что сочетает в себе всё мыслимое железо — от SATA для винта и бортового роутера на 5 портов Ethernet — до микрофона и ИК-датчика, там всё есть.

Единственная проблема была с WiFi, который периодически вис. На него я жаловался в дневнике, ставил какие-то рекомендованные в форумах специальные драйвера и пересобранные версии hostapd, сам писал следилки и перезагружающие костыли на Cи и PHP. Всё это работало плохо, и единственный выход подсказал Denis Dyakov в комментариях: вообще отказаться от внутреннего WiFi-модуля Realtek и поставить внешний Ralink, по цене это 1200 руб. Да, он USB, но и тот тоже сидел на USB-шине. Для Ralink имеются драйвера прямо в ядре, и работает он уже вторую неделю без сбоев.


Вообще вызывает удивление, как производители и разработчики догадались поставить WiFi-чип от Realtek, который не имеет нормальных драйверов даже на сайте производителя или просто неисправен конструкционно. Но это уже вторая доработка напильником, которую рекомендуется сделать обладателю Bananapi BPI-R1. Во-первых, надо подпаять питание 5 вольт нормальными толстыми проводами: крошечные иголки разъема micro-usb не могут бесперебойно обеспечивать током 2А всю плату со всем оборудованием и винчестером. Кроме того, мы с заехавшим в гости Пашей выпаяли к чертям старый чип (он еще на клею там сидит, его только ножом оторвать можно) — чтоб не жрал ток и не мутил USB-шину. Не стали разбираться, где там отрезается ножка питания, сковырнули, отпаяли и выкинули, вот так:

Во всем остальном, впрочем, Bananapi BPI-R1 продолжает радовать: она бесперебойная, умная, и неплохо держит любую нагрузку — у меня на ней роутер, веб-проекты http://home.lleo.me, базы, электроника, архивный диск на 3ТБ, вся разводка сетей квартиры, и все прочее. А что Wi-Fi роутер внешний и под потолком — это не беда:

Рекомендую. А вот квартирную электронику на порты GPIO я все-таки решил не вешать. Почему? Во-первых, внешний чип AVR (Ардуино) на USB-подключении показал себя за эти годы очень надежной штукой. Во-вторых, вы же понимаете — вся эта электроника, контакты, упадет какой-нибудь проводок 12 вольт мимо разъема на плату, и сгорит не Ардуина ценой в 1$, а весь сервер. Кроме того, обнаружился любопытный момент для систем доступа: принятие решения Ардуиной происходит заметно быстрее, чем сервером. В принципе, все эти RS232-USB соединения должны летать, демоны срабатывать, интерпретаторы запускаться, но на практике это доли секунды, которые ощущаются как задержка. Поэтому сейчас я всю систему переделал, и теперь у меня в Ардуине — список ключей для принятия решения, а на сервере и вебе — развесистая админка, которая модерирует ключи, прописывает имена, открывает-закрывает доступ и синхронизирует таблицы с Ардуиной:

Ну и напоследок поделюсь одним простым, но очень полезным скриптиком для умного дома и квартирной электроники. Смысл в том, что когда у тебя дома есть сервер со звуковыми колонками, имеет смысл передавать разные сообщения голосом. Какие? Да любые. Какой смысл в умном доме, если он молчит? Кто-то в дверь зашел — поздороваться надо. Процессор перегрелся, электричество пропало — сообщить надо хозяину. Проблема тут чисто дизайнерская — сидеть и готовить звуковые файлы на каждый случай. Я обычно просил наговаривать важные сообщения Стаську:

warning disk

internet restart

port_down

port_up

warning power

warning proc

wlan down

wlan up

wifi ok

Но лучше всего их готовить через речевой синтезатор. Поскольку подлый Гугль давно отключил свою бесплатную речевую технологию, используем Яндекс, он даже лучше. Идем в кабинет разработчика https://developer.tech.yandex.ru и получаем ключ API для своего домашнего некоммерческого использования. Дальше ваяем такой скрипт speach:

#!/usr/bin/php
<?php $API='4e4261ff-e031-2116-654d-eff7746712bd'; // ключ Яндекса
if(!isset($argv[1])) die('NO FILE'); $txt=$argv[1];
$file='/tmp/'.md5($txt).'.mp3';
if(!is_file($file)) {
$ch=curl_init('https://tts.voicetech.yandex.net/generate?format=mp3&lang=ru-RU&emotion=good&speaker=ermil&key='.$API.'&text='.urlencode($txt));
curl_setopt($ch,CURLOPT_HEADER,1); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_exec($ch); $r=curl_multi_getcontent($ch);
curl_close($ch); if(!sizeof($r)) die('Error'); file_put_contents($file,$r);
} exec('play '.$file);
?>

И запускаем с небольшой строкой в кавычках:

> ./speach "Потребляемый ток: 0.9 ампер. Напряжение: 4.1 вольт. Загрузка процессора: 11 процентов"

Папку лучше прописать для файлов более постоянную, чтобы при повторе сообщения скрипт второй раз в Яндекс не бегал, а брал из файла. Пример работы — очень внятный голос ermil:

ermil.mp3
<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
архив понравившихся мне ссылок
Оставить комментарий
Linux Ubuntu Safari Chrome
 New York
1
0
Зокалебала кревая авторизацея
хе-хе :)

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

А то будете смотреть какой-нибудь триллер, и тут мрачный голос из коридора что-нибудь заявит...

ЗЫ: сам к подобной схеме пришел: ардуина на исполнительных устройствах и управляющий комп, который в нее по модбасу передает команды.

А сейчас извращаюсь с реализацией упрощенного варианта Prolog для ардуины - так будет интереснее ей управлять, можно логику срабатывания задавать без перепрошивки.
Windows Safari Chrome
 Киев
0
0
dmitry
У меня так и лежит без дела, после того как провайдер на "серые" IP перешел
Linux Ubuntu Firefox
 Москва
0
0
Leonid Kaganov
Ну, вроде любой провайдер за символические 150 руб в месяц выдает белый IP?
Windows Safari Chrome
 Киев
0
0
dmitry
мне оказалось проще vds использовать на стороне
Mac Firefox
 Белоруссия
0
0
IgorB
Или dynDns какой тоже за копейки
Windows Safari Chrome
 Домодедово
0
0
id
Или NoIP вообще забесплатно ;)
Linux Safari Chrome
 Москва
1
0
Leonid Kaganov
Dyndns решает проблему динамического ip, а не серого. Я решаю ее через яндекс-dns, делая поддомены для lleo.me и динамически меня ip
Linux
 Пермь
5
0
Evgeniy_Shumilov (#6536463)
Леонид, добрый день! Для начала хотел от души поблагодарить Вас за Ваше творчество, большими ценителями которого мы с женой (к слову сказать, кандидатом филологических наук) являемся. Теперь каждый раз, когда в местном магазине видим шоколадный батончик с цифрой 35, начинаем смеяться, чем вызываем косые взгляды окружающих. :)

Ну и хотел заодним спросить кое-что. Так уж случилось, что я владелец такой же точно железки. Два года назад поставил, но стабильность оставляла желать лучшего. Замучался с питанием. Подскажите, что и куда вы перепаяли? Насколько я вижу, пины под внешний аккумулятор у вас свободны, по крайней мере с верхней стороны платы. Я слышал, что контроллер заряда корректно воспринимает питание в 5 вольт вместо 3.7 на этих пинах, но не хочется рисковать, доверяясь непроверенным слухам. Меня смущает то, что похоже, рядом с microUSB на фото подпаяно три контакта. Два - это было бы очевидно, но три - не очень. Возможно, это как-то связано с тем, что у вас там ещё в наличии два аккумулятора 18650. И видимо, как раз два из трёх проводов приходят на площадки сверху. Если не затруднит, подкиньте пожалуйста, два крупных фото с местами пайки - боюсь промахнуться и испортить хорошую железку. Я был бы очень благодарен.
Windows Safari Chrome
 Израиль
0
0
Igor
А что не так с батончиком?
Linux Safari Chrome
 Пермь
2
0
Evgeniy_Shumilov (#6536463)
С батончиком - 35. Попробуйте поискать в аудиозаписях контакта "Леонид Каганов - 35". В озвучке Влада Коппа - просто прекрасно. :)
Mac Safari
 Израиль
5
0
braintunic
А кто не любит аудиозаписи, есть и оригинал:
https://lleo.me/arhive/fan2003/35.shtml
Windows Firefox
 Челябинск
1
0
vinny-the-poo
Кстати, запрос "Каганов 35" прекрасно гуглится. Я, к стыду своему, и забыл было, но Гугель спас и освежил в памяти прекрасную историю.
Linux Ubuntu Firefox
 Москва
1
0
Leonid Kaganov
Евгений, аккумулятор у меня подключен конечно (плата имеет и схему его обслуживания), но он никак электрически не связан с входным питанием! Там особая схема, которая банку заряжает, и с нее берет ток, если отключено питание, причем повышает до 5 вольт. Иными словами, разъем внешнего аккумулятора никак не поможет подключить разъем питания.

На фото - два обычных толстых (может, даже излишне) провода. С красной изолентой плюс, он подцеплен куда-то, где выслежен плюс, кажется, на входе керамического кондера он. Минус подключен к минусу, общему проводу разъема, тоже ошибиться трудно:



Linux Safari Chrome
 Пермь
0
0
Evgeniy_Shumilov (#6536463)
Это понятно. Выход на зарядку лития по слухам интеллектуален и когда получает на вход выше 4.7v, работает, как дублирующий вход питания.

А куда эти два хвоста приходят сверху?
Linux Ubuntu Firefox
 Москва
0
0
Leonid Kaganov
В смысле? Вот эти два черных провода, которые я подпаял в обход разъема microusb? От мощного блока питания на 5 вольт.
Linux
 Пермь
0
0
Evgeniy_Shumilov (#6536463)
То есть, проблема не в трассе питания на плате, а всего лишь в разъёме? =0 И я из-за этого страдал. :(( А две запайки сверху на плате - это что, если не секрет? Как раз отвод на аккумуляторы?
Windows Firefox
 Эстония
0
0
mm3
не понимаю зачем гонять голосовой трафик по сети когда есть нормальные оффлайн TTL программы для произнесения текстов. взять к примеру тот же https://ru.wikipedia.org/wiki/ESpeak
Linux Safari Chrome
 Пермь
0
0
Evgeniy_Shumilov (#6536463)
Тут скорее festival в помощь с русской голосовой базой. Espeak звучит хорошо только на английском.
Linux Safari Chrome
 Москва
0
0
Leonid Kaganov
Может что изменилось, но до последнего времени все "некоммерческие поделки сообщества" в области речи звучали как речевой синтезатор компьютера БК0010 в 1989 году. Правда, он хотя бы занимал 8 килобайт и был сделан всего двумя подвижниками. Вы сами-то как используете тот синтезатор, который посоветовали? Никак, а слушали только одну тщательно подобранную демку?
Linux Firefox
 Пенза
0
0
qwerty блинн которого сайт забыл
во времена ДОСа была программулина "фонемофон", Ллео поидее должен был застать её. Так вот - говорила программка отлично, если поставить ударения. В выводе заранее приготовленных строк добавить ударения не проблема. Размер программы был конский - порядка 64 кил... висела в памяти резидентом и....
Linux Safari Chrome
 karja
0
0
o=3 (#6412499)
https://github.com/Olga-Yakovleva/RHVoice/releases
Приятный голос. Есть другие, кроме en/ru.
При попытке преобразования 1М текста в mp3 сожрала всю память. И не вернула.
Mac Safari
 Москва
0
0
Den_x (#6269400)
Кто-то относительно недавно хвастался подкоюченной "говорилкой", она же Dygalo...
Windows Safari Chrome
 Казань
1
1
Denis


Linux Ubuntu Firefox
 Москва
2
0
Leonid Kaganov
Для меня всегда было загадкой, зачем люди строят домашние сервера вместо того, чтобы поставить себе нормальный Виндоус-10 и просто играть в Ворлд От Танк на диване?
Linux Ubuntu Safari Chrome
 New York
2
0
Зокалебала кревая авторизацея
ну почему сразу WoT?

Есть специалисты по построению систем "умного дома", они вам быстро растолкуют, что все эти наколеные поделки не стоят и яйца ломанного, а надо просто купить готовую систему, потому что это все совсем недорого, тысяч в 300-500 можно уложиться.

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

Ну, как-то так. А то понимаешь, понавыдумывали ардуины с распберями.
Linux
 Пермь
0
0
Evgeniy_Shumilov (#6536463)
Ардуины с расберями - прошлый век. ESP8266 умеет в AMQP и телеграм. :)
Linux Ubuntu Firefox
 Москва
0
0
Leonid Kaganov
ESP8266 жрет как конь - до 500-700ма. У меня вся Banana с винчестером жрет в данную минуту 900ма.
Linux Ubuntu Safari Chrome
 New York
0
0
Зокалебала кревая авторизацея
это интересно. Надо будет глянуть. Хотя плодить WiFi-системы как-то не очень охото, и с программированием непонятно.
Linux Safari Chrome
 Москва
18
1
Leonid Kaganov
К сожалению, современная концепция умного дома имеет один недостаток - он нахуй не нужен.

Да простит меня Паша и многие здесь присутствующие, но Умный дом - это как умный холодильник: можно вложить кучу сил или денег, чтобы зажигать-тушить внутри лампочку с пульта или даже распахивать дверцу голосовой командой с дивана, но на качество жизни, продуктов и режима питания эти мелкие глупости не повлияют вообще никак :) Разумеется, мы ждем, что холодильник в будущем начнет сам бегать за продуктами. Но между включением лампочки и бегом за продуктами такая технологическая пропасть, что холодильник будущего появится на базе чего угодно, но только не концепции Умного холодильника и ее нынешних разработчиков. Самолет создали не птицеводы.
Linux Ubuntu Safari Chrome
 New York
2
0
Зокалебала кревая авторизацея
ИМХО, проблема современной концепции "умного дома" в том, что это нихрена не умный дом, а каким должен быть умный дом - никто толком не представляет :)

Дело не в технологиях - в конце концов заставить холодильник бегать за продуктами не так уж сложно:

- если решать проблему именно с учетом продуктов (RFIDы, например) - то можно вычислить среднее время "жизни" в холодильнике, скажем, пачки масла.
Допустим, обычно ее хватает пусть на две недели, значит, через 10 дней после появления новой пора заказывать очередную.
- если пора - формируется бланк-заказ, отправляется на утверждение хозяину.
- если хозяин одобряэ - формируется и отправляется заказ в Интернет-магазин, сразу с оплатой
- и в нужное время курьер привозит заказ. А если не привозит - то жалоба и возврат средств.

Получилось, что именно холодильник заказал продукты. Рабочий вариант? ИМХО да.

Но вот вы видели где-то подобную, расписанную по конкретным шагам технологию? Я не видел. ИМХО, этого никто просто не сделал, даже не пытался.

Причем ум здесь не в том, чтобы прочитать RFID или штрих-код и отправить POST-запрс к серверу, а в том, чтобы рассчитать срок жизни этой пачки масла...

Единственное что-то более-менее подобное видел в одной статье недавно: там двойной спуск унитаза включает вентиляцию в туалете, т.к. считается, что кто-то навалил кучу. Но и то - так запрограммировал автор, а по-хорошему умный дом должен сам сообразить, что если после двойного слива в 90% случаев включают вентилятор на 5 минут - то можно научиться делать это автоматически.

И вот такого нет пока ни у кого.
Linux Safari Chrome
 Пермь
4
1
Evgeniy_Shumilov (#6536463)
Я могу сказать, почему так получается. Есть понятие "умный дом", в то время, как большинство из нас живёт в квартирах. Понятия "умная квартира" я ещё не слышал. Возможно это потому, что в квартире это нужно примерно как в том анекдоте про верблюдов "ну и нахрена нам все эти прибамбасы в зоопарке?". Если я забыл выключить свет на кухне, я скорее всего увижу это из обеих комнат. Даже если свет будет гореть всю ночь, бюджет от этого при светодиодном освещении сильно не пострадает. Пластиковые трубы практически не текут, следить особо не за чем и т.п.. А вот у Америкосов, у которых свой загородный дом, это актуально. Цены на воду у них конские, судя по отзывам моего знакомого, который там последние 15 лет живёт и нужно при этом регулярно поливать лужайки. Соответственно он долго искал девайс, который считает расход воды и перекрывает подачу на поливалку по лимиту. Потом дом - три этажа, маленький ребёнок, который периодически имеет особенность простужаться, куча комнат, на каждом этаже по одному - два кондиционера. Нужно их вырубать, если в комнате находится ребёнок, но нужно как-то понять, что это именно ребёнок. Соответственно, камеры и термодатчики стоят в каждой комнате, термодатчики с какой-то обвязкой шлют пуши через mqtt, камеры транслируют видео в какое-то облако, всё доступно со смартфона, но тупые кондиционеры управляются через ик исключительно. Посоветовал ему Broadlink RM Mini. Идея такова, что когда ребёнок дома один, поставить датчики движения и отрубать кондей в комнате, где в последний раз это движение было замечено, а циркуляции воздуха между комнатами должно хватать при остальных включенных кондеях, без которых им тяжко,когда за бортом +30. Так же желательно следить за электричеством, потому как цены у них на это тоже приличные, а дом в три этажа так или иначе жрёт много.

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

Ну а почему мы заняты концепцией умного дома в наших суровых реалиях? Элементарно - нам это нравится, нам это интересно и это просто наше увлечение. Почему бы и нет, собственно?
Windows Safari Chrome
 Новосибирск
2
0
Oberlender
Миль пардон, но, поскольку я пьяный и ни хрена ни в чем не разбираюсь.. — Умный дом в виде готового продукта — сырой маркетинговый усредненно-универсальный высер, а Леонид решает с помощью своей автоматики конкретные задачи, которые он лично поставил. Простите за капитанство, но срач тут неуместен же, э?
Linux Ubuntu Firefox
 Израиль
2
0
200-1.95M
С Умным Годом!
Mac Safari
 Москва
0
0
Den_x (#6269400)
Полезны лишь отдельные его элементы. Например мы на дачах (несколько человек), уже более 5 лет используем различные варианты GSM-реле для включения электроконвекторов, чтобы приехал на выходные - а дом уже теплый. У кого-то это совмещено с системой SMS-охраны, имеюшей в составе и выходные реле.
Это уже полуумный дом получается (хорошо, что не полоумный).
Умный дом - это не только исполнительные устройства, но и датчики.
Windows Safari Chrome
 Москва
5
0
audiotheater
К сказанному уже на эту тему могу добавить разве что одно: есть такой особый кайф – сделать самому. Я не программер, и мне все эти умные дома с серверами, признаться, не ах как интересны – но в своей работе я с этим сталкиваюсь регулярно. Значительную часть того, что я делаю сам руками, можно либо купить, либо вовсе скачать в сети. Но это неинтересно и неспортивно, к тому же совершенно не тренирует такую мышцу мозга, как выдумка.
Как-то так…
Linux Ubuntu Firefox
 Казань
1
0
Denis
Для меня в этом нет загадки, Людям интересно ставить и решать нетривиальные задачи. Но Вы правы, W10 для танков идеальный вариант в данный момент.
Windows Opera
 Москва
0
0
смехотехникарь (#6576614)
Играть? Это детство.
Mac Safari
 Эстония
0
0
ed
Даже не знал, что у яндекса такой приличный голос - уже сваял кто озвучку книг?
Mac Safari Chrome
 Москва
0
0
unclegluk
Еще лучше использовать оффлайновые синтезаторы речи — они качественней, быстрее, и не требуют подключения к сети.
Linux Safari Chrome
 Москва
0
0
Leonid Kaganov
Пример качества?
Linux Ubuntu Safari Chrome
 New York
3
0
Зокалебала кревая авторизацея
мы секретаря заставили наговорить нужные для IVR тексты.
Оффлайн-синтезатор с прекрасным голосом :)
Linux Ubuntu Safari Chrome
 Химки
0
0
yalexey
БГГ.
После ввода в эксплуатацию IVR системы меню, весьма не дешёвой, один дистрибутор спортивной одежды принял решение, что контрагентам приятнее, если с ними беседует живой человек. Сданная система была отключена через пару дней.
Windows Safari Chrome
 Москва
3
0
[email protected] (варящий яйца в микроволновке) (simpleid/index.php)
И это лучшее решение из возможных.

Разработчики IVR будут гореть в аду в специально подготовленных для этого комнатах с умными замками на дверях. Которые будут лениво им вещать: "Спасибо, что обратились за открытием двери выхода из горящей комнаты. Ваш звонок очень важен для нас. Мы будем рады вам помочь! Переведите свой голос в тоновый режим путём отрывания себе тестикул. Пожалуйста, прослушайте все варианты меню перед тем, как сделать выбор. Если вы хотите отправить поздравительную открытку разработчикам, нажмите "шесть". Если вы не хотите отправлять поздравительную открытку, но готовы высказать своё удовлетворённое мнение качеством нашего обслуживания, нажмите "восемь". Если у вас начинает подгорать правая пятка, нажмите... ...извините, ваш выбор не распознан. Пожалуйста, перезвоните"
Windows Safari Chrome
 Казань
3
0
Timson (2030202)
Кстати, не претендуйте на уникальность)))) У нас такая же фигня.... Особенно запомнилось:
1. 1999 год. Глубокий контральто буфетчицы пленил нас (наличием низких частот в голосе). Это ппц сексуально!
Пригласили ее для записи ее незабвенного голоса. Далее как в мультфильме "Кино, кино, кино" - смотрит в трубку большими глазами и молчит.... Так и не записали ((((
2. 2000 год. Для записи "Абонент временно не абонент" пригласили звезду ПОРНО-фильмов Алексис. Ее главное преимущество в тендере - девушка нашего сотрудника. Волнующий низкий голос (именно низы важны при записи) внезапно превратился в детский голос: "Кролики, это не только ценный мех, но 3-4 кг диетического мяса"....
3. 2008 год. Озвучка IVR. Звезда местного радио и ТВ Мария Веденеева. Радостный пафосный голос: если вы хотите разместить ПРЕТЕНЗИЮ.... Как в интернетах пишут: лежал весь автобус...
Mac Safari Chrome
 Москва
0
0
unclegluk
Вечером. На работе не установлено ничего такого.
Mac Safari Chrome
 Москва
0
0
unclegluk
Обещал — делаю, но не понимаю, как здесь ссылку на файл в гугл-драйве дать? Через галочку html и тег «a href» не работает нихрена. Вот вам просто текст:
https://drive.google.com/open?id=0BwYDFBvWigR6R0RrUF9PUnZKeX[...]
https://drive.google.com/open?id=0BwYDFBvWigR6eFdfbnpmREN1OU[...]
https://drive.google.com/open?id=0BwYDFBvWigR6aVp0QUJneHdSd1[...]
Текст: «Потребляемый ток: 0,9 ампер. Напряжение: 4,1 вольт. Загрузка процессора: 11 процентов»
Десятичные точки пришлось заменить запятыми.
Linux Safari Chrome
 Москва
0
0
Leonid Kaganov
Какое хорошее качество!!! Спасибо! А это под арм есть?
Mac Safari Chrome
 Москва
0
0
unclegluk
Не знаю. Но под линуксом что-то подобное было, эксперименты как-то ставил. Но выбрал для себя Мак, там это в порядке вещей, как и многое другое. Попробую поискать для линукса.
Linux Ubuntu Firefox
 Уфа
0
0
extrasens (#6231906)
Вот. Поставил RHvoice на BPI-R1.

https://drive.google.com/file/d/0BxWISipvEqc9TWxLRGtxVHg2UTg[...]

Есть различные нюансы, но работает.
Linux Safari Chrome
 karja
1
0
o=3 (#6412499)
Было 190к. В mp3 ужался до 9к(lame). Качество заметно пострадало.
Ваш движок соглашается принимать только картинки.
Ниже base64 of mp3:

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
Mac Safari
 Израиль
3
1
braintunic
> Качество заметно пострадало

ЛЛео же просил пример качества, а не пример брака.
Закиньте ваш исходный звуковой файл на любую файловую помойку (Dropbox, Google Drive) и дайте адрес, вместо этой фигни.
Linux Safari Chrome
 karja
0
0
o=3 (#6412499)
source:
echo 'Еще лучше использовать оффлайновые синтезаторы речи — они качественней, быстрее, и не требуют подключения к сети.' | RHVoice-client -s Anna+CLB -r -0.3 |sox -t wav - -r 8000 -c 1 -b 16 -t wav - >/tmp/test.wav
address:
git clone https://github.com/Olga-Yakovleva/RHVoice.git
Подозреваю, в dropbox такого нет. С Google Drive не знаком. При желании владельца дневника, отошлю ему на мыло исходный wav.
Linux Firefox
 Boulder
0
0
Михаил (#1684620)
Велик могучим русский языка!
Десятые и тысячные должны быть ампера, вольта, процента и градуса.

Кстати, зачем вам точность в тысячные доли вольта и десятые доли процента? И ток в тысячных долях ампера вместо миллиамперов?
Windows Safari Chrome
 Москва
2
0
[email protected] (варящий яйца в микроволновке) (simpleid/index.php)
Вы тут все такие умные, а я на вашей картонной гире припишу: "речь" по-английски - speech. Не "speach".
Linux Safari Chrome
 Mt Laurel
1
0
Gena Kukartsev
Это пост-грамматика, на одном уровне с The Beatles и гениальным двуязычным anonymouse/анонимно. :)
Mac Safari
 Израиль
1
0
braintunic
> Какой смысл в умном доме, если он молчит?

Лишь бы оно не стало слишком умным ;)


Linux Ubuntu Safari Chrome
 New York
0
1
Зокалебала кревая авторизацея
Вот кстати, не вижу смысла вообще в озвучке часов, например.

Если мне надо "подождать 8 минут" - проще посмотреть на цифровое табло, прибавить "8" и потом просто поглядывать, пока не появится нужная цифра.

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

А слушать голос и представлять себе абстрактное "время" - сомнительное удовольствие.
Вот аларм какой-нибудь, типа "а у нас свет вырубился!" - это да, это можно.
Linux Ubuntu Safari Chrome
 Химки
1
0
yalexey
Люди имеют индивидуальные предпочтения в каналах информации. Несмотря на то, что 90% информации визуальной, некоторые предпочитают не изображения, а текст, некоторые вообще звук. Бывает, что лучше воспринимается сочетание. Бывает, один из каналов лучше работает при стимуляции другого (тактильной, ароматической...)
Windows Firefox
 Москва
1
0
Матвеев
>Бывает, один из каналов лучше работает при стимуляции другого (тактильной, ароматической...)

При сообщении "Алярм, алярм, зафиксирован отказ системы охлаждения в серверной!" пускать в комнату сероводород?
Linux Ubuntu Safari Chrome
 New York
0
0
Зокалебала кревая авторизацея
....

(да что ж такое, несколько вариантов перебрал - все какая-то пошлятина получается!)
Mac Safari
 Израиль
0
0
braintunic
> не вижу смысла вообще в озвучке часов

И как у вас получается просыпаться без будильника?
Linux Ubuntu Safari Chrome
 New York
0
0
Зокалебала кревая авторизацея
как-как - очень просто: берешь и просыпаешься :)


Тем более что будильники обычно просто издают какие-то звуки, а не рассказывают о текущем времени.
Windows Safari Chrome
 Домодедово
0
0
id
О, организм человека - очень страшная штуковина.

Мой, например, выработал в себе подлейшее свойство: я всегда просыпаюсь примерно за 30 секунд до срабатывания будильника, на какое бы время я его ни поставил.

Коварство тут состоит в том, что этого времени как раз хватает, чтобы потянуться, встать, протянуть руку - и выключить будильник ровно в момент начала первого сигнала... А затем - лечь и уснуть опять. А потому будильник для меня сейчас - вещь полностью бесполезная :(
Mac Safari
 Израиль
1
0
braintunic
> А затем - лечь и уснуть опять

Это вы просто незнакомы с современными будильнико-технологиями.

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

Есть и интеллектуальные программы-будильники (типа "Sleep as Android").
Они собирают информацию о вашем режиме сна (с помощью микрофона и динамометров) и будят вас не в указанную секунду, а в указанный промежуток времени (скажем, в указанный получасовой период), в наиболее подходящий для пробуждения момент (в фазе NREM - Non-Rapid Eye Movement Sleep).
Такое тип пробуждения снимает описанную вами "инерцию сна" и заторможенность (grogginess), даже если вы объективно недостаточно выспались.
Windows Safari Chrome
 Омск
0
0
Макс
Вопрос жутко не в тему, но нужный: вы в каком-то там году, помнится, в своём дневничке писали что встретите праздник дома, с блюдами приправленными домашним майонезом, и выложили его рецепт. А теперь не могу его найти. Можете ещё раз выложить, пожалуйста?
Mac Safari
 Израиль
0
0
braintunic
А вы уверены, что рецепт майонеза был именно в блоге у ЛЛео, а не у Навального или у Проститутки Кэт?)
Windows Safari Chrome
 Долгопрудный
0
0
шк мышь 2
так вот на самом деле кто та проститутка.
и навальный кстати
Windows Safari Chrome
 Омск
0
0
Макс
Именно у ЛЛео, помню по его особенному писательскому стилю. Правда, видел давно. Теперь вот захотелось повторить дома качественный продукт.
Windows Firefox
 Израиль
0
0
docos (#6405765)
Насчет майонеза - советую глянуть у Похлебкина сначала, а после в гугле ;)
Linux Safari Chrome
 Москва
0
0
Leonid Kaganov
Вы меня с кем-то путаете. Рецептами домашних майонезов не владею. Вчера весь день делал уборку, вынес четыре мешка говна и большую коробку с электроникой - всякие там роутеры,видеобластеры, блоки питания... Новогодняя уборка, рекомендую! На балкон выставил только работающий лаптоп-пишмашинку и старый олькин планшет Асус с отстегивающейся клавиатурой. Никому не надо? Выкинуть рука не поднялась пока.
Linux Ubuntu Safari Chrome
 New York
5
0
Зокалебала кревая авторизацея
разве можно выбрасывать электронику? :)

Контроллеры, преобразователи уровней, операционики, дисплеи, IR-ресиверы, трансформаторные кольца, мосфеты, ВЧ-выпрямительные сборки, электролиты, да даже разьемы для sd-карт - куча всего полезного.
Windows Safari Chrome
 Одесса
0
0
Sergey63
Леонид, извините, пожалуйста за занудство... В PHP категорически и настоятельно рекомендуется располагать один оператор в одной строке. И даже одиночный If заключать в скобки {}
PHP все равно, а людям читабельно.
Спасибо, извините.
Linux Safari Chrome
 Москва
0
0
Leonid Kaganov
А я такой стиль категорически неприемлю - листать долго, читать неудобно.
Mac Safari
 Израиль
0
0
braintunic
Один мой знакомый написал программу на языке Си в десять тысяч символов и в одну строчку (ну ооочень длинную).

Другой знакомый рассказывал, что давным давно, ещё во времена перфокарт он писал длинные программы по одному значащему символу в строке, то есть, реально печатал программу на 1500 перфокартах по одному значащему символу на каждой перфокарте.

Каждый дрочит как он хочет - пока он делает это лично для себя и не собирается никому показывать свои извращения ;)
Windows Firefox
 Германия
0
0
Глеб
>Каждый дрочит как он хочет - пока он делает это лично для себя и не собирается никому показывать свои извращения
— задумчиво сказал Рабинович, выходя от врача и пытаясь прочесть рецепт.
Mac Safari Chrome
 Нижний Новгород
0
0
tartaglione
Коль скоро программный фрагмент тут обсуждается - его кому-то уже показали.

Есть и такой вариант стиля: я сам на мехмате МГУ какую-то программу на Алголе-68 набил так, чтобы каждая перфокарта была заполнена до упора. На тот момент мне это показалось рационально, я помню. Программа, разумеется, работала и что-то считала про стереотипного охотника, на которого из-за кустов бежит марковский поток медведей. Я её сдал преподу, тот на меня непонятно посмотрел, ничего не сказал и поставил зачёт. Сколько лет прошло, а до сих пор стыдно.
Mac Safari
 Израиль
3
0
braintunic
> На тот момент мне это показалось рационально

Так всегда находится "рациональная" причина.
Вам, наверное, преподаватель прожужжал уши напоминаниями, что надо экономить перфокарты.

А тот мужик, кто вводил по одному символу на строчку, сказал, что он это сделал в пику начальнику отдела, который вернулся с курсов повышения квалификации и заявил, что теперь будет оценивать производительность каждого программиста по новому прогрессивному критерию - количество строк кода (LOC) в день.
Windows Firefox
 Киев
0
0
Кондыбас (kondybas)
А я когда-то открыл для себя волшебный мир бьютифаеров кода, и с тех пор не обращаю внимания на чужие предпочтения в форматировании исходников.
Linux Ubuntu Firefox
 Израиль
1
0
200-1.95M
С Новым Годом, Леонид, Ольга и все комментаторы!
Windows Safari Chrome
 Москва
0
0
Данияр
С наступающим!!! Удачи, Здоровья и Музы!!!
Windows Safari Chrome
 Москва
0
0
Данияр
а кто не хочет являть мудрость
Windows Safari Chrome
 Москва
0
0
Данияр
Ломоносов был хорош пока не доехал до С. Перербурга
Windows Safari Chrome
 Москва
0
0
Данияр
с Бальзаком согласен
Windows Safari Chrome
 Москва
0
0
Данияр
Счастья Вам!
Windows Firefox
 Челябинск
1
0
vinny-the-poo
У вас там только-только пошёл последний час перед Новым Годом, а вот у нас уже отгремело, шампанское выпито и кукушка Лео провозгласила час ночи.

Приятно обратиться в прошлое хотя бы с посланием и поздравить вас, предки, с Новым годом! У нас в 2017 пока всё хорошо.
Windows Safari Chrome
 Москва
1
0
Данияр
С наступающим! Счастья, Удачи, Здоровья, исполнения желаний!!!
Windows Safari Chrome
 Киев
3
0
Maxfactor9
«Кто-то в дверь зашел — поздороваться надо.»
uzPDgDFC_hg
Windows Firefox
 Москва
0
0
ДедМороз (#6559238)
Мне помница n месяцев назад товарищ Каганов отрицал всякие там рекомендованные ему ардуины и заявлял что мол это слишком сложно, и надо цеплять все замки напрямую к банане.
А мне как советующему такой вариант, предлагал сначала все такие же перделки как у него реализовать с зачитыванием сообщений вслух, а потом умничать.
Ну ну :-)
Linux Safari Chrome
 Москва
0
0
Leonid Kaganov
Вы что-то путаете, потому что Ардуина у меня управляет замком лет пять уже, как минимум.
Windows Opera
 Москва
2
0
смехотехникарь (#6576614)
Это от бедности, зАмком должен управлять управляющий. :)
Linux Ubuntu Safari Chrome
 New York
2
0
Зокалебала кревая авторизацея
Так оно так и есть: Ардуина де Чинезе, управляющая замком.
Windows Safari Chrome
 Киев
0
0
Виталий
Рекомендую в качестве синтезатора попробовать Ivona от Амазона, у него неплохое произношение

всего комментариев: 158

<< предыдущая заметка следующая заметка >>