SlideShare a Scribd company logo
with
Domain Specific Languages
How to create a Cortana / Siri like assistant for our applications
Pedro Ramírez Scio Consulting
Fun with DSL
The pieces
• A UI that recognice what the user said or free textbox
entry
• A language that the user uses and the assistant
understand
• A grammar
• A parser
• A translator
What
is a
DSL?
How to implement a DSL?
There are many tools to build DLSs, for .Net some of them are:
• Visual Studio
• Irony.Net
• Boo language
• ANTLR
For this demo I use Irony.Net, Irony.net allows us to define the
grammar and provides a parser that we use to then translate
the expression entered by the user in to a SQL query.
A domain-specific language (DSL) is
a computer language specialized to
a particular application domain. This
is in contrast to a general-purpose
language (GPL), which is broadly
applicable across domains, and lacks
specialized features for a particular
domain.
Voice
or
Speech
recognition?
How to implement what we need?
For our purposes, we need speech recognition rather than
voice recognition, we need to translate the user words into
text that can be used by the parser so we can “understand”
what the user said.
We can implement speech recognition in a few ways, for web
apps the two most common are:
• Using native windows libraries (System.Speech), this is can be
used by desktop and web apps.
• For web applications(our case), we can use
webkitSpeechRecognition in javascript
Mobile applications can use native libraries, like the ones for
Windows Phone 8
Speechrecognition is the
translation of spoken words into
text.
Voice recognition refers to
identify the speaker, not what they
are saying.
How it
Works?
Questions?
Useful links:
Source code
https://github.com/pedro-ramirez-suarez/ScioAssistant
Irony .Net
https://irony.codeplex.com/

More Related Content

PPT
PPTX
What Is Coding And Why Should You Learn It?
PPTX
What is Coding
KEY
Challenges In Dsl Design
PPTX
Evolve your app’s video experience with Azure: Processing and Video AI at scale
PPT
Deaf dumb
PPSX
College forum software
PDF
Microsoft cognitive services
What Is Coding And Why Should You Learn It?
What is Coding
Challenges In Dsl Design
Evolve your app’s video experience with Azure: Processing and Video AI at scale
Deaf dumb
College forum software
Microsoft cognitive services

What's hot (20)

PPTX
Text to Speech for Mobile Voice
PDF
A Text To Speech Detection Methodology for Bangla in Android
PPTX
Computer languages
PPTX
4. sql
PPTX
AT Software/Apps Demonstration
PPTX
02 Global AI Bootcamp 2022 Sofia Voice biometry Recognizing speakers in our a...
PDF
Lecture 11
PPTX
1. reason why study spl
PPSX
Text to-speech & voice recognition
ODP
8 Google Translate
PPTX
Importance of understanding language and culture when managing International...
PPTX
What is a programmer
PPTX
Text to speech with Google Cloud
PPTX
Transalation
PPTX
Le wagon project
PPTX
Programming language (JGMNHS)
PPTX
Custom vision app step by step and cognitive service quick view
PPT
Presentation On Software,Its Types,A Detail On Application Software And Langu...
ODP
Shaping Pootle for LibreOffice localiser
PPT
Pro Translating Presentation
Text to Speech for Mobile Voice
A Text To Speech Detection Methodology for Bangla in Android
Computer languages
4. sql
AT Software/Apps Demonstration
02 Global AI Bootcamp 2022 Sofia Voice biometry Recognizing speakers in our a...
Lecture 11
1. reason why study spl
Text to-speech & voice recognition
8 Google Translate
Importance of understanding language and culture when managing International...
What is a programmer
Text to speech with Google Cloud
Transalation
Le wagon project
Programming language (JGMNHS)
Custom vision app step by step and cognitive service quick view
Presentation On Software,Its Types,A Detail On Application Software And Langu...
Shaping Pootle for LibreOffice localiser
Pro Translating Presentation
Ad

Viewers also liked (9)

PDF
Positive Attitude
PPSX
RTF
New rich text document
PPTX
PDF
Manual installasi s li ms 7 (cendana) di windows
PPTX
ScioTalks | Coverage Based Testing
PDF
Apps on Android??
PPTX
PPTX
Positive Attitude
New rich text document
Manual installasi s li ms 7 (cendana) di windows
ScioTalks | Coverage Based Testing
Apps on Android??
Ad

Similar to Fun with DSL (20)

