Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
24 / 4 / 0
Регистрация: 16.03.2013
Сообщений: 62

Распознавание речи технологиями google на C++ под Debian

20.02.2015, 18:03. Показов 3222. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, товарищи форумчане!
Тема не вопросительная, а просто делюсь опытом: как распознать речь под debian`oм.
Раньше не встречал как реализовать это, а на днях понадобилось. Воспользовавшись информацией на хабре написал небольшой метод:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
void recognize(string & text)
{
    
    char ch;
    ch = '\0';
    system("arecord -d 15 -q -f cd -r 16000 audio/speech.wav > /dev/null &");
    cout<<"Запись начата...";
    while(1)
    {
    ch = cin.get();
                if (ch == '\n')
                {
                        system("killall -9 arecord");
            break;
                }
        }
 
    cout << "Конвертирование..."<<endl;
    system("sox audio/speech.wav audio/speech.flac gain -n -5 silence 1 5 2%"); // Конвертируем speech.wav в speech.flac
    cout << "Распознование..." << endl;
    system("wget -q -U \"Mozilla/5.0\" --post-file audio/speech.flac --header=\"Content-Type: audio/x-flac; rate=16000\" -O - \"https://www.google.com/speech-api/v2/recognize?output=json&lang=ru-RU&key=GOOGLE API KEY\" > all.txt"); // Отправляем Google speech.flac и полученный ответ сохраняем в файл all.txt    
    
    //Возвращаем полученное значение
 
    FILE *in = fopen("all.txt","r");
    if(in==NULL)                
    {
        cout << "Ошибка в открытии файла "  <<endl;
    }
    else
    {   int i = 0;
        char *str  = new char[1024];//создаём строку(string) размером 1024.
 
        for (i=0;i<2;i++)
            {
            fgets(str,1024,in); //записываем в str первую строку.
            //cout<<str<< endl<<i<<endl;        //Выводим строку. Для отладки
 
            }
        fcloseall();    //закрываем все открытые (в нашем случае один) файлы.
        
    text=str;
        delete [] str;  //очистка памяти
 
    if(text.find("t\":\"")!=-1){text.erase(0,text.find("t\":\"")+4);}
    if(text.find("\",")!=-1){text.erase(text.find("\","));}
        cout<<text<<endl;
    }   
    
}

В программе подключены следующие библиотеки:
C++
1
2
3
4
#include <cstdlib>
#include <iostream>
#include <string.h>
#include <stdio.h>
Не спорю, так делать не совсем правильно, но надеюсь, кто-нибудь доработает)
Про получение ключа можно прочитать тут
так же близко к теме

Жду Ваших комментариев
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.02.2015, 18:03
Ответы с готовыми решениями:

GOOGLE РАСПОЗНАВАНИЕ РЕЧИ ДЕЛФИ
Буду благодарен тому кто предложит исходник распознавания речи через google delphi 2006 turbo

Распознавание речи в текст, Google
Друзья, я знаю что наверняка я не первый уже это спрашиваю, но может кто использовал в своих работах распознаватель от гугла ? Смотрел...

Распознавание речи (google speech api)
Здравствуйте, сейчас произошли какие то изменения у гугла, я была бы очень признательна, если бы Вы смогли помочь разобраться с...

4
0 / 0 / 0
Регистрация: 17.01.2015
Сообщений: 40
24.02.2015, 19:32
сделай оболочку на qt.
0
24 / 4 / 0
Регистрация: 16.03.2013
Сообщений: 62
25.02.2015, 20:45  [ТС]
g9dd, Зачем? Здесь уже готовая функция, которая возвращает в переменную text то, что расползналось. Я всё же полагаю, что этот код крайне простой даже для новичков чтобы модифицировать его под своим нужды
0
Заблокирован
03.03.2015, 11:48
делает ли google распознование текста?
если нет,
то есть ли программа которая читает текст, а google бы распознавал его?
0
24 / 4 / 0
Регистрация: 16.03.2013
Сообщений: 62
03.03.2015, 17:46  [ТС]
poss, не совсем понял, чего вы хотите? Программно воспроизвести текст а потом его так же программно распознать?
Цитата Сообщение от poss Посмотреть сообщение
делает ли google распознование текста?
вы имеете виду с листа?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.03.2015, 17:46
Помогаю со студенческими работами здесь

Распознавание речи. Google Speech API
Здравствуйте. Я прикрепляю простую программу для распознавания речи с помощью Google API. Она работает, но есть некоторые вопросы. ...

Распознавание речи в MATLAB с использованием GOOGLE Speech api
Добрый день! Нужна помощь:-Добавлено через 2 часа 12 минут Все нашла.

Распознавание речи Google и сохранение результатов в текстовый файл
Здравствуйте. Передо мной стоит задача в создании программы для непрерывного распознавания речи введенной с микрофона и сохранения...

Распознавание речи (Стандартный Google, Pocketsphinx, данные voice.mozilla.org) и др
Здравствуйте. Пишу первый раз программу на android и мне нужно распознавание речи. 1) Для начала я нашел стандартный способ...

Запись речи, отправка файла на Google, получение текста речи
Нужна помощь! Нужно написать простую программу. Программа должна при клике на кнопку слушать микрофон. На другую кнопку останавливать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Контроль корректности заполнения дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru