Coder Social home page Coder Social logo

bencodrington / phanary Goto Github PK

View Code? Open in Web Editor NEW
44.0 2.0 2.0 378.98 MB

Phanary is a lightning-fast, free, online app for desktop and mobile that excels at finding and playing atmospheric music and sound effects for games like D&D and Pathfinder. Phanary is meant to be used in a Game Master's preparation and improvisation, and to be quick and streamlined enough to smoothly handle the party going somewhere unexpected.

Home Page: http://phanary.com

License: BSD 3-Clause "New" or "Revised" License

JavaScript 89.62% CSS 7.39% Handlebars 2.99%
soundscape immersion atmosphere background-music rpg-tool dnd dnd-tools dm-tools web-app ambience

phanary's Introduction

Update July 2021

Phanary has been replaced by TurboBard (Live site). The code and README in this repository should be considered invalid and outdated.

Phanary

Phanary is a lightning-fast fantasy RPG audio solution. Running completely in-browser, it's a free app for desktop and mobile that excels at finding and playing atmospheric music and sound effects for games like D&D and Pathfinder. Phanary is meant to be used in a Game Master's preparation and improvisation, and to be quick and streamlined enough to smoothly handle the party going somewhere unexpected.

Features

With the focus on speed and usability, Phanary offers features like:

  • Atmospheres: intuitively group sounds and music into soundscapes, then fade between them with the click of a button
  • One-shots: manually fire a cinematic suspense tone after a plot twist, or set the sound of pouring ale to play every 15 to 30 seconds
  • Auto-play: with results that update as-you-type, assemble and play a convincing soundscape in seconds
  • Customization: change one-shots frequencies, tweak track volumes, rename atmospheres, and recreate specific settings from your campaign through rich sound layering

Contribute

For details about environment setup, see CONTRIBUTING.md.

Support

Please don't hesitate to let us know if you have any issues at: [email protected]

License

Copyright (c) 2017 Ben Codrington

The project code is licensed under the 3-Clause BSD License.

phanary's People

Contributors

bencodrington avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

phanary's Issues

Save atmospheres

Include an option to save an atmosphere. Simplest option probably a JSON import/export function

Toggling the autoplay checkbox doesn't refocus on the search bar anymore

  1. Which device and operating system are you using? Windows Desktop
  2. Which browser are you using? Google Chrome
  3. What did you do? Clicked the autoplay checkbox
  4. What did you expect to see? Cursor in the search bar
  5. What did you see instead? Ain't no cursor in the search bar

This functions correctly in the production version of the site, must have been broken when refactoring.
Note: the search bar 'clear' button correctly refocuses.

Feature: Automatically fade volume sliders

Users have suggested the ability to select a point on a volume slider and have the corresponding volume handle gradually fade to that point over a specified period of time. e.g. select '10s' for the length of time, and '50%' for the target volume, and then have it automatically fade to 50% volume over the next 10 seconds.

What would be the best way to implement that kind of UI in a succinct and elegant way that's viable on both wide and narrow resolutions?

Maybe by pressing and holding on the handle, then sliding left and right to set the target volume, and up and down to set the length of time?

Feature: Lock Atmospheres tab open

Users have requested a way to stop the sidebar from auto-hiding whenever an atmosphere is selected.
This would only be necessary at higher resolutions when both sections can be displayed at once.

A checkbox in the top-right of the sidebar would probably be best.

Feature: Saving Atmospheres: System backend

Need to update the Atmosphere data model to offer optional fields for track volumes and one-shot time settings.

Also need to update the system backend interface to make these fields reasonable to modify.

Feature: Need a track list page

This should be a page that can be linked from the 'about' modal that pulls track and atmosphere data from the database and displays the name, tags, and source information.

Users have requested there be a complete list of sounds to scroll through for inspiration, etc.

Displaying recently added/changed entries in a special section at the top would be particularly useful.

Hiding results list when you click outside the search bar

When you have text in the search bar, you should be able to hide them by clicking anywhere outside of the search bar, allowing users to maintain text in the search bar without having the whole page blocked by results.
This would be especially useful when trying to click multiple tags on existing tracks to create the search text from that.

Note that clicking in the search bar again or clicking an existing tag to add it to the search bar should re-show the results, and update them if necessary.
Second note that maybe the maximum height of the search result list should be 1/2 the total screen height on mobile & small resolutions to ensure that there is always free space to click to activate this feature.

Showing tracks from all atmospheres when loading from localstorage

  1. Which device and operating system are you using?
  2. Which browser are you using?
  3. What did you do? Opened multiple atmospheres with multiple tracks and refreshed the page
  4. What did you expect to see? One of the atmospheres highlighted and its tracks visible
  5. What did you see instead? Tracks from all atmospheres visible

NOTE: until I get around to fixing this, it looks like it can temporarily be solved by clicking each atmosphere in turn to refresh which tracks are visible.

Sound visualisations

It's been suggested that Phanary include some way of visualizing some kind of waveform to easily see where in a loop specifically you currently are. I can see this as being useful especially with some of the suspenseful or dramatic ambiences and songs to allow DM's to time and pace their expositions and plot twists.
I do think it might be kind of complex and resource-intensive to implement, so I'm tagging it as 'future' for now, but any input as to how it might be more easily achieved would be much appreciated!

Feature: Rearrange tracks

Users have requested the ability to click-and-drag tracks to rearrange their placement in their atmospheres.

Note: if this is added after atmospheres can be saved, track order should be preserved throughout the save-and-load process.

Site down?

Looks like the server is down. Any plans for it to come back up? I enjoy using this tool, so I'd be happy to help (hosting) if needed.

  1. Which device and operating system are you using? OSX
  2. Which browser are you using? Chrome
  3. What did you do? Opened the site
  4. What did you expect to see? The site
  5. What did you see instead? 502 Bad Gateway

@bencodrington

Voice Activated Sound Effects

Ideally, this would work by having a prominent 'microphone icon' button, that when clicked, would record the user saying something like 'and then lightning struck', extract keywords and then search the database, playing the top sound effect result.

This would be a huge advancement to many dm's tables, as it would allow you to avoid pausing the flow of narration even more, and having instant background sound effects.

I think this would eventually allow Phanary to reliably provide those moments where the music/sound effects coincidentally line up with your descriptions and your players look at you like you're some kind of real-world wizard.

How cool would that be.

Unfortunately, this would almost certainly require hooking in some sort of machine learning api, and so it is relatively low priority for now. But as soon as I get the opportunity to implement this, I will.

Suggestion about Phanary

  1. Which device and operating system are you using?-windows
  2. Which browser are you using?-chrome
  3. What did you do?-used this cool tool
    So your tool is AWESOME, but if I could use it to mix together one repeating set and then download it to use on Foundry VTT... That would be beyond cool.

@bencodrington

Feature: Saving Atmospheres: Local Storage

Atmospheres currently open should persist across sessions of using Phanary.
The user should be able to load and delete tracks, customize volume, one-shot timings, atmosphere titles, toggle autoplay and the sidebar lock, and all of this data should be saved in local storage so that the user can close the tab, and reopen it later without having to find all the tracks again.

Maybe, if there are many atmospheres/tracks saved, the user should be prompted before re-adding them, to avoid spending a lot of time and bandwidth downloading the tracks again.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.