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)
Converting UGG files from Rode Wireless Go II transmitters (unsompressed recordings) to WAV format

Rode_WirelessGoII_UGG2wav Converting UGG files from Rode Wireless Go II transmitters (uncompressed recordings) to WAV format Story I backuped the .ugg

Ján Mazanec 31 Dec 22, 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
Enhanced Audio Player for Discord

Discodo is an enhanced audio player for discord

Mary 42 Oct 05, 2022
Multi-Track Music Generation with the Transfomer and the Johann Sebastian Bach Chorales dataset

MMM: Exploring Conditional Multi-Track Music Generation with the Transformer and the Johann Sebastian Bach Chorales Dataset. Implementation of the pap

102 Dec 08, 2022
This is an AI that runs in the terminal. It is a voice assistant that can do common activities and can also help in your coding doubts like

This is an AI that runs in the terminal. It is a voice assistant that can do common activities and can also help in your coding doubts like

OneBit 1 Nov 05, 2021
An 8D music player made to enjoy Halloween this year!🤘

HAPPY HALLOWEEN buddy! Split Player Hello There! Welcome to SplitPlayer... Supposed To Be A 8DPlayer.... You Decide.... It can play the ordinary audio

Akshat Kumar Singh 1 Nov 04, 2021
Anki vector Music ❤ is the best and only Telegram VC player with playlists, Multi Playback, Channel play and more

Anki Vector Music 🎵 A bot that can play music on Telegram Group and Channel Voice Chats Available on telegram as @Anki Vector Music Features 🔥 Thumb

Damantha Jasinghe 12 Nov 12, 2022
A Python port and library-fication of the midicsv tool by John Walker.

A Python port and library-fication of the midicsv tool by John Walker. If you need to convert MIDI files to human-readable text files and back, this is the library for you.

Tim Wedde 52 Dec 29, 2022
A Youtube audio player for your terminal

AudioLine A lightweight Youtube audio player for your terminal Explore the docs » View Demo · Report Bug · Request Feature · Send a Pull Request About

Haseeb Khalid 26 Jan 04, 2023
Just-Music - Spotify API Driven Music Web app, that allows to listen and control and share songs

Just Music... Just Music Is A Web APP That Allows Users To Play Song Using Spoti

Ayush Mishra 3 May 01, 2022
A python script that can play .mp3 URLs upon the ringing or motion detection of a Ring doorbell. The sound plays through Sonos speakers.

Ring x Sonos A python script that plays .mp3 files whenever a doorbell is rung or a doorbell detects motion. Features Music! Authors @braden Running T

braden 0 Nov 12, 2021
[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
Accompanying code for our paper "Point Cloud Audio Processing"

Point Cloud Audio Processing Krishna Subramani1, Paris Smaragdis1 1UIUC Paper For the necessary libraries/prerequisites, please use conda/anaconda to

Krishna Subramani 17 Nov 17, 2022
DaisyXmusic ❤ A bot that can play music on Telegram Group and Channel Voice Chats

DaisyXmusic ❤ is the best and only Telegram VC player with playlists, Multi Playback, Channel play and more

TeamOfDaisyX 34 Oct 22, 2022
FPGA based USB 2.0 high speed audio interface featuring multiple optical ADAT inputs and outputs

ADAT USB Audio Interface FPGA based USB 2.0 High Speed audio interface featuring multiple optical ADAT inputs and outputs Status / current limitations

Hans Baier 78 Dec 31, 2022
Use python MIDI to write some simple music

Use Python MIDI to write songs

小宝 1 Nov 19, 2021
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
Python wrapper around sox.

pysox Python wrapper around sox. Read the Docs here. This library was presented in the following paper: R. M. Bittner, E. J. Humphrey and J. P. Bello,

Rachel Bittner 446 Dec 07, 2022
Using python to generate a bat script of repetitive lines of code that differ in some way but can sort out a group of audio files according to their common names

Batch Sorting Using python to generate a bat script of repetitive lines of code that differ in some way but can sort out a group of audio files accord

David Mainoo 1 Oct 29, 2021
Omniscient Mozart, being able to transcribe everything in the music, including vocal, drum, chord, beat, instruments, and more.

OMNIZART Omnizart is a Python library that aims for democratizing automatic music transcription. Given polyphonic music, it is able to transcribe pitc

MCTLab 1.3k Jan 08, 2023