Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Опубликовано 25 января 2010 г. 09:48 | Coding4Fun
Крис Смит (Chris Smith) выступал на конференции CodeMash в январе 2010 года с докладом «Как стать злым гением, используя F# и .NET». Крис написал по мотивам своего доклада статью о своем видении компьютеров, о распознавании речи и стрельбе ракетами – и все это «изложено» на F#!
Вот небольшой фрагмент из его кода распознавания речи с применением System.Speech.dll:
let recognizerEvent = getWordRecognizer()
// Основной обработчик – преобразует речь в команды RL
let handleWord spokenText =
printfn "Recognized Word: %s" spokenText
let action =
match spokenText with
| "up" // ох и потрудился же я над распознаванием этого слова :(
| "north" -> MoveUp(20)
| "down" -> MoveDown(20)
| "left" -> MoveLeft(20)
| "right" -> MoveRight(20)
| "fire" -> Fire
| _ -> NoOp
performAction rocketLauncher action |> ignore
// Обработчик выхода – слушает слова exit/quit
let terminateLoop = ref false
let terminateLoopHandler = function | "exit"
| "quit" -> terminateLoop := true
| _ -> ()
// Подключаем обработчики событий
recognizerEvent.Add(handleWord)
recognizerEvent.Add(terminateLoopHandler)
while terminateLoop.Value = false do
System.Threading.Thread.Yield() |> ignore
()
Крис с удовольствием предоставил и весь исходный код: RocketLauncher_v1.0.zip.