SoundStage is now open source! We will be removing the app from the Steam store in the coming week. The app and source code are now available on GitHub. You can check it out here: https://github.com/googlearchive/soundstagevr
Thanks again,
Logan
Exciting news: We’re joining Google!
Hey folks,
Thank you for all of your support! It has been an amazing experience developing SoundStage, and I'm amped to announce what's next.
I'm joining Google’s VR team, based in New York! The team is incredible, and I'm excited to work with them on the future of creativity in VR.
While active development is complete on SoundStage, I'll continue to support the app for the time being if you run into any bugs or issues. You have been incredibly supportive during SoundStage's development, and I want to make sure you are able to continue to use it.
Thanks again,
Logan
SoundStage 1.0 is live!
SoundStage 1.0 is live and out of Early Access!
I've been quietly releasing updates in the weeks leading up to release. Here is a list of all the new features:
Video tutorials
Airhorn
MIDI
Sequence timeline
Setup lock
ADSR
Filter control port
Improved global metronome
Infinite splitter/merger
Sampler turntable
360 image import
Documents config
Audio engine upgrade
Now let's look at each of these items in a bit more detail:
https://www.youtube.com/watch?v=CwNUGXaXJvg
Video tutorials
Every instrument has a video tooltip explaining its features. I've also posted them on YouTube: https://www.youtube.com/playlist?list=PL9oPBUaRjJEyUHUEjeV5z2IDqXc0pW4Gu
Airhorn
Pick up the airhorn and trigger up to four samples with the Vive's touchpad. If you're using the Oculus Touch, select a sample with the analog stick then trigger with the B/Y button. All four samples default to an airhorn sample.
https://www.youtube.com/watch?v=g8-T_iG5uOY
MIDI
MIDI in and out are now available as standalone instruments. They are also embedded into the Keyboard and XyloRoll.
The Keyboard and XyloRoll MIDI supports notes around middle C (note #48).
The standalone MIDI instruments support note and CC messages. Please note that you'll need a virtual MIDI device to effectively send MIDI messages to other programs. Because of this, I've hidden MIDI OUT by default - open the Advanced Settings menu and select "ENABLE MIDI OUT" to reveal.
Sequencer
Record, edit, and playback events. A sequencer is also built into the Keyboard and XyloRoll. This tool has a quite a few features, so I suggest just watching the tutorial video: https://www.youtube.com/watch?v=Sq2FYGj0KQE
Please note that similar to the drum machine, the sequencer is focused to on/off events (as opposed to recording audio or signal information).
Setup lock
Disable the ability to grab and move whole instruments, as well as the ability to make or remove new connections. This allows you to perform without worrying about accidentally modifying your setup. Toggle these settings on and off from the Advanced Settings menu.
ADSR
You finally have a standalone ADSR curve. If you like synthesizing your own sounds with oscillators, this should help big time.
https://www.youtube.com/watch?v=jM-T59sV_WI
Filter control port
The filter can now be controlled by an incoming signal, such as the aforementioned ADSR curve!
Improved global metronome
The metronome now has play, pause, and back controls that affect all instruments driven by the metronome -- the sequencer, drum machine, and arpeggiator.
I've also added a small dial at the top of the metronome. Turn it up to hear a metronome click that plays even when the menu is closed.
Sampler turntable
The sampler's turntable allows you to scrub around samples. It sounds a little digi-glitchy, so I added a low-pass filter to smooth it out a bit.
360 image import
Import your own 360 backgrounds to replace the default environment. I didn't make any videos about this one so here are the instructions:
Go to the desktop window's menu and select Advanced Options.
Press "Import 360 Image" and select the image you want - it should be an "equirectangular" panorama.
If the image is large, the app will freeze up while it loads (just give it a few seconds).
Once it loads, you'll have an orb in the world with a round button - press the button to turn on that background.
You can load more than one background and then switch between them as you'd like (if you turn on one, the others know to turn off).
When you save a scene, it'll save those orbs and their state.
Documents config
You can now change the location of your saves and samples. Just open "fileloc.cfg" in the application's "main_Data" folder and swap out the placeholder text for the folder path you'd like.
Audio engine upgrade
Over the last few months, we've done a massive overhaul of the audio engine - the increased efficiency means you can have more complex scenes before your computer starts chugging.
Additionally, you can reduce the audio latency without hearing as many audio artifacts. If you'd like to try it out, go to the desktop window's menu, select Audio Settings, and change the setting to Fast. Then restart the program!
Infinite splitter/merger
The splitter/merger has as many ports as you'd like!
https://www.youtube.com/watch?v=HxtJjRqLLw4
Making it this far was only possible because of your support so thank you again - it means the world to me!
Please let me know if you find any bugs or have any technical issues - I'll try to fix them as fast as I can.
SoundStage Holiday Mode is live through January 6th!
Candy cane drum sticks
Winter wonderland environment
Fairy light wiring
Avatar santa hat
Falling snow
Check out the video update for a full walkthrough:
https://www.youtube.com/watch?v=-xWk33hhwRI
In addition to the holiday changes, I've also updated the control scheme on both Vive and Touch controllers. Help and Copy are now mapped to the Vive's touchpad and the B/Y button on the Touch.
The XyloRoll has also been revamped. The sequencer no longer scrolls while active, so you can easily edit your sequences while playing back. Additionally, the arpeggiator speeds are mapped to the master clock (similar to the sequencer's timing slider) so everything can stay in lockstep.
That's it for 2016 - thanks again for all of your support.
It's been incredible getting to work on this project full-time, and I really appreciate you checking it out. If you're enjoying SoundStage, please leave a review. It's the #1 way to support the project and help other users learn about it.
SoundStage now supports Oculus Touch through SteamVR!
I'm still iterating on the Touch controls but here they are in the current build:
Y/B: Open Menu
Trigger: Grab/Interact
Palm: Duplicate instrument
The biggest changes in this update are hidden from the user - the underlying code underwent a massive revamped. More on that at the end of the post. Here is a list of all the user-facing changes:
Oculus Touch support with custom controller models and button-mapping
Sequencers have row/column numbering for easier use
Control cube makes sound by itself with a built-in synth
Revamped XyloRoll sequencer and arpegiattor for easier use
Keyboard is now a monophonic synthesizer (one note max)
XyloRoll is now a 5-voice polyphonic synth (five simultaneous notes max)
Removed inputs from XyloRoll and Keyboard so there are no more hacks in the signal processing - it works like a "real" synthesizer
Simplified intro placement to always start in the "front" of the tracked space within arm's reach of the space's center
Fixed sequencer timing to better stay in synch
Fixed silent drum bug
Fixed tape/sampler bug
Drum sticks now auto appear when controllers are near drum
So coming back to the code revamp. Saves from previous versions must be upgraded. I've added an "auto-update" feature to load in older saves but it doesn't catch everything. Hopefully it gets the job done, and if you want access to the previous build it is on the "old-build-nov" beta branch.
Thanks again for all of your support, and if you're enjoying SoundStage, please leave a review on Steam.
Let me know if you find any bugs, have questions, or just want to say hello!
SoundStage Update 04: Loopers! Filters! Samples! And more!
The fourth update is online! We have a completely new sample library, new examples, and new instruments. On top of that, many of the original instruments have been improved. I hope you dig it - here is the full update list:
New sample library
New sample interface
Improved mixer
Improved drum
Improved sequencer
Looper instrument (loop recorder)
Noise instrument
Filter instrument
Arpeggiator
Updated valve
New examples
Room-size adaptation
New save location
Now let's look at each of these items in a bit more detail:
https://youtu.be/Gef35LEXOMI
New sample library
Completely new samples created by Reek Havok. These include drum machines, acoustic instruments, and sound effects. Reek is awesome - he built some of the first electronic drums, including Tommy Lee's flying drum set!
New sample interface
Scroll through categories and samples. This should help users who have imported large libraries.
If you want to see all of the tapes from a category at once, just grab a category and pull it out. When you select a sample, it generates a tape, but you can also just pull a tape out of the sample directly.
You can still preview a sample by touching it in the library.
Improved mixer
Add and remove channels to the mixer by dragging the right side. Each slider doubles as a crossfader - just plug something into both sides!
Improved drum
Insert samples directly into the drum!
Please note: The drum can still send a pulse - it just has an additional speaker and output for the sampler.
Improved sequencer
Insert samples directly into a sequencer row! The samplers even have a mute button on the side, so you can toggle a row on and off.
The sequencer also grew additional speed settings and a dial for adding swing to the beat (defaults to 50% - no swing in either direction).
Like the drum, the sequencer rows still trigger a pulse - look on the back side of the instrument to see the output and speaker for the samples.
Looper instrument
Record loops that stay in synch with the master metronome. When you hit the record button, you receive a countdown to the beginning of the record. After the recording is complete, it will loop until you press the play button to stop playback.
If you hit record again, it will countdown until the beginning of the loop then record additively ("over-dub"). Hit the save button to generate a tape!
Noise instrument
Generate a random signal - if you plug it into a speaker, that is (very loud) white noise. Or slow down the random signal with the dial and use it as a random value signal.
Filter instrument
Toggle the low, mid, and high sections to create different filters. Then drag the sections to sweep the filter around.
Arpeggiator
Select a key on the XyloRoll to toggle it "on" - when multiple keys are selected the arpeggiator plays them sequentially. The dial controls the speed of the playback, and the slider controls the type of arpeggio (up, down, etc).
The xyloroll also has built-in inputs now - a double oscillator and sampler input (similar to the drum and sequencer).
Updated valve
Control the valve using the new input on top. This allows you to attenuate a signal using an outside source, such as an LFO or sequencer.
Additionally, the valve now generates a signal based on its dial value when no input is detected. That means the valve can be used as a standalone controller on its own!
New examples
The opening scene has been updated along with a wall of new, focused examples. Hopefully these simpler examples help newer users get started. The example wall can be toggled on and off at any time from the settings menu (just below save/load).
Room-size adaptation
Examples adjust to fit the size of your space, including "standing mode."
New save location
Saves, recordings, and custom samples no longer go in the local game files.
The first time you open the updated program, a SoundStage folder is created in your Documents folder - turns out this is generally considered to be a better place to save user files.
The buttons on the desktop window that open folder locations have been updated, as well.
Thanks for reading, and thanks again for checking out SoundStage. If you're enjoying it, please leave a review on Steam. That would just make my day.
Please let me know if you find any bugs, have questions, or just want to say hello!
SoundStage Update 03: Copy/Paste! Unlimited Saves! Cameras! And much more!
Thanks again for supporting SoundStage. If you have a second, I would really appreciate it if you wrote a short review on Steam - it is one of the best ways to support indie devs.
The third update is now live! We have three new instruments and a vastly improved sampler, but I think the real stars of this update are the non-instrument additions. Here is the update list:
Unlimited save slots
Save/load preview
Copy/paste
Wire settings
Audio speed/quality settings
MP3 sample support
Binaural audio (off by default)
Background toggle
Improved sampler
Reverb instrument
Microphone instrument
Camera instrument
Here are details for each...
Unlimited save slots
Save and load as many setups as you'd like. They are stored in a folder that you can open from the desktop view. Feel free to rename them or add your friends' files to this folder - they will then show up next time you open the save/load menu.
Please note that if you want your old saves, you need to move them (the .xml files) from the root game folder to the "saves" folder.
Save/load preview
When you select a file to save or load, you get a 3D graphic preview of it so you can decide whether that is the correct file before confirming or canceling the selection.
Copy/paste
Duplicate an instrument by grabbing it with the grip buttons on your controller (the squeeze ones on the handle). Just use the grip instead of the trigger, and it'll pull out a copy of the instrument with the settings preserved.
Wire settings
Change the appearance of the wires - curved (original), straight, or invisible. The curves are remembered, so you can switch back at any time. It is a global setting.
Audio settings
The "AUDIO SETTINGS" menu has two options - speed/quality and binaural.
Speed/Quality Settigns
For users who are having less responsive drums, increase the speed/quality setting and see if that helps. The quality setting is just the size of the audio buffer so lower quality means you might hear more glitches in a complex scene.
Binaural Settings
You can turn on spatialized audio for just the Speaker instrument or for all instruments. Please note that binaural audio takes computer power so you may experience slow downs or audio glitches if you have too many binaural audio sources. Give it a go, and if you experience issues, just turn it back off!
Display/SFX settings
The "DISPLAY/SFX Options" menu has the following options:
HI RES DESKTOP VIEW: Improves the resolution of the desktop's first-person view
HIDE ENVIRONMENT: Kills the sky and mountains so you are performing against black
MUTE ENVIRONMENT: Kills the background environment sound
METRONOME CLICK: Adds a metronome click sound to the metronome
Improved sampler
Beyond now supporting MP3 files, the sampler features the following new controls:
Scrubbing by touching the waveform and holding down the trigger
Head/tail control by grabbing the bars at either end of the waveform and dragging
Play/Back buttons for controlling playback
Loop switch to control whether playing the sample is a loop or one-shot
Microphone instrument
Plays live input. Please note you can only have one of these in a setup. Trying to spawn a second will just delete the first one.
Reverb instrument
Adds a reverb effect to the incoming signal. Slide the disc up and down to control intensity of the effect. The dial controls the mix between the dry (original) and wet (FX) signal.
I'm not quite happy with the look of the reverb instrument, so I might revisit its aesthetic in the next update...
Camera instrument
You can now see yourself! To broadcast the camera to the desktop, toggle it "on" with the button on back. Or you can send a pulse to the control input (so you can turn it on at a distance).
So there you go! Thanks again for playing SoundStage - your feedback is always appreciated.
Thanks for continued support. If you're enjoying SoundStage, please leave a review on Steam - it would mean the world to me.
The second update is now live! We have three and a half new instruments, improvements, and bug fixes.
New Instruments
The star of this update is the XyloRoll - a combination of the keyboard, a xylophone, and a piano roll.
You can now make sequences of notes to play back on a keyboard-like device. The keys are larger and more spaced out for easier live play. As it's inspired by a xylophone, I've even included mallets that you can pick up and bang on the keys if that is more your style.
Two other new instruments--the TouchPad and Valve.
The TouchPad is essentially a drum but with a button form-factor, so you can trigger samples or the sequencer with the "press" of a button.
The Valve is a single input/output device with an on/off switch and a volume control so you can quickly toggle a signal on and off without a full-blown mixer.
The Splitter has also been updated to be a Merger, as well. It now has a switch on the side that flips between MERGING 2 signals into 1 and SPLITTING 1 signal into 2.
Improvements
Per popular request, you can now start and stop the sequencer by sending a signal into the new input on the top. Daisy chain sequencers together or start/stop them with the new touchpad (or drum).
Buttons are now "pressable" while the controller trigger is held down. So you can hold down the controller's trigger and toggle many cubes on the sequencer at once!
One last major improvement - collision detection is way more accurate. No more accidentally hitting three keyboard keys at the same time!
Bug Fixes
Just two this update:
Volume slider on mixer smoother - no discontinuities
Custom samples stay in the sampler when save
Thanks again for playing SoundStage - your feedback is always appreciated.
SoundStage Update 01: Import/export! Sample preview! And more!
The first update to SoundStage Early Access just went live - I'm curious to hear what you all think!
The biggest change is sample import and export. You can now add your own sounds as custom samples using the menu on your desktop window (the gameplay screen that shows up on your monitor).
I've revamped the recorder to allow for more control and longer recordings (up to 5 minutes). When you save one of your recordings, it automatically becomes a sample for use.
You also have sample preview: When you touch a tape you get a preview of it.
There's more - here is the complete change list:
Desktop menu for adding/removing custom samples (WAV and OGG)
Desktop menu for opening window to see recordings
Improved recorder (essentially it's a new instrument)
Added a group of more conventional samples (string instruments, etc)
Sample preview - when you touch a tape you hear it play
Drumsticks and maracas are toggle grab - no need to hold down the trigger
Fixed sample playback so they play at the correct speed (stereo samples were previously playing at half speed and glitchy until now)
Improved plugging when inputs are close together (way more control and better feel)
Keyboard has a detune knob that controls blend of keyboard note frequency and incoming frequency (defaults to no blend - no detuning)
Recorder note:
When you save your project, it'll save the recorder's setup (and any samples you've saved out), but not the "living" content in the recorder itself. If this doesn't make sense, don't worry about it!
Sample import note:
WAV and OGG files supported. MP3 is coming but not here yet. Playback is 44.1k. 48k files will work but will play at 44.1k (so slightly slowed down).
Next update will focus on two things: Getting some fun new instruments in there (filters, piano roll, etc) and, more ambitiously, trying to get the sample import/export working inside the headset.
As always, all feedback appreciated!
Logan
logan@soundstagevr.com
SoundStage Early Access begins now!
I'm excited for you to try it and let me know what you think.
If you have any questions, please let me know! You can email me at logan@soundstagevr.com.
You can also visit SoundStage on Facebook ( facebook.com/soundstagevr ) or Twitter ( twitter.com/soundstageVR ).
Thanks again for your interest in SoundStage, and I'm psyched to hear your feedback!