Skip to content

Latest commit

 

History

History
79 lines (56 loc) · 2.24 KB

File metadata and controls

79 lines (56 loc) · 2.24 KB

Discord.js Speech Transcriber

This transcriber was made for speech to text in discord voice calls. It uses wit.ai.

Preparation

To use the tool you need

Installation

Simply run

npm install discord-text-to-speech

Happy coding!

Usage

First, you need to import the module and create a Transcriber instance with your API key as shown here:

const Transcriber = require("discord-speech-to-text");

const transcriber = new Transcriber(WITAIKEY);

Next you have to join the voice channel with you Discord bot and apply the transcriber when someone says something.

Important: When you create your client object, you have to give it the GUILD_VOICE_STATES intent! Like this: const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_VOICE_STATES] });

let channel = interaction.member.guild.channels.cache.get(interaction.member.voice.channel.id);
const connection = joinVoiceChannel({
  channelId: channel.id,
  guildId: channel.guild.id,
  adapterCreator: channel.guild.voiceAdapterCreator,
  selfDeaf: false,
  selfMute: false
});
connection.receiver.speaking.on("start", (userId) => {
  transcriber.listen(connection.receiver, userId, client.users.cache.get(userId)).then((data) => {
    if (!data.transcript.text) return;
    let text = data.transcript.text;
    let user = data.user;
  });
});

Have Fun!

Example

An example is available as a basic Discord music bot with voice commands. GitHub

API

.listen(AudioReceiver, userId, user)

Parameter:

  • AudioReceiver type VoiceReceiver
  • userId type String; Id of the user who has to be listened to
  • user type User; Userobject of the user

Returns:

  • Promise resolving into Object:
{
  transcript: {
    text: "text" // other values by wit.ai like natural language-processing values are stored here too
  },
  user: <User>
}