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)
Royal Music You can play music and video at a time in vc

Royals-Music Royal Music You can play music and video at a time in vc Commands SOON String STRING_SESSION Deployment 🎖 Credits • 🇸ᴏᴍʏᴀ⃝🇯ᴇᴇᴛ • 🇴ғғɪ

2 Nov 23, 2021
AudioDVP:Photorealistic Audio-driven Video Portraits

AudioDVP This is the official implementation of Photorealistic Audio-driven Video Portraits. Major Requirements Ubuntu = 18.04 PyTorch = 1.2 GCC =

232 Jan 03, 2023
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
commonfate 📦commonfate 📦 - Common Fate Model and Transform.

Common Fate Transform and Model for Python This package is a python implementation of the Common Fate Transform and Model to be used for audio source

Fabian-Robert Stöter 18 Jan 08, 2022
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
Minimal command-line music player written in Python

pyms Minimal command-line music player written in Python. Designed with elegance and minimalism. Resizes dynamically with your terminal. Dependencies

12 Sep 23, 2022
An app made in Python using the PyTube and Tkinter libraries to download videos and MP3 audio.

yt-dl (GUI Edition) An app made in Python using the PyTube and Tkinter libraries to download videos and MP3 audio. How do I download this? Windows: Fi

1 Oct 23, 2021
Desktop music recognition application for windows

MusicRecognizer Music recognition application for windows You can choose from which of the devices the recording will be made. If you choose speakers,

Nikita Merzlyakov 28 Dec 13, 2022
This is a python package that turns any images into MIDI files that views the same as them

image_to_midi This is a python package that turns any images into MIDI files that views the same as them. This package firstly convert the image to AS

Rainbow Dreamer 4 Mar 10, 2022
PianoPlayer - Automatic fingering generator for piano scores

PianoPlayer - Automatic fingering generator for piano scores

Marco Musy 571 Jan 02, 2023
A Python library for audio data augmentation. Inspired by albumentations. Useful for machine learning.

Audiomentations A Python library for audio data augmentation. Inspired by albumentations. Useful for deep learning. Runs on CPU. Supports mono audio a

Iver Jordal 1.2k Jan 07, 2023
User-friendly Voice Cloning Application

Multi-Language-RTVC stands for Multi-Language Real Time Voice Cloning and is a Voice Cloning Tool capable of transfering speaker-specific audio featur

Sven Eschlbeck 19 Dec 30, 2022
Sparse Beta-Divergence Tensor Factorization Library

NTFLib Sparse Beta-Divergence Tensor Factorization Library Based off of this beta-NTF project this library is specially-built to handle tensors where

Stitch Fix Technology 46 Jan 08, 2022
A Python 3 script for capturing and recording a SDR stream to a WAV file (or serving it to a HTTP audio stream).

rfsoapyfile A Python 3 script for capturing and recording a SDR stream to a WAV file (or serving it to a HTTP audio stream). The script is threaded fo

4 Dec 19, 2022
Bot Music Pintar. Created by Rio

🎶 Rio Music 🎶 Kalo Fork Star Ya Bang Hehehe Requirements 📝 FFmpeg NodeJS nodesource.com Python 3.8+ or 3.7 PyTgCalls Generate String Using Replit ⤵

RioProjectX 7 Jun 15, 2022
Basically Play Pauses the song when it is safe to do so. when you die in a round

Basically Play Pauses the song when it is safe to do so. when you die in a round

AG_1436 1 Feb 13, 2022
A python program for visualizing MIDI files, and displaying them in a spiral layout

SpiralMusic_python A python program for visualizing MIDI files, and displaying them in a spiral layout For a hardware version using Teensy & LED displ

Gavin 6 Nov 23, 2022
Audio book player for senior visually impaired.

PI Zero W Audio Book Motivation and requirements My dad is practically blind and at 80 years has trouble hearing and operating tiny or more complicate

Andrej Hosna 29 Dec 25, 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
Stevan KZ 1 Oct 27, 2021