create account

Soundboard App Project by natekodi

View this thread on: hive.blogpeakd.comecency.com
· @natekodi ·
$0.10
Soundboard App Project
These last two weeks, I've been playing with the JavaScript web audio api and Tone.JS api. As I've stated before I have a background in audio engineering and sound design, so the web audio api terminology is very familiar. I decided to make a soundboard app using the Tone.JS Library and the Nexus UI Javascript library.

The design/look of the app is based on the DJ Tech Tools Midi fighter Mixed with the Akai Mpc Renaissance. ![mpcrenaissance.jpg](https://steemitimages.com/DQmSGJ4kLBL7BVTqquSC5cnpJmWF2RLhTARHwqefMpbRQLT/mpcrenaissance.jpg)
![IS422909-01-01-BIG.jpg](https://steemitimages.com/DQmNuuQ79KwR4GQ4FNNaDxKVEDQWjQW1tNxzuV6gDFd6sFD/IS422909-01-01-BIG.jpg)


The Webpage and the app were created using CSS grid. I'm trying to get used to NOT using bootstrap in my designs, and CSS grid is solid. The best part is that this app is touchscreen friendly. I didn't make it responsive, but you can zoom into the app and still use it the CSS is on point!

Since I'm new to writing Javascript apps, I've kept it very simple. I'm using audio wav samples instead of synthesized sounds. The buttons and the oscillograph (graphical waveform) are the Nexus UI api and all the sounds you hear are from Tone.JS.

As I said I was working on this project for more or less 2 weeks. I was stuck at two main points. First was the audio buffering in the web audio API, which is to load audio samples before they get played. Second was making the actual oscillograph(waveform) move.

As far as buffering audio, I didn't figure it out until my 2nd project (check my web flyer project on github). But I learned I can bypass buffering by just getting a link from an online cloud website. I've been using cloudinary to make that happen.

The part that really had me pulling my hair was actually connecting the audio api to the nexus ui (graphic) api. According to the nexus documentation (i'm about to speak javascript), all you had to do was take the visualliser and use a .connect() function to the audio variable thats holding the sound and it would work. Not that simple. It gave me the error that the two apis were not in the same context (or world). 

I couldn't figure it out myself. So after a week and a half, went to Nexus UI's ui and created an issue form. Taylorbf on github contacted me and gave me a solution. All i had to do was link the Tone JS context to the Nexus UI context with an equals sign.
or: Tone.context = Nexus.context

![IMG_D418EED15E02-1.jpeg](https://steemitimages.com/DQmWJGdLdNiDMbJTXNDr8qGGvtFDTLdn2b81c9DC2rtLNhk/IMG_D418EED15E02-1.jpeg)
(This is an Iphone screenshot)

That was It! I got my sounds to work with the graphic. Next I replaced my placeholder sounds with sounds that I designed and/or tweaked for my original music. Doneso! I do plan on expanding on this project, maybe add sound fx and a volume fader. I'm definitely looking into making everything recordable so you can save what you played on mp3.

If you'd like to play with my soundboard check out my github: https://github.com/nmwenz90/Nate-s-SoundBoard-Project
Not sure I'f ill put a domain name on it just yet.

Have Fun!


The Return of Chippy Album out now!
http://natekodi.com/project/the-return-of-chippy/
👍  , , , , ,
properties (23)
authornatekodi
permlinksoundboard-app-project
categorywebdesign
json_metadata{"tags":["webdesign","javascript","audio","app","music"],"image":["https://steemitimages.com/DQmSGJ4kLBL7BVTqquSC5cnpJmWF2RLhTARHwqefMpbRQLT/mpcrenaissance.jpg","https://steemitimages.com/DQmNuuQ79KwR4GQ4FNNaDxKVEDQWjQW1tNxzuV6gDFd6sFD/IS422909-01-01-BIG.jpg","https://steemitimages.com/DQmWJGdLdNiDMbJTXNDr8qGGvtFDTLdn2b81c9DC2rtLNhk/IMG_D418EED15E02-1.jpeg"],"links":["https://github.com/nmwenz90/Nate-s-SoundBoard-Project","http://natekodi.com/project/the-return-of-chippy/"],"app":"steemit/0.1","format":"markdown"}
created2017-08-31 21:56:21
last_update2017-08-31 21:56:21
depth0
children1
last_payout2017-09-07 21:56:21
cashout_time1969-12-31 23:59:59
total_payout_value0.078 HBD
curator_payout_value0.019 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length3,202
author_reputation44,250,617,003
root_title"Soundboard App Project"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id13,490,005
net_rshares28,874,551,903
author_curate_reward""
vote details (6)
@deadlybuda ·
Hi @natekodi Here's some interesting news for electronic music genres, the first DJ mix that's blockchain-enabled. Tracks in the DJ mix get paid in seconds. <center>
[<img src="http://www.theharddata.com/wp-content/uploads/2017/09/rtbgif.gif">](https://musicoin.org/nav/track/0x01a78f3baef7d9306ca059ca3f867891fc059f46)</center>
👍  
properties (23)
authordeadlybuda
permlinkre-natekodi-soundboard-app-project-20170909t091652755z
categorywebdesign
json_metadata{"tags":["webdesign"],"users":["natekodi"],"image":["http://www.theharddata.com/wp-content/uploads/2017/09/rtbgif.gif"],"links":["https://musicoin.org/nav/track/0x01a78f3baef7d9306ca059ca3f867891fc059f46"],"app":"steemit/0.1"}
created2017-09-09 09:16:45
last_update2017-09-09 09:16:45
depth1
children0
last_payout2017-09-16 09:16:45
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length328
author_reputation52,833,937,453
root_title"Soundboard App Project"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id14,339,504
net_rshares482,947,622
author_curate_reward""
vote details (1)