Nostalgic Piano Music

    say
    TypeScript icon, indicating that this package has built-in type declarations

    0.16.0 • Public • Published

    Installing say.js

    npm install say

    Usage

    // automatically pick platform
    const say = require('say')
     
    // or, override the platform
    const Say = require('say').Say
    const say = new Say('darwin' || 'win32' || 'linux')
     
    // Use default system voice and speed
    say.speak('Hello!')
     
    // Stop the text currently being spoken
    say.stop()
     
    // More complex example (with an OS X voice) and slow speed
    say.speak("What's up, dog?", 'Alex', 0.5)
     
    // Fire a callback once the text has completed being spoken
    say.speak("What's up, dog?", 'Good News', 1.0, (err) => {
      if (err) {
        return console.error(err)
      }
     
      console.log('Text has been spoken.')
    });
     
    // Export spoken audio to a WAV file
    say.export("I'm sorry, Dave.", 'Cellos', 0.75, 'hal.wav', (err) => {
      if (err) {
        return console.error(err)
      }
     
      console.log('Text has been saved to hal.wav.')
    })

    Methods

    Speak:

    • Speed: 1 = 100%, 0.5 = 50%, 2 = 200%, etc
    say.speak(text, voice || null, speed || null, callback || null)

    Export Audio:

    • MacOS / Windows Only
    • Speed: 1 = 100%, 0.5 = 50%, 2 = 200%, etc
    say.export(text, voice || null, speed || null, filename, callback || null)

    Stop Speaking:

    say.stop(callback || null)

    Get List of Installed Voice(s):

    say.getInstalledVoices(callback)

    Feature Matrix

    Unfortunately every feature isn't supported on every platform. PR's welcome!

    Platform Speak Export Stop Speed Voice List
    macOS 🚫
    Linux 🚫 🚫
    Windows

    macOS Notes

    Voices in macOS are associated with different localities. To a list of voices and their localities run the following command:

    say -v "?"

    As an example, the default voice is Alex and the voice used by Siri is Samantha.

    Windows Notes

    None.

    Linux Notes

    Linux support requires Festival. As far as I can tell there is no sane way to get a list of available voices. The only voice that seems to work is voice_kal_diphone, which seems to be the default anyway.

    The .export() method is not available.

    Try the following command to install Festival with a default voice:

    sudo apt-get install festival festvox-kallpc16k

    Requirements

    • Mac OS X (comes with say)
    • Linux with Festival installed
    • Windows (comes with SAPI.SpVoice)
      • Needs to have Powershell installed and available in $PATH (see issue #75)

    Keywords

    none

    Install

    npm i say

    DownloadsWeekly Downloads

    4,576

    Version

    0.16.0

    License

    MIT

    Unpacked Size

    16.4 kB

    Total Files

    11

    Last publish

    Collaborators

    • marak
    • tlhunter