TS3Soundboard Plugin

Looking for a bot? Header over to the SinusBot Website.

Features

  • integrated minimal web-interface
  • ingame buttons via Overwolf
  • Listen to music with your friends, make funny noises & such
  • Plays mp3, wave, ogg, aiff files; also play aac/m4a and flac files via plugins.
  • Plays shoutcast/icecast streams or files directly via http
  • Sync to Winamp (using playlists) - Windows only
  • Remote-Control via passworded commands
  • Remote-Control via UDP messages
  • Adjust the pitch of your voice (e.g. sound like a chipmunk or ogre)
  • doesn't require additional 3rd-party tools
  • doesn't require a dedicated TeamSpeak instance
  • works on Windows, Linux & Mac
  • new: brings a dummy device for machines without soundcards
  • new: build a bot on your linux server and control it via a simple web-frontend (follow the guide below)
  • it's free, however: donations are always appreciated (see the button on the upper right)

Installation

Warning: If you don't follow this guide carefully, either you or the people on the channel might not be able to hear you, the sound or sound will only work when you're talking, or or or... So make sure you did all the steps before you start moaning ;)
  1. Download the appropriate version for your system and double-click it. The TeamSpeak Plugin Installer will jump in and guide you through initial installation. (if it does not, please see the FAQ)
  2. Start TeamSpeak.
  3. Follow the instructions in the video below (make sure to completely get the hotkey-part right; I apologize for the inconvenience, but currently there is no other way than setting it up this way).
  4. Alternatively (to the video) follow these steps (corresponding to your TS setup (Push-To-Talk/Voice Activation Detection)):

    Push-to-talk
    • make sure the plugin is enabled in TeamSpeak (Settings > Plugins)
    • open TeamSpeaks Options (Settings -> Options)
    • click Capture on the left, then select Push-To-Talk on the right
    • assign a new hotkey to Push-To-Talk that you will never need to use (this is really important - and yes, your normal key will work again when you complete this setup!).
    • after you've assigned a new key to the Push-To-Talk function, click Hotkeys on the left
    • click "Add" to add a new hotkey
    • in the "Hotkey Setup Dialog", choose On key down
    • assign your real Push-To-Talk key by clicking on No Hotkey Assigned
    • click Show advanced Actions at the bottom of the dialog
    • in the Search...-field enter Push and select Plugins > Plugin Hotkey > soundboard > Push (you have to expand the entries step by step by clicking the little triangle next to "Plugins" and so on)
    • click OK to save the new hotkey
    • now click "Add" again to add another hotkey (actually, we'll be adding the same one, but this time we'll make it react to the On key release action)
    • in the "Hotkey Setup Dialog", choose On key release (THIS IS VERY IMPORTANT)
    • assign your real Push-To-Talk key again
    • click Show advanced Actions again
    • this time search for Release and select Plugins > Plugin Hotkey > soundboard > Release
    • click OK to save the new hotkey
    • click Apply, then OK to save your new settings
    VAD (Voice Activation Detection)
    • make sure the plugin is enabled in TeamSpeak (Settings > Plugins)
    • open TeamSpeaks Options (Settings -> Options)
    • click Capture on the left, then select Push-To-Talk on the right
    • assign a new hotkey to Push-To-Talk that you will never need to use (this is really important - and yes, I know you wanted VAD - that's what you will get).
    • save your changes by clicking Apply and OK
    • open the plugins' options dialog by clicking Plugins > Soundboard > Configure...
    • in the "Audio"-tab, check Enable Voice Activity Detection (VAD)
  5. Continue reading at Setup.

Setup

After your're done with the installation steps, let's setup the actual Soundboard. To make it show up, go to Plugins > Soundboard > Configure... to adjust the plugins' settings to your needs. However, the default configuration should already serve most of what you need.

On to the button board!

The actual Soundboard

Right-click any of the buttons to assign files, change the type of the button or configure the whole frame. If you want to keep it simple, just drag&drop a file onto each button (this will only work on windows if you installed TeamSpeak via the "only for me"-option).

When you now click the button, it plays the assigned file back to you and the channel you're in. You might want to adjust the volume for local or send (that's what everyone besides you hears) playback so that everyone is comfortable with it.

FAQ - Frequently Asked Questions

I've downloaded the plugin, but when I open the file either nothing happens or I get an error.
The plugin is usually installed via the TeamSpeak official plugin installation tool - if you get an error, it probably means that that tool doesn't work. Please try to reinstall TeamSpeak and if that doesn't help, rename the downloaded file so that it ends with .zip and extract its contents to TeamSpeaks plugin path. On Windows, this is usually C:\Program Files\TeamSpeak 3 Client\Plugins, on Mac it's /Applications/TeamSpeak 3 Client.app/Content/SharedSupport/plugins.
I've downloaded the plugin, but when I open the file, it gets opened with WinRAR, Winzip or such...
Some browsers rename the extensions of the files you download if they can determine, what filetype the file is; if the filename ends with .zip, rename it, so that it ends with .ts3_plugin and double-click it manually. If that doesn't help, follow the steps above.
I'm using Voice Activity Detection and others can hear the sound only when I speak.
You probably still have TeamSpeak itself configured to use VAD - given the way the plugin works, this will not work. Instead activate VAD inside Soundboards' plugin settings and set your TS to use Push-to-talk (yes, really).
After I used the soundboard, noone can here me or just some random/static noise. Why?
You're probably using Push-To-Talk and havent's setup everything like explained. Please follow the setup guide more carefully and everything should work just fine.
How can I bind my buttons to hotkeys so I can use my keyboard to control them?
Right click the button and choose Set hotkey... to bind a key. Alternatively open the TeamSpeak settings and add a hotkey, bind it to "plugin command" and enter /soundboard button 1 for the first button and/or exchange 1 with whatever button you want assign that key to. The hotkeys section in the options of TeamSpeak is the right place where you can delete hotkeys afterwards.
What commands are there that I can bind hotkeys to or enter in the chat?
/soundboard stop stop music directly /soundboard fadeout stop music slowly, decreasing volume /soundboard sound <file> play a sound file /soundboard music <file> play a music file /soundboard stream <url> stream an url from the internet /soundboard show display the soundboard buttons /soundboard push send voice /soundboard release stop sending voice /soundboard button <buttonNumber> play a specific button /soundboard enablevad enable voice activity detection /soundboard disablevad disable voice activity detection /soundboard volumeup increase both local and remote volume /soundboard volumeup local increase local volume /soundboard volumeup remote increase remote volume /soundboard volumedown decrease both local and remote volume /soundboard volumedown local decrease local volume /soundboard volumedown remote decrease remote volume /soundboard volume <volume> set both volumes to a value between 0 and 100 /soundboard volume <volume> local set local volume to a value between 0 and 100 /soundboard volume <volume> remote set remote volume to a value between 0 and 100
I've enabled sync and remote control, now how do I remote control the bot from another TeamSpeak client?
Please note that EVERY command except button works only when synchronizing with Winamp on Windows. The commands have to be sent as private messages to the client running the plugin (the "bot") and all commands HAVE to start with the chosen password - like
my_secret_password play
. play start playback stop stop playback pause pause / resume playback next jump to next track prev jump back to previous track shuffle toggle shuffle button <number> playback a specific button (starting with 1) track <number> select a specific track in the playlist request <number> select and play specific track in the playlist info <number> get information about a track in the playlist
How can I get the best possible quality?
Always choose the Opus codec in music mode - but also keep in mind that this will increase bandwidths for every one in the channel. (Make sure you're using at least version 0.9.9.2b)
How can i play aac/m4a and flac-Files?
Notice: Instead of using the follwing plugins, you can enable the VLC functionality which enables even more file formats (see below).
Those codecs are supported but not integrated into the plugin itself; however, you can download plugins for the system you're using and Soundboard will be able to play such files afterwards.
Copy the file bassflac/bassflac.dll (*.flac) or bass_aac.dll (*.aac/*.m4a) from the downloaded archive to your <TS3Client>/plugins/bass folder and restart TeamSpeak. The archive should contain both 32 and 64 bit dlls.
You mentioned VLC and YouTube!?
If you've installed VLC in the corresponding version of your TeamSpeak (and so far only 64bit on Windows, Linux and Mac are supported), you can setup the plugin so that it uses VLC to playback even more file formats (which includes videofiles - of course you can only stream the audio from such files - and even YouTube links). The settings can be found in the advanced-tab of the plugins' configuration. This will be clarified more soon.
Can I use the plugin with Spotify, Pandora or such?
Sorry, you can not. Theres some encryption going on with such services so that direct file access is impossible. Update: actually there might be a chance that Spotify (but nothing else) is going to work.
My microphone & speakers don't work anymore - or: all my playback devices are gone and there's only a dummy device from the plugin there - help!
There seems to be a common problem when TS enables the dummy device by default. However: your devices aren't gone, they're just listed in a different category than "custom". So make sure you select the appropriate category as "Playback mode" to see all your devices again. I hope this gets fixed in the future so people don't get confused with this anymore. This problem should be fixed in the latest experimental release.
I need more buttons - how can I get them?
Right click an existing button, choose "Soundboard settings" -> "Number of buttons" / "Number of buttons per row" and set it to the number you want.
What's up with the weird "sound" and "music" distinction? or: how do I stop the music?
The plugin handles files differently via this option; while many sound-files can be played concurrently, only one music-file at a time is allowed. Also: music-files can be stopped, sound-files can't. So really use "sound" for short samples you want to playback in between music or quickly after one another and "music" when you really play back music.
Where are Soundboards config file located?
This depends on your system; on Windows you can find them usually in C:\Users\<Username>\AppData\Roaming\TeamSpeak 3 Client\, on Mac they are in ~/Library/Application Support/TeamSpeak 3/.
I've read that you can control the plugin via UDP, how do I do it?
This feature might be removed in one of the next releases in favor of a more generic http-interface.
This feature has to be activated by manually editing the plugins' config file. In Section [general] add the following options:
enableUDP=true
udpListen=19111
udpNotify=19112
Restart TeamSpeak. This makes the plugin listen for commands on port 19111 and send responses to port 19112, both localhost (as a precaution).
Commands can then be sent as /music <path_to_file> and such.
Notification for now will only be a "finished", after a music-file finished playback.

Guide: Bot on Ubuntu 12.04 LTS (64bit)

This guide will show you a quick and easy way to setup a Bot with Soundboard that plays music from a server. It requires some basic linux knowledge. This will only work with version 0.9.9.2b and above.

click here to continue reading...

First, install all required dependencies: sudo apt-get install psmisc vnc4server fluxbox twm unzip wget xterm

Run vncpassword and choose a new (hopefully secure) password vncpasswd

Run vncserver once and kill it. vncserver killall Xvnc4

Edit the startup script of vncserver nano ~/.vnc/xstartup to match the following #!/bin/sh # Uncomment the following two lines for normal desktop: # unset SESSION_MANAGER # exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & fluxbox & Save the file via CTRL+O, enter and close nano via CTRL+X.

Download TeamSpeak Client for Linux to your current path (you get the download-link on the last page after the survey - right click and copy that link) wget http://url_to_teamspeak_client

Install it by running chmod 0755 TeamSpeak3-Client-linux_amd64-3.0.10.1.run ./TeamSpeak3-Client-linux_amd64-3.0.10.1.run and following the instructions.

Now get the plugin and install it as well cd TeamSpeak3-Client-linux_amd64 wget http://www.kampfrausch.de/ts3/soundboard-0.9.9.6b-linux-amd64.ts3_plugin mv soundboard-0.9.9.6b-linux-amd64.ts3_plugin soundboard-0.9.9.6b-linux-amd64.zip unzip soundboard-0.9.9.6b-linux-amd64.zip -x package.ini

Now start the vncserver again vncserver

Get yourself a vnc client like tightvnc and connect to your server with its IP-address and the password you just configured.

When you see an empty linux desktop now: Congratulations! The hardest part is done.

Right-click the desktop and launch a bash Applications -> Shells -> bash

Run the TeamSpeak Client cd TeamSpeak3-Client-linux_amd64 ./ts3client_runscript.sh

Check your basic configuration (making sure Push-To-Talk is active), set your capture and playback devices to "Soundboard" and you're ready to go.

If you only want to stream some kind of webradio you're probably fine right now. If you want to dig deeper and actually get some more control over your bot, you should read the guide about how to remote control it via UDP or build/get a nice Web-Frontend (like the example one over here).

Roadmap

  • Soundboard-Sets; make sets loadable by hotkeys

Got ideas? Let me know by submitting them at the TS3 forums or in the comments below!

Changelog

Changes in v1.0b5 (Sep 28th, 2014)

  • enh: remember last directory when adding files
  • feat(playlist): previous / next button
  • feat(http): playlist-access
  • feat(http): settings-access
  • cleanup / other minor improvements

Changes in v1.0b4 (Sep 24th, 2014)

  • fix: VoiceFX did not work properly in a few cases, this has been fixed now (again thanks to Emre Kara)

Changes in v1.0b3 (Sep 23rd, 2014)

  • general: updates to bass sound library; fixes crashes regarding voicefx and some other cases (thanks to Emre Kara)
  • feature: volumes for remote and local playback can now be synchronized
  • enh: better web-interface
  • stability improvements

Changes in v1.0b2 (Sep 17th, 2014)

  • playlist: added slider for seeking in tracks
  • playlist: fixed a bug that appeared sometimes when saving playlists
  • feature: added minimal web-interface for remote-controlling the buttons / playlist
  • stability improvements

Changes in v1.0b1 (Sep 15th, 2014)

  • libvlc: if enabled, allows more filetypes to be selected (like movies & such) (thanks J2ghz)
  • libvlc: fixed a bug that prevented the playlist to progress
  • localization: added general localization support
  • localization: added german language
  • replaced some icons

Changes in v0.9.9.9o (Sep 13th, 2014)

  • This version is required for the Overwolf Ingame-Overlay
  • feature: minimal http-server for remote-controlling playback
  • smaller bugfixes in qt-styles

click here to see older entries...

Credits

The plugin itself is © 2011-2015 Michael Friese.

It uses the great BASS 2.4 library that is © 1999-2010 Un4Seen Developments Ltd.

TeamSpeak is © 2010 TeamSpeak Systems GmbH.

The author of this plugin is not affiliated in any way with TeamSpeak Systems GmbH.

Download

Version 1.2 (new)
APIv23, TS 3.2+
Windows 64bit
Version 1.1b1
APIv21, TS 3.1+, use latest beta
Windows 32bit, 64bit
Version 1.0b5 - what is new
APIv20, TS 3.0.16+, Overwolf compatible
Windows 32bit, 64bit
Mac 64bit for Beta 3.0.18
Linux 32bit, 64bit

Help

Please read the FAQ, it covers a lot of common issues. There is also a more detailed guide available here.