All Projects → gamebooster → soundboard

gamebooster / soundboard

Licence: AGPL-3.0 license
cross-platform desktop application to spice up your audio/video conferences

Programming Languages

rust
11053 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to soundboard

esmBot-legacy
Discord bot with mostly entertainment functions (legacy version)
Stars: ✭ 16 (-68%)
Mutual labels:  fun, soundboard
Chromecast
Chromecast desktop app: Node.js, Electron, React & Material-UI.
Stars: ✭ 49 (-2%)
Mutual labels:  desktop
recaptcha-unpaid-labor
Make ReCaptcha's "I'm not a robot" text more accurate
Stars: ✭ 15 (-70%)
Mutual labels:  fun
komorebi
A beautiful and customizable wallpaper manager for Linux
Stars: ✭ 231 (+362%)
Mutual labels:  desktop
Atlas
An extensible 3D GIS application for visualization, analysis and research.
Stars: ✭ 113 (+126%)
Mutual labels:  desktop
FunVideo
A series of embeddable theme into video, include animation and voice.
Stars: ✭ 19 (-62%)
Mutual labels:  fun
find the letter material design
litterature game made using javaFX and FXML, small collaboration, the game is about finding the missing letters from a word using different hints (an image, incomplete word..etc).
Stars: ✭ 21 (-58%)
Mutual labels:  desktop
perseverance-parachute-generator
Generate your own Perseverance parachute-style secret codes!
Stars: ✭ 17 (-66%)
Mutual labels:  fun
crazy-canvas
Simple canvas playground
Stars: ✭ 12 (-76%)
Mutual labels:  fun
desktop-application
Electron-based desktop time tracker for Cattr
Stars: ✭ 38 (-24%)
Mutual labels:  desktop
concats
🔨 Desktop app to output a single-column csv file of rows of concatenated fields from an input csv or tsv file.
Stars: ✭ 20 (-60%)
Mutual labels:  desktop
LAF
Linux Application Firewall
Stars: ✭ 8 (-84%)
Mutual labels:  desktop
bevy retrograde
Plugin pack for making 2D games with Bevy
Stars: ✭ 212 (+324%)
Mutual labels:  desktop
construct
A reactive graphical symbolic environment for PicoLisp
Stars: ✭ 29 (-42%)
Mutual labels:  desktop
plexydesk
Lightweight Desktop Manager for Gnu/Linux and FreeBSD - Ideal for Low resource computers
Stars: ✭ 33 (-34%)
Mutual labels:  desktop
fotowall
Pictures collage & creativity tool
Stars: ✭ 92 (+84%)
Mutual labels:  desktop
atom-play-piano
In atom, piano notes are played as you code... amazing !
Stars: ✭ 29 (-42%)
Mutual labels:  fun
ubuntu-vnc-xfce-g3
Headless Ubuntu/Xfce containers with VNC/noVNC (Generation 3)
Stars: ✭ 83 (+66%)
Mutual labels:  desktop
Wallpapers
a collection of my best wallpapers
Stars: ✭ 118 (+136%)
Mutual labels:  desktop
extreme-carpaccio
Slicing and coding game
Stars: ✭ 116 (+132%)
Mutual labels:  fun

soundboard

cratesio BuildDebug BuildRelease

cross-platform desktop application to spice up your audio/video conferences

nativeui

(screenshot is out of date but captures the essence.)
More screenshots

webui telegramtextui gui

webui, telegram-bot, textui and gui

features (rust feature name: rfm)

  • play local and remote sounds to your microphone and output device
    • supported codecs
      • mp3 (rfm: mp3)
      • flac (rfm: flac)
      • wav (rfm: wav)
      • vorbis (rfm: vorbis)
      • opus (rfm: opus)
      • xm (rfm: xm, non-default)
    • supported sources (config example at the bottom):
      • local (files)
      • http
      • tts (rfm: text-to-speech)
      • spotify (rfm: spotify)
      • youtube
  • global hotkeys
    • default stop-hotkey for all sounds is CTRL-ALT-E
  • web user interface and http api (rfm: http)
    • default socket addr: 127.0.0.1:8080
  • text user interface (rfm: textui)
  • native graphical user interface (rfm: gui, non-default)
    • First iteration. The web user interface is slicker and performs better.
  • telegram bot (rfm: telegram, non-default)
    • you need to create a bot and then specify your telegram-token
  • automatic handling of loopback device in pulse audio (rfm: auto-loop, non-default)

config, env and command line options

  • you can provide all options via the config file soundboard.toml, env variables SB_<option> or via the command line --<option>
    • example: gui = true or SB_GUI=true or --gui=true
  • use --help to see all options

install

  • simple: download compiled release package from https://github.com/gamebooster/soundboard/releases/
  • or via cargo: cargo install soundboard (compile time is a coffee break)
    • cargo install needed dependencies:
      • windows: llvm in PATH
      • unix: sudo apt-get install llvm autoconf libtool automake libpulse0 libgtk-3-dev libclang-dev
      • mac: brew install llvm opus
    • create soundboards directory with at least one soundboard (see below for example config)
  1. provide virtual microphone (instructions below)
  2. (optional) add youtube-dl and mkvextract to PATH variable or besides the soundboard executable to use youtube as source
  3. (optional) provide spotify-user and spotify-pass via args, config, or env to use spotify as source. You need a premium account.

default usage

  1. run soundboard --print-possible-devices
  2. run soundboard --loopback-device "<name>" or put in config file
    • loopback-device should be the installed virtual output device name
  3. Press hotkeys or use native gui or open web ui http://localhost:3030
  4. ???
  5. Press CTRL-C to exit or press x on window

providing virtual microphone on windows

  1. download and install vb-audio virtual cable from https://download.vb-audio.com/Download_CABLE/VBCABLE_Driver_Pack43.zip
  2. start soundboard with loopback device CABLE Input
  3. use applications with input CABLE Output

providing virtual microphone on linux

  1. create and choose loopback device
    a. use flag --auto-loop-device
    b. alternative: enter command pactl load-module module-null-sink sink_name=virtualSink
  2. start soundboard with loopback device null sink
  3. use applications with input Monitor of Null Sink or Monitor of SoundboadLoopbackDevice

providing virtual microphone on macos

  1. download and install soundflower kernel extension from https://github.com/mattingalls/Soundflower/releases
  2. set sample rate via Audio MIDI Setup for Soundflower (2ch) to 48000 hz
  3. start soundboard with loopback device: Soundflower (2ch)
  4. use applications with input: Soundflower (2ch)

config file example

soundboard.toml is optional. soundboards directory is mandatory.

config search path:

{soundboard exe location}
$XDG_CONFIG_HOME/soundboard/
$HOME/.config/soundboard/
$HOME/.soundboard/
soundboard.toml
# input_device = "Mikrofonarray (Realtek High Definition Audio(SST))" # optional else default device
# output_device = "Speaker/HP (Realtek High Definition Audio(SST))" # optional else default device
loopback_device = "CABLE Input (VB-Audio Virtual Cable)" # required: change to your virtual loopback output

stop_hotkey = "CTRL-ALT-E" # stop all sound
soundboards/favorites.toml
name = 'favorites'
position = 0 # always position ahead of other soundboards

[[sound]]
name = 'steam incoming'
source = {http = {url = 'https://www.myinstants.com/media/sounds/message_2.mp3'}}

[[sound]]
hotkey = 'CTRL-P'
name = 'Nicht so tief, Rüdiger!'
source = {local = {path = 'nicht-so-tief-rudiger.mp3'}}

[[sound]]
end = 10.5 # end sound timestamp, supported for all sources
name = "Sound of Silence"
source = {spotify = {id = "5y788ya4NvwhBznoDIcXwK"}}
start = 2 # start sound timestamp, supported for all sources

[[sound]]
end = 18.5
name = "dreams"
source = {youtube = {id = "ZXsQAXx_ao0"}}
start = 14

[[sound]]
end = 58
name = "tired"
source = {youtube = {id = "ZXsQAXx_ao0"}}
start = 53

[[sound]]
name = '''Looks Like You're F'd'''
source = {http = {url = 'https://www.soundboard.com/handler/playTrack.ashx?id=893190', headers = [{name = 'referer', value = 'https://www.soundboard.com/'}]}}

[[sound]]
name = "Hello World"
source = {tts = {ssml = '''
<speak>
Hello World!
</speak>
''', lang = "en-GB"}}
soundboards/myinstants_soundboard.toml
name = "Myinstants.com"

[[sound]]
name = 'Falcon Punch'
source = {http = {url = 'https://www.myinstants.com//media/sounds/falconpunch.swf.mp3'}}

[[sound]]
name = 'Knaller'
source = {http = {url = 'https://www.myinstants.com//media/sounds/videoplayback-2-online-audio-converter.mp3'}}
expected directory structure for example config files
soundboard.toml
soundboards/
  favorites/
    nicht-so-tief-rudiger.mp3
  favorites.toml
  myinstants_soundboard.toml

For more examples: https://github.com/gamebooster/soundboard/tree/master/soundboards

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].