--- category: Sensors --- # useSpeechSynthesis Reactive [SpeechSynthesis](https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis). > [Can I use?](https://caniuse.com/mdn-api_speechsynthesis) ## Usage ```ts import { useSpeechSynthesis } from '@vueuse/core' const { isSupported, isPlaying, status, voiceInfo, utterance, error, stop, toggle, speak, } = useSpeechSynthesis() ``` ### Options The following shows the default values of the options, they will be directly passed to [SpeechSynthesis API](https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis). ```ts import { useSpeechSynthesis } from '@vueuse/core' // ---cut--- useSpeechSynthesis({ lang: 'en-US', pitch: 1, rate: 1, volume: 1, }) ``` ## Type Declarations ```ts export type UseSpeechSynthesisStatus = "init" | "play" | "pause" | "end" export interface UseSpeechSynthesisOptions extends ConfigurableWindow { /** * Language for SpeechSynthesis * * @default 'en-US' */ lang?: MaybeRefOrGetter /** * Gets and sets the pitch at which the utterance will be spoken at. * * @default 1 */ pitch?: MaybeRefOrGetter /** * Gets and sets the speed at which the utterance will be spoken at. * * @default 1 */ rate?: MaybeRefOrGetter /** * Gets and sets the voice that will be used to speak the utterance. */ voice?: MaybeRef /** * Gets and sets the volume that the utterance will be spoken at. * * @default 1 */ volume?: MaybeRefOrGetter /** * Callback function that is called when the boundary event is triggered. */ onBoundary?: (event: SpeechSynthesisEvent) => void } /** * Reactive SpeechSynthesis. * * @see https://vueuse.org/useSpeechSynthesis * @see https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis SpeechSynthesis */ export declare function useSpeechSynthesis( text: MaybeRefOrGetter, options?: UseSpeechSynthesisOptions, ): { isSupported: ComputedRef isPlaying: ShallowRef status: ShallowRef utterance: ComputedRef error: ShallowRef< SpeechSynthesisErrorEvent | undefined, SpeechSynthesisErrorEvent | undefined > stop: () => void toggle: (value?: boolean) => void speak: () => void } export type UseSpeechSynthesisReturn = ReturnType ```