PDF
10 World’s Leading Speech or Voice Recognition Software That Can 3X Your Prod...
PPTX
languagetranslator-211028085026.pptx
PPTX
Language translator
PPTX
What's DSL and what isn't
PDF
Why you should join the Dart side!
PPTX
Computer programminglanguages
PDF
The Ring programming language version 1.4 book - Part 2 of 30
PPTX
How to Implement Domain Driven Design in Real Life SDLC
PDF
Top 10 Best Speech Recognition Software
PPTX
whatiscodingslideshare-180406204414.pptx
PPTX
What is the best programming language to learn if you want to work on the blo...
PPTX
Artificial Intelligence Day 3 Slides for your Reference Happy Learning
PDF
Oracle ADF Architecture TV - Design - Designing for Internationalization
PDF
The Ring programming language version 1.4.1 book - Part 2 of 31
PPTX
NTLM - Open Source Language AI Tools
PDF
How to Build an Excellent Voice Assistant App like Siri.pdf
PDF
The Ring programming language version 1.7 book - Part 6 of 196
PPTX
computer languages
PDF
The Ring programming language version 1.9 book - Part 6 of 210
PDF
JanusCon 2024: Mom there are robots in my meeting
10 World’s Leading Speech or Voice Recognition Software That Can 3X Your Prod...
languagetranslator-211028085026.pptx
Language translator
What's DSL and what isn't
Why you should join the Dart side!
Computer programminglanguages
The Ring programming language version 1.4 book - Part 2 of 30
How to Implement Domain Driven Design in Real Life SDLC
Top 10 Best Speech Recognition Software
whatiscodingslideshare-180406204414.pptx
What is the best programming language to learn if you want to work on the blo...
Artificial Intelligence Day 3 Slides for your Reference Happy Learning
Oracle ADF Architecture TV - Design - Designing for Internationalization
The Ring programming language version 1.4.1 book - Part 2 of 31
NTLM - Open Source Language AI Tools
How to Build an Excellent Voice Assistant App like Siri.pdf
The Ring programming language version 1.7 book - Part 6 of 196
computer languages
The Ring programming language version 1.9 book - Part 6 of 210
JanusCon 2024: Mom there are robots in my meeting

More from Scio Consulting (18)

PPTX
When is a custom app the right choice?
PPTX
Conociendo ReactJs . Scio Talks
PPTX
La Labor del Analista de Calidad en el Desarrollo de Software
PPTX
El buen desarrollador - Julio Orozco
PPTX
Scio Talks - Sistemas Distribuidos con C#
PPTX
Webinar User Experience Fundamentals
PPTX
Autocomplete con AngularJs
PPTX
Ng autocomplete
PPTX
El curioso caso del Geek y la máquina virtual
PPTX
JavaScript Async | Juan Miguel Alcalá
PDF
Aplicaciones Móviles Híbridas
PPTX
Jugando con LinQ
PPTX
JQuery Deferred
PPTX
Behavior Driven Development (BDD)
PPTX
Scio Talks - Jugando con LinQ
PPTX
Scio Talks Gobierna el Frontend parte2
PPTX
¿Porqué la User Experience / User Interface es Importante?
PPTX
Scio Talks - Gobierna el Frontend 1er parte
When is a custom app the right choice?
Conociendo ReactJs . Scio Talks
La Labor del Analista de Calidad en el Desarrollo de Software
El buen desarrollador - Julio Orozco
Scio Talks - Sistemas Distribuidos con C#
Webinar User Experience Fundamentals
Autocomplete con AngularJs
Ng autocomplete
El curioso caso del Geek y la máquina virtual
JavaScript Async | Juan Miguel Alcalá
Aplicaciones Móviles Híbridas
Jugando con LinQ
JQuery Deferred
Behavior Driven Development (BDD)
Scio Talks - Jugando con LinQ
Scio Talks Gobierna el Frontend parte2
¿Porqué la User Experience / User Interface es Importante?
Scio Talks - Gobierna el Frontend 1er parte

Recently uploaded (20)

PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
Nekopoi APK 2025 free lastest update
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
L1 - Introduction to python Backend.pptx
PDF
Cost to Outsource Software Development in 2025
PPTX
Computer Software and OS of computer science of grade 11.pptx
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
Digital Systems & Binary Numbers (comprehensive )
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
assetexplorer- product-overview - presentation
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
Nekopoi APK 2025 free lastest update
iTop VPN Free 5.6.0.5262 Crack latest version 2025
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
L1 - Introduction to python Backend.pptx
Cost to Outsource Software Development in 2025
Computer Software and OS of computer science of grade 11.pptx
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Digital Systems & Binary Numbers (comprehensive )
wealthsignaloriginal-com-DS-text-... (1).pdf
Design an Analysis of Algorithms I-SECS-1021-03
CHAPTER 2 - PM Management and IT Context
Design an Analysis of Algorithms II-SECS-1021-03
Understanding Forklifts - TECH EHS Solution
Internet Downloader Manager (IDM) Crack 6.42 Build 41
How to Choose the Right IT Partner for Your Business in Malaysia
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Wondershare Filmora 15 Crack With Activation Key [2025
assetexplorer- product-overview - presentation

Fun with DSL

  • 1. with Domain Specific Languages How to create a Cortana / Siri like assistant for our applications Pedro Ramírez Scio Consulting
  • 3. The pieces • A UI that recognice what the user said or free textbox entry • A language that the user uses and the assistant understand • A grammar • A parser • A translator
  • 4. What is a DSL? How to implement a DSL? There are many tools to build DLSs, for .Net some of them are: • Visual Studio • Irony.Net • Boo language • ANTLR For this demo I use Irony.Net, Irony.net allows us to define the grammar and provides a parser that we use to then translate the expression entered by the user in to a SQL query. A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains, and lacks specialized features for a particular domain.
  • 5. Voice or Speech recognition? How to implement what we need? For our purposes, we need speech recognition rather than voice recognition, we need to translate the user words into text that can be used by the parser so we can “understand” what the user said. We can implement speech recognition in a few ways, for web apps the two most common are: • Using native windows libraries (System.Speech), this is can be used by desktop and web apps. • For web applications(our case), we can use webkitSpeechRecognition in javascript Mobile applications can use native libraries, like the ones for Windows Phone 8 Speechrecognition is the translation of spoken words into text. Voice recognition refers to identify the speaker, not what they are saying.