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)
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
Music generation using ml / dl

Data analysis Document here the project: deep_music Description: Project Description Data Source: Type of analysis: Please document the project the be

0 Jul 03, 2022
Nayeli: cool telegram groups vc music project

Nayeli-music Nayeli πŸ₯€ is cool telegram 🍎 groups vc music project πŸŽ‹ . Nayeli-music Nayeli Deployment πŸŽ‹ πŸ“² Esy deploy 🐾️ Source Owner β™₯️ ❄️ He is s

Kasun bandara 2 Dec 20, 2021
ο»Ώο»ΏPythonic bindings for FFmpeg's libraries.

PyAV PyAV is a Pythonic binding for the FFmpeg libraries. We aim to provide all of the power and control of the underlying library, but manage the gri

PyAV 1.8k Jan 03, 2023
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 06, 2023
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
Learn chords with your MIDI keyboard !

miditeach miditeach is a music learning tool that can be used to practice your chords skills with a midi keyboard 🎹 ! Features Midi keyboard input se

Alexis LOUIS 3 Oct 20, 2021
🎡 Python sound notifications made easy

chime Python sound notifications made easy. Table of contents Table of contents Motivation Installation Basic usage Theming IPython/Jupyter magic Exce

Max Halford 231 Jan 09, 2023
Xbot-Music - Bot Play Music and Video in Voice Chat Group Telegram

XBOT-MUSIC A Telegram Music+video Bot written in Python using Pyrogram and Py-Tg

Fariz 2 Jan 20, 2022
A GUI-based audio player with support for a large variety of formats

Miza-Player A GUI-based audio player with support for a large variety of formats, able to play from web-hosted media platforms such as YouTube, includ

Thomas Xin 3 Dec 14, 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
ianZiPu is a way to write notation for Guqin (叀琴) music.

PyBetween Wrapper for Between - λΉ„νŠΈμœˆμ„ μœ„ν•œ 파이썬 라이브러리 Legal Disclaimer 였직 ꡐ윑적 λͺ©μ μœΌλ‘œλ§Œ μ‚¬μš©ν• μˆ˜ 있으며, λΉ„νŠΈμœˆμ€ VCNC의 μžμ‚°μž…λ‹ˆλ‹€. μ•…μ˜μ  곡격에 μ΄μš©ν• μ‹œ 처벌 λ°›μ„μˆ˜ μžˆμŠ΅λ‹ˆλ‹€. μ‚¬μš©μ— λ”°λ₯Έ μ±…μž„μ€ μ‚¬μš©μžκ°€

Nancy Yi Liang 8 Nov 25, 2022
A python wrapper for REAPER

pyreaper A python wrapper for REAPER (Robust Epoch And Pitch EstimatoR) Installation pip install pyreaper Demonstration notebnook http://nbviewer.jupy

Ryuichi Yamamoto 56 Dec 27, 2022
A voice assistant which can handle your everyday task and allows you to book items from your favourite store!

Voicely Table of Contents About The Project Built With Getting Started Prerequisites Installation Usage Roadmap Contributing License Contact Acknowled

Awantika Nigam 2 Nov 17, 2021
Audio2midi - Automatic Audio-to-symbolic Arrangement

Automatic Audio-to-symbolic Arrangement This is the repository of the project "Audio-to-symbolic Arrangement via Cross-modal Music Representation Lear

Ziyu Wang 24 Dec 05, 2022
A useful tool to generate chord progressions according to melody MIDIs

Auto chord generator, pure python package that generate chord progressions according to given melodies

Billy Yi 53 Dec 30, 2022
DeepSpeech is an open source embedded (offline, on-device) speech-to-text engine which can run in real time on devices ranging from a Raspberry Pi 4 to high power GPU servers.

Project DeepSpeech DeepSpeech is an open-source Speech-To-Text engine, using a model trained by machine learning techniques based on Baidu's Deep Spee

Mozilla 20.8k Jan 03, 2023
Code to work with wave files!

Code to work with wave files!

Mohammad Dori 3 Jul 15, 2022
A2DP agent for promiscuous/permissive audio sinc.

Promiscuous Bluetooth audio sinc A2DP agent for promiscuous/permissive audio sinc for Linux. Once installed, a Bluetooth client, such as a smart phone

Jasper Aorangi 4 May 27, 2022
Small Python application that links a Digico console and Reaper, handling automatic marker insertion and tracking.

Digico-Reaper-Link This is a small GUI based helper application designed to help with using Digico's Copy Audio function with a Reaper DAW used for re

Justin Stasiw 10 Oct 24, 2022