Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.03.2011, 10:26
Cornford вне форума Посмотреть профиль Отправить личное сообщение для Cornford Найти все сообщения от Cornford
  № 11  
Ответить с цитированием
Cornford

Регистрация: Oct 2009
Сообщений: 174
Что понимается под распознаванием голоса?
Либо это перевод речи в буквы и слова и предложения и т.д., или это распознавание голоса и отнесение его к конкретному человеку (т.е. по тембру или както там еще)?
В любом случае эти вещи давно придуманы и на флеш перевести особой проблемы нет.

Старый 20.03.2011, 15:26
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 12  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
если надо а отличить от б то можно попробовать так. Нарисовать кривую спектрограммы (исходников полно, даже в хелпе есть) сделать 10 штук спекторгамм буков а и б и сравнивать их с новой спектрограммой. Где процент будет больше та и буква. Это пока идея х, тк до сих пор нет вменяемых гаджетов с голосовым управлением. Можно наверно отличить и от о к примеру.
__________________
Гоночка

Старый 20.03.2011, 15:43
dmitry bond вне форума Посмотреть профиль Отправить личное сообщение для dmitry bond Найти все сообщения от dmitry bond
  № 13  
Ответить с цитированием
dmitry bond
 
Аватар для dmitry bond

Регистрация: Jan 2010
Адрес: владивосток
Сообщений: 250
необходимо пока отдельные понимаемые фразы, поэтому я думаю проблемм в этом не будет, но вот тогда такой вопрос как во флеше извлекать из звука эту спектограмму

Старый 20.03.2011, 15:50
kseniya вне форума Посмотреть профиль Отправить личное сообщение для kseniya Найти все сообщения от kseniya
  № 14  
Ответить с цитированием
kseniya
 
Аватар для kseniya

Регистрация: Oct 2010
Адрес: Новосиб
Сообщений: 122
Цитата:
Сообщение от dmitry bond Посмотреть сообщение
вопрос как во флеше извлекать из звука эту спектограмму
есть computeSpectrum для всего звука и extract для Sound, а ещё для микрофона есть SampleDataEvent

Например: (взято из хелпа)
Код AS3:
const DELAY_LENGTH:int = 4000;
var mic:Microphone = Microphone.getMicrophone();
mic.setSilenceLevel(0, DELAY_LENGTH);
mic.gain = 100;
mic.rate = 44;
mic.addEventListener(SampleDataEvent.SAMPLE_DATA, micSampleDataHandler);
function micSampleDataHandler(event:SampleDataEvent):void {
	const PLOT_HEIGHT:int = 200;
	const CHANNEL_LENGTH:int = 256;
	var g:Graphics = this.graphics;
	g.clear();
	g.lineStyle(0, 0x6600CC);
	g.beginFill(0x6600CC);
	g.moveTo(0, PLOT_HEIGHT);
	var n:Number = 0;
	var i:uint = 0;
	while (event.data.bytesAvailable) {
		n = (event.data.readFloat() * PLOT_HEIGHT);
		g.lineTo(i * 2, PLOT_HEIGHT - n);
		++i;
	}
	g.lineTo(0, PLOT_HEIGHT);
	g.endFill();
}
вот ещё один пример с fft
Код AS3:
const DELAY_LENGTH:int = 4000;
var mic:Microphone = Microphone.getMicrophone();
mic.setSilenceLevel(0, DELAY_LENGTH);
mic.gain = 100;
mic.rate = 44;
mic.addEventListener(SampleDataEvent.SAMPLE_DATA, micSampleDataHandler);
var timer:Timer = new Timer(DELAY_LENGTH);
timer.addEventListener(TimerEvent.TIMER, timerHandler);
timer.start();
var soundBytes:ByteArray = new ByteArray();
function micSampleDataHandler(event:SampleDataEvent):void {
	while (event.data.bytesAvailable) {
		var sample:Number = event.data.readFloat();
		soundBytes.writeFloat(sample);
	}
}
function timerHandler(event:TimerEvent):void {
	mic.removeEventListener(SampleDataEvent.SAMPLE_DATA, micSampleDataHandler);
	timer.stop();
	soundBytes.position = 0;
	var sound:Sound = new Sound();
	sound.addEventListener(SampleDataEvent.SAMPLE_DATA, playbackSampleHandler);
	sound.play();
}
function playbackSampleHandler(event:SampleDataEvent):void {
	for (var i:int = 0; i < 8192 && soundBytes.bytesAvailable > 0; i++) {
		var sample:Number = soundBytes.readFloat();
		event.data.writeFloat(sample);
		event.data.writeFloat(sample);
	}
}
addEventListener(Event.ENTER_FRAME, onEnterFrame);
function onEnterFrame(event:Event):void {
	var bytes:ByteArray = new ByteArray();
	const PLOT_HEIGHT:int = 200;
	const CHANNEL_LENGTH:int = 256;
	SoundMixer.computeSpectrum(bytes, true, 0);
	var g:Graphics = this.graphics;
	g.clear();
	g.lineStyle(0, 0x6600CC);
	g.beginFill(0x6600CC);
	g.moveTo(0, PLOT_HEIGHT);
	var n:Number = 0;
	for (var i:int = 0; i < CHANNEL_LENGTH; i++) {
		n = (bytes.readFloat() * PLOT_HEIGHT);
		g.lineTo(i * 2, PLOT_HEIGHT - n);
	}
	g.lineTo(CHANNEL_LENGTH * 2, PLOT_HEIGHT);
	g.endFill();
	g.lineStyle(0, 0xCC0066);
	g.beginFill(0xCC0066, 0.5);
	g.moveTo(CHANNEL_LENGTH * 2, PLOT_HEIGHT);
	for (i = CHANNEL_LENGTH; i > 0; i--) {
		n = (bytes.readFloat() * PLOT_HEIGHT);
		g.lineTo(i * 2, PLOT_HEIGHT - n);
	}
	g.lineTo(0, PLOT_HEIGHT);
	g.endFill();
}


Последний раз редактировалось kseniya; 20.03.2011 в 16:13.
Старый 20.03.2011, 17:31
Cornford вне форума Посмотреть профиль Отправить личное сообщение для Cornford Найти все сообщения от Cornford
  № 15  
Ответить с цитированием
Cornford

Регистрация: Oct 2009
Сообщений: 174
Плюс можно сделать словарь слов и потом распознанное слово сравнивать со словарем, чтобы свести ошибки к минимуму.

Создать новую тему Ответ Часовой пояс GMT +4, время: 15:36.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 15:36.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.