roboforum.ru

Технический форум по робототехнике.
Текущее время: 23 ноя 2024, 07:29

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 147 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10
Автор Сообщение
 Заголовок сообщения: Re: Простая аниматроника на Ардуино
СообщениеДобавлено: 31 июл 2020, 11:00 
Не в сети
Аватара пользователя

Зарегистрирован: 03 янв 2013, 16:27
Сообщения: 1386
Сделал виртуального блючикена. Фразы записывал здесь:
https://apihost.ru/voice
Почему то процессинг избирательно позволяет использовать файлы (от размера как выяснилось не зависит, может 80 к выдать ошибку и 50 к, а 60 к пропустить ). Ошибка -IndexOutOfBoundsException (Эта ошибка выпадает в том случае, если мы пытаемся получить из массива элемент, позиция которого превышает размер массива) - такое пояснение нашёл, но смысл потаённый не ясен :) Поэтому дроблю на файлы-фразы и через кнопку перебор.

Код:
import processing.sound.*;
Amplitude amp;
SoundFile file;
float MUZ;
int i;
int m=0;
int m1=0;
int m2=0;
boolean fl_A=false;//
boolean fl_B=false;//
boolean fl_C=false;//
boolean fl_D=false;//
int nomer_treka=-1;//
void setup() {
  size(700, 700,P3D);
  background(0);
  amp = new Amplitude(this);
}     

void draw() {
  background(150);lights();
  translate(width/2, (height/1.5));
  delay(40);
  /////////////////// голосовые треки ///////////////////////////////////
  for (i=0;i<5;i++){MUZ=MUZ+100*amp.analyze();delay(3);}MUZ=MUZ/5;
  if (keyPressed&&key == ' ') {nomer_treka++;if(nomer_treka>2){nomer_treka=0;} delay(100);//если нажат пробел трек запускаем
  if(nomer_treka==0){ file = new SoundFile(this,"trek1.mp3");}
  if(nomer_treka==1){file.stop(); file = new SoundFile(this,"trek2.mp3");}
  if(nomer_treka==2){file.stop(); file = new SoundFile(this,"trek3.mp3");}
file.play();amp.input(file); }
  ///////////////////////////////////////////////////////////////////////
rotateY(PI*m/255); rotateZ(PI*m1/255);rotateX(PI*m2/255);//вращение аниматроника и глаз его
  if(fl_B==false){m++;}else{m--;}if(m==20){fl_B=true;}if(m==-20){fl_B=false;}
  if(fl_C==false){m1++;}else{m1--;}if(m1==10){fl_C=true;}if(m1==-10){fl_C=false;}
  if(fl_D==false){m2++;}else{m2--;}if(m2==5){fl_D=true;}if(m2==-30){fl_D=false;}
 
///////////////////// ИЗОБРАЖЕНИЕ АНИМАТРОНИКА /////////////////////////////////////////////////
strokeWeight(8);stroke(255); fill(255, 127,0);
rotateX(-PI/4);triangle(-150, 0, 150, 0, 0, -150);rotateX(PI/4);//верхняя часть рта
if(MUZ>10&&MUZ<22){rotateX(PI/4);triangle(-150, 0, 150, 0, 0, 150);rotateX(-PI/4);}else{rotateX(PI/2);triangle(-150, 0, 150, 0, 0, 150);rotateX(-PI/2);}//нижняя часть рта

noStroke();fill(255); translate(-90,-230,-30);rotateY(-PI*m/64); sphere(50);fill(150);translate(0,0,20);sphere(35);translate(0,0,-20);rotateY(PI*m/64); translate(90,230,30);//глаз
fill(255);translate(90,-230,-30);rotateY(-PI*m/64);sphere(50);fill(150);translate(0,0,20);sphere(35);translate(0,0,-20);rotateY(PI*m/64); translate(-90,230,30);//глаз

strokeWeight(4);stroke(0,100,255); noFill();translate(0,-50,50);for(i=0;i<47;i++){rotateY(-PI*i/32);arc(0, 0, 450, 700, 1.7*PI/2, 3*PI/2);translate(0,-450,0); strokeWeight(2);arc(0, 0, 150, 200,0, PI/2);//шевелюра
strokeWeight(4);translate(0,450,0);rotateY(PI*i/32);}translate(0,50,-50);//шевелюра
rotateY(-PI*m/255);
  //////////////////////////////////////////////////////////////////////
  }


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Простая аниматроника на Ардуино
СообщениеДобавлено: 31 июл 2020, 17:52 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2681
Откуда: Где-то в Латинской Америке
Пошла программная движуха!
Приладь управление железным цыпленком по интернету. Чтобы давать домочадцам ценные указания, находясь вдали от дома.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Простая аниматроника на Ардуино
СообщениеДобавлено: 01 авг 2020, 00:18 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
Scorpio писал(а):
Пошла программная движуха!

Я вот 30 лет думал, что умею писАть программы, но после прочтения исходника, генерящего ошибку "IndexOutOfBoundsException", понял, что я сопляк необстрелянный :lol:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Простая аниматроника на Ардуино
СообщениеДобавлено: 01 авг 2020, 02:03 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2681
Откуда: Где-то в Латинской Америке
Не парься! У тебя есть еще 30 лет, чтобы научиться)))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Простая аниматроника на Ардуино
СообщениеДобавлено: 01 авг 2020, 09:26 
Не в сети
Аватара пользователя

Зарегистрирован: 03 янв 2013, 16:27
Сообщения: 1386
Ошибка выскакивающая устраняется путём смены используемого "ресурса текст-речь".
https://voxworker.com/ru
Добавил синхрон на реального аниматроника - виртуальный смотрится лучше. Записал сказку
https://proza.ru/2002/09/06-128
архив варианта прилагаю-переходы частей пробелом
Можно сделать приложение большое с выбором сказок, анимационных персонажей, панелью кнопок-опций. Но лень. Процессинг явно интереснее чем HiAsm.


Вложения:
вид2.jpg
вид2.jpg [ 1.84 МиБ | Просмотров: 4836 ]
bluechiken.zip [1.5 МиБ]
Скачиваний: 0
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Простая аниматроника на Ардуино
СообщениеДобавлено: 01 авг 2020, 15:43 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2681
Откуда: Где-то в Латинской Америке
У процессинга есть библиотека tts (текст в речь). Попробуй с ней поиграться. Чтобы не надо было звуковые файлы предварительно записывать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Простая аниматроника на Ардуино
СообщениеДобавлено: 02 авг 2020, 09:26 
Не в сети
Аватара пользователя

Зарегистрирован: 03 янв 2013, 16:27
Сообщения: 1386
Почитал тут,поставил библиотеку - русских букав не понимает.
https://www.local-guru.net/blog/pages/ttslib


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Простая аниматроника на Ардуино
СообщениеДобавлено: 03 авг 2020, 00:50 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2681
Откуда: Где-то в Латинской Америке
Вероятно русскоязычный голосовой движок д.б. установлен на компе и выбран по умолчанию.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Простая аниматроника на Ардуино
СообщениеДобавлено: 03 авг 2020, 10:34 
Не в сети
Аватара пользователя

Зарегистрирован: 03 янв 2013, 16:27
Сообщения: 1386
Не знаю, в панеле управления нашёл вкладку "преобразование текста в речь". Там кнопка "проба голоса". Ввёл текст в строку на русском - всё говорится на русском-женском :) А в примере библиотеки на мужском английском с машинным грубым призвуком-видимо не всё так просто.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Простая аниматроника на Ардуино
СообщениеДобавлено: 04 авг 2020, 02:32 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2681
Откуда: Где-то в Латинской Америке
Да, видимо как-то настраивать языки надо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Простая аниматроника на Ардуино
СообщениеДобавлено: 30 сен 2022, 14:57 
Не в сети

Зарегистрирован: 14 сен 2022, 13:48
Сообщения: 6
dimamichev писал(а):
Ошибка выскакивающая устраняется путём смены используемого "ресурса текст-речь".

Добавил синхрон на реального аниматроника - виртуальный смотрится лучше. Записал сказку

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


Вот в этом сервисе https://voicebot.su есть всякие прикольные звуковые эффекты, которыми можно дополнить речь персонажей. Будет интересно.


Вложения:
2022-09-30_15-56-50.png
2022-09-30_15-56-50.png [ 79.08 КиБ | Просмотров: 2724 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Простая аниматроника на Ардуино
СообщениеДобавлено: 30 сен 2022, 19:38 
Не в сети
Аватара пользователя

Зарегистрирован: 03 янв 2013, 16:27
Сообщения: 1386
:)
Два года уже как не трогал аниматроника, всё уже позабылось.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 147 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO