3个不稳定版本
0.1.1 | 2020年12月25日 |
---|---|
0.1.0 | 2020年8月4日 |
0.0.2 | 2020年6月30日 |
#256 in 音频
770KB
10K SLoC
声音板
跨平台桌面应用程序,可让您在音频/视频会议中增添色彩
更多截图
功能(Rust功能名:rfm)
- 播放本地和远程声音到您的麦克风和输出设备
- 支持的编解码器
- mp3(rfm:mp3)
- flac(rfm:flac)
- wav(rfm:wav)
- vorbis(rfm:vorbis)
- opus(rfm:opus)
- xm(rfm:xm,非默认)
- 支持的来源(底部有配置示例)
- 本地(文件)
- http
- tts(rfm:文本到语音)
- spotify(rfm:spotify)
- youtube
- 支持的编解码器
- 全局快捷键
- 所有声音的默认
stop-hotkey
为CTRL-ALT-E
- 所有声音的默认
- 网络用户界面和http api(rfm:http)
- 默认套接字地址:
127.0.0.1:8080
- 默认套接字地址:
- 文本用户界面(rfm:textui)
- 本地图形用户界面(rfm:gui,非默认)
- 第一版。网络用户界面更简洁,性能更好。
- telegram bot(rfm:telegram,非默认)
- 您需要创建一个机器人,然后指定您的
telegram-token
- 您需要创建一个机器人,然后指定您的
- pulse audio中的回环设备自动处理(rfm:auto-loop,非默认)
配置、环境和命令行选项
- 您可以通过配置文件
soundboard.toml
、环境变量SB_<option>
或命令行--<option>
提供所有选项- 示例:
gui = true
或SB_GUI=true
或--gui=true
- 示例:
- 使用
--help
查看所有选项
安装
- 简单:从 https://github.com/gamebooster/soundboard/releases/ 下载编译后的发布包
- 或通过 cargo:
cargo install soundboard
(编译时间是一个咖啡休息时间)cargo install
需要的依赖项- Windows:PATH 中有
llvm
- Unix:
sudo apt-get install llvm autoconf libtool automake libpulse0 libgtk-3-dev
- Mac:
brew install llvm opus
- Windows:PATH 中有
- 创建至少包含一个音板的 soundboard 目录(以下为示例配置)
- 提供虚拟麦克风(以下为说明)
- (可选)将
youtube-dl
和mkvextract
添加到 PATH 变量或 soundboard 可执行文件旁边,以使用 YouTube 作为源 - (可选)通过参数、配置或环境变量提供
spotify-user
和spotify-pass
以使用 Spotify 作为源。您需要一个高级账户。
默认用法
- 运行
soundboard --print-possible-devices
- 运行
soundboard --loopback-device "<name>"
或将其放入配置文件- loopback-device 应该是已安装的虚拟输出设备名称
- 按热键或使用原生 GUI 或打开 Web UI https://127.0.0.1:3030
???
- 按
CTRL-C
退出或按窗口上的 x
在 Windows 上提供虚拟麦克风
- 从 https://download.vb-audio.com/Download_CABLE/VBCABLE_Driver_Pack43.zip 下载并安装 vb-audio 虚拟电缆
- 使用 loopback 设备启动 soundboard:
CABLE 输入
- 使用具有输入
CABLE 输出
的应用程序
在 Linux 上提供虚拟麦克风
- 创建并选择 loopback 设备
a. 使用标志 --auto-loop-device
b. 替代方案:输入命令pactl load-module module-null-sink sink_name=virtualSink
- 使用 loopback 设备启动 soundboard:
null sink
- 使用具有输入
Null Sink 的监视器
或SoundboadLoopbackDevice 的监视器
的应用程序
在 macOS 上提供虚拟麦克风
- 从 https://github.com/mattingalls/Soundflower/releases 下载并安装 soundflower 内核扩展
- 通过 Audio MIDI Setup 为 Soundflower(2ch)设置采样率:48000 Hz
- 使用 loopback 设备启动 soundboard:
Soundflower (2ch)
- 使用具有输入的应用程序:
Soundflower (2ch)
配置文件示例
soundboard.toml是可选的。soundboards目录是必需的。
配置搜索路径
{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'}}
示例配置文件预期的目录结构
soundboard.toml
soundboards/
favorites/
nicht-so-tief-rudiger.mp3
favorites.toml
myinstants_soundboard.toml
更多示例: https://github.com/gamebooster/soundboard/tree/master/soundboards
依赖项
~22–49MB
~850K SLoC