An audio guide for destroying oracles in Destiny's Vault of Glass raid

Related tags

Audioprophet
Overview

prophet

An audio guide for destroying oracles in Destiny's Vault of Glass raid.

This project allows you to make any encounter with oracles without having to look at them when spawning. Lots of players can do this by ear-training but some are more proficent than others and there is always room for error. With prophet you can take a look at the order so you don't need to memorize and people with hearing loss no longer have a disadvantage in these encounters.

Installation

You'll need the latest release of the project and an audio source with the game. This can be a stream from YouTube, Discord, Twitch, the game itself, etc. This works best if you get the audio clean, without any voices or background noise.

The best way you can accomplish this is with VAC (Virtual Audio Cable) or VB-Cable. I have only tried the last one, but any solution that routes the audio to a microphone will work (even a microphone to speaker but be mindful of the noise).

Note: You can also make this work without installing VB-Cable with Steam Streaming Microphone (thanks u/ExcruciatinglyApt on reddit for the suggestion). Skip the installation and substitute the following indications: "CABLE Input" -> "Speakers (Steam Streaming Microphone)", "CABLE Input" -> "Microphone (Steam Streaming Microphone)"

To configure VB-Cable with Destiny 2 follow these steps:

  1. Reboot after installing and reset your microphone and speakers to your previous configuration (when installed it'll default to CABLE)
  2. Go to Settings -> System -> Sound

settings

  1. Click on App volume and device preferences

preferences

  1. Change the output of the application you want to monitor (usually Destiny 2) to "CABLE Input"/"Speakers (Steam Streaming Microphone)". It has to be running for it to appear.

preferences_2

Note: Make sure you choose the output of the application and select "CABLE Input (VB-Audio Virtual Cable)"/"Speakers (Steam Streaming Microphone)"

  1. Go back to the Sound settings and select Sound control panel on the right

sound control panel

  1. Select the Recording tab and right click on "CABLE Input"/"Speakers (Steam Streaming Microphone)" -> Properties.

properties

  1. Then go to the Listen tab and check the Listen to this device and then select where you want to hear the game (usually the default device). Note: If you are using the Steam method, change on the Advanced options tab the default format to "2 channels, 32 bits, 48000 Hz"

properties_2

All set and done! Now just open both executables (prophet.exe and interface.exe), select your input source ("CABLE Output" or "Microphone (Steam Streaming Microphone)") and go to an encounter in the raid. Be sure to wait around 20 seconds before starting the encounter for best performance. If you fail the oracles encounter it's better to reset the program just to be sure. For Atheon and Templar encounters isn't necessary.

Possible future improvements

  1. A way to route the application audio without external software.
  2. A webapp running locally to replace the interface so you can see the order in your smartphone if you don't have a second screen.
  3. Make some quality code adjustments to better organize and improve usability of it.
  4. Test some solutions for console players.

Thanks and good luck!

Notes

  • If running on Windows, you will need to run the following commands to get the audio package pyaudio installed correctly:
    pip install pipwin
    pipwin install pyaudio
    
Comments
  • Can only assign numerals in the JSON

    Can only assign numerals in the JSON

    Maybe I'm missing something but as of right now I'm only able to name the Oracles with numeral values in the JSON. My team uses L1-3, R1-3 and Mid as callouts. Would be awesome if I could use letters too. Awesome job otherwise tho

    opened by churchymayer 3
  • Allow shortcuts for encounter names

    Allow shortcuts for encounter names

    Using this with my clan (We LOVE it btw!). Someone had a suggestion to make the encounter commands easier to type quickly.

    • Added shortcuts for the encounter. t == templar, a == atheon
    • Made encounter name input case insensitive
    opened by mover5 2
  • Crash when selecting aethon encounter

    Crash when selecting aethon encounter

    Do you want to keep your preferred device (delete device.txt to reset preferences) y/n: n
    Choose your encounter file (templar/aethon): aethon
    Traceback (most recent call last):
    	File "main.pay", line 46, in <module>
    FileNotFoundError: [Errno 2] No such file or directory: 'C:\Desktop\prophet\\aethon.json'
    [15420] Failed to execute script main
    

    However... aethon.json is in the directory, and templar runs fine, so I'm not sure what causes it. Does not change if device is kept or not.

    opened by nitrousgranola 2
  • Crash when selecting encounter

    Crash when selecting encounter

    PS C:\Users\kylem\Desktop\prophet> .\prophet.exe
    Id  0  -  Microsoft Sound Mapper - Input
    Id  1  -  Alesis Multimix 4 (USB Audio CO
    Id  2  -  Headset Microphone (4- Arctis P
    Id  3  -  Headset Microphone (Oculus Virt
    Id  4  -  Microphone (Voicemod Virtual Au
    Id  5  -  Microphone (Steam Streaming Mic
    Id  6  -  Microsoft Sound Mapper - Output
    Id  7  -  Headphones (4- Arctis Pro Wirel
    Id  8  -  1 - Optix MAG27CQ (AMD High Def
    Id  9  -  Speakers (Steam Streaming Micro
    Id  10  -  Line (Voicemod Virtual Audio De
    Id  11  -  Headphones (Oculus Virtual Audi
    Id  12  -  Headset Earphone (4- Arctis Pro
    Id  13  -  Speakers (Steam Streaming Speak
    Id  14  -  Speakers (USB Audio CODEC )
    Choose your virtual device: 7
    Do you want to keep your preferred device (delete device.txt to reset preferences) y/n: n
    Choose your encounter file (templar/atheon): templar
    Traceback (most recent call last):
      File "main.py", line 54, in <module>
      File "pyaudio.py", line 750, in open
      File "pyaudio.py", line 441, in __init__
    OSError: [Errno -9998] Invalid number of channels
    [10940] Failed to execute script main```
    opened by Banshee786 2
  • Add .gitignore

    Add .gitignore

    Nothing major, just a couple helpful files for development. 👍

    Update: Since I cloned this, you added a requirements.txt, so that's obviously not helpful now. 🙂

    opened by dracco1993 1
  • Cant get program working.

    Cant get program working.

    I have been trying for a few hours to get the program working but it doesn't seem to be working, are there any video tutorials on how to set it up? because I find videos a lot easier to follow than text instructions.

    opened by Nicknamr 0
  • [Suggestion] loopback?

    [Suggestion] loopback?

    Not well versed in python or PyAudio but I know someone forked it to enable the WASAPI from versions > windows vista to enable loopback (record output devices). Could be used instead of the virtual signal routing to capture system sound.

    https://github.com/intxcc/pyaudio_portaudio

    opened by stornquist 1
Releases(v1.0.1)
cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding for Python

audioread Decode audio files using whichever backend is available. The library currently supports: Gstreamer via PyGObject. Core Audio on Mac OS X via

beetbox 419 Dec 26, 2022
A Quick Music Player Made Fully in Python

Quick Music Player Made Fully In Python. Pure Python, cross platform, single function module with no dependencies for playing sounds. Installation & S

1 Dec 24, 2021
Simple discord bot by @merive 🤖

Parzibot Powerful and Useful Discord Bot on Python. The source code of the bot is available to everyone. Parzibot uses English language. This is free

merive_ 3 Dec 28, 2022
music library manager and MusicBrainz tagger

beets Beets is the media library management system for obsessive music geeks. The purpose of beets is to get your music collection right once and for

beetbox 11.3k Dec 31, 2022
Speech recognition module for Python, supporting several engines and APIs, online and offline.

SpeechRecognition Library for performing speech recognition, with support for several engines and APIs, online and offline. Speech recognition engine/

Anthony Zhang 6.7k Jan 08, 2023
The project aims to develop a personal-assistant for Windows & Linux-based systems

The project aims to develop a personal-assistant for Windows & Linux-based systems. Samiksha draws its inspiration from virtual assistants like Cortana for Windows, and Siri for iOS. It has been desi

SHUBHANSHU RAI 1 Jan 16, 2022
Audio spatialization over WebRTC and JACK Audio Connection Kit

Audio spatialization over WebRTC Spatify provides a framework for building multichannel installations using WebRTC.

Bruno Gola 34 Jun 29, 2022
Python library for handling audio datasets.

AUDIOMATE Audiomate is a library for easy access to audio datasets. It provides the datastructures for accessing/loading different datasets in a gener

Matthias 121 Nov 27, 2022
L-SpEx: Localized Target Speaker Extraction

L-SpEx: Localized Target Speaker Extraction The data configuration and simulation of L-SpEx. The code scripts will be released in the future. Data Gen

Meng Ge 20 Jan 02, 2023
Music player - endlessly plays your music

Music player First, if you wonder about what is supposed to be a music player or what makes a music player different from a simple media player, read

Albert Zeyer 482 Dec 19, 2022
kapre: Keras Audio Preprocessors

Kapre Keras Audio Preprocessors - compute STFT, ISTFT, Melspectrogram, and others on GPU real-time. Tested on Python 3.6 and 3.7 Why Kapre? vs. Pre-co

Keunwoo Choi 867 Dec 29, 2022
Delta TTA(Text To Audio) SoftWare

Text-To-Audio-Windows Delta TTA(Text To Audio) SoftWare Info You Can Use It For Convert Your Text To Audio File You Just Write Your Text And Your End

Delta Inc. 2 Dec 14, 2021
Frescobaldi LilyPond Editor

README for Frescobaldi Homepage: http://www.frescobaldi.org/ Main author: Wilbert Berendsen Frescobaldi is a LilyPond sheet music text editor. It aims

Frescobaldi 600 Dec 29, 2022
Audio2midi - Automatic Audio-to-symbolic Arrangement

Automatic Audio-to-symbolic Arrangement This is the repository of the project "A

Ziyu Wang 24 Dec 05, 2022
IDing the songs played on the do you radio show

IDing the songs played on the do you radio show

Rasmus Jones 36 Nov 15, 2022
❤️ This Is The EzilaXMusicPlayer Advaced Repo 🎵

Telegram EzilaXMusicPlayer Bot 🎵 A bot that can play music on telegram group's voice Chat ❤️ Requirements 📝 FFmpeg NodeJS nodesource.com Python 3.7+

Sadew Jayasekara 11 Nov 12, 2022
Any-to-any voice conversion using synthetic specific-speaker speeches as intermedium features

MediumVC MediumVC is an utterance-level method towards any-to-any VC. Before that, we propose SingleVC to perform A2O tasks(Xi → Ŷi) , Xi means utter

谷下雨 47 Dec 25, 2022
[Singing Log] Let your program learn to sing!

[Singing Log] Let your program learn to sing! You must have thought this was changelog when you saw the English title, but it's not, it's chànggēlog. What it does is allow your program to print logs

黄巍 22 Sep 03, 2022
Open-Source bot to play songs in your Telegram's Group Voice Chat. Powered by @Akki_ThePro

VcPlayer Telegram Voice-Chat Bot [PyTGCalls] ⇝ Requirements ⇜ Account requirements A Telegram account to use as the music bot, You cannot use regular

Akki ThePro 2 Dec 25, 2021
Voice to Text using Raspberry Pi

This module will help to convert your voice (speech) into text using Speech Recognition Library. You can control the devices or you can perform the desired tasks by the word recognition

Raspberry_Pi Pakistan 2 Dec 15, 2021