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

Related tags

Audio prophet
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)
Owner
null
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
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 359 Feb 15, 2021
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
Audio augmentations library for PyTorch for audio in the time-domain

Audio augmentations library for PyTorch for audio in the time-domain, with support for stochastic data augmentations as used often in self-supervised / contrastive learning.

Janne 166 Jan 8, 2023
praudio provides audio preprocessing framework for Deep Learning audio applications

praudio provides objects and a script for performing complex preprocessing operations on entire audio datasets with one command.

Valerio Velardo 105 Dec 26, 2022
convert-to-opus-cli is a Python CLI program for converting audio files to opus audio format.

convert-to-opus-cli convert-to-opus-cli is a Python CLI program for converting audio files to opus audio format. Installation Must have installed ffmp

null 4 Dec 21, 2022
Guide & Examples to create deeplearning gstreamer plugins and use them in your pipeline

upai-gst-dl-plugins Guide & Examples to create deeplearning gstreamer plugins and use them in your pipeline Introduction Thanks to the work done by @j

UPAI.IO 11 Dec 11, 2022
Audio fingerprinting and recognition in Python

dejavu Audio fingerprinting and recognition algorithm implemented in Python, see the explanation here: How it works Dejavu can memorize audio by liste

Will Drevo 6k Jan 6, 2023
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
Python library for audio and music analysis

librosa A python package for music and audio analysis. Documentation See https://librosa.org/doc/ for a complete reference manual and introductory tut

librosa 5.6k Jan 6, 2023
?️ Open Source Audio Matching and Mastering

Matching + Mastering = ❤️ Matchering 2.0 is a novel Containerized Web Application and Python Library for audio matching and mastering. It follows a si

Sergey Grishakov 781 Jan 5, 2023
Python Audio Analysis Library: Feature Extraction, Classification, Segmentation and Applications

A Python library for audio feature extraction, classification, segmentation and applications This doc contains general info. Click here for the comple

Theodoros Giannakopoulos 5.1k Jan 2, 2023
Manipulate audio with a simple and easy high level interface

Pydub Pydub lets you do stuff to audio in a way that isn't stupid. Stuff you might be looking for: Installing Pydub API Documentation Dependencies Pla

James Robert 6.6k Jan 1, 2023
Scalable audio processing framework written in Python with a RESTful API

TimeSide : scalable audio processing framework and server written in Python TimeSide is a python framework enabling low and high level audio analysis,

Parisson 340 Jan 4, 2023
Python module for handling audio metadata

Mutagen is a Python module to handle audio metadata. It supports ASF, FLAC, MP4, Monkey's Audio, MP3, Musepack, Ogg Opus, Ogg FLAC, Ogg Speex, Ogg The

Quod Libet 1.1k Dec 31, 2022
Python I/O for STEM audio files

stempeg = stems + ffmpeg Python package to read and write STEM audio files. Technically, stems are audio containers that combine multiple audio stream

Fabian-Robert Stöter 72 Dec 23, 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
An audio digital processing toolbox based on a workflow/pipeline principle

AudioTK Audio ToolKit is a set of audio filters. It helps assembling workflows for specific audio processing workloads. The audio workflow is split in

Matthieu Brucher 238 Oct 18, 2022
Pyroomacoustics is a package for audio signal processing for indoor applications. It was developed as a fast prototyping platform for beamforming algorithms in indoor scenarios.

Summary Pyroomacoustics is a software package aimed at the rapid development and testing of audio array processing algorithms. The content of the pack

Audiovisual Communications Laboratory 1k Jan 9, 2023