22 |
Comments
24 |48 |
49 |
├── .gitattributes ├── compression_server ├── .gitignore ├── .dockerignore ├── nodemon.json ├── config │ ├── server.config.js │ └── aws.config.js ├── test │ ├── testFiles │ │ └── .gitignore │ └── compressionTest.js ├── temp_audio │ ├── wav_temp │ │ └── .gitignore │ ├── hi_res_inbox │ │ └── .gitignore │ └── low_res_outbox │ │ └── .gitignore ├── helper_functions │ └── serverAuth.js ├── Dockerfile ├── package.json ├── routes │ └── index.js ├── README.md ├── app.js ├── bin │ └── www └── run.sh ├── .bowerrc ├── .eslintignore ├── client ├── favicon.ico ├── assets │ ├── pin.png │ ├── bands │ │ ├── safety1.JPG │ │ ├── safety2.JPG │ │ ├── safety3.JPG │ │ ├── safety4.JPG │ │ ├── safety5.JPG │ │ ├── evergreen1.jpg │ │ ├── evergreen2.jpg │ │ ├── evergreen3.jpg │ │ └── evergreen4.jpg │ └── pin-selected.png ├── app │ ├── modal │ │ └── modal.html │ ├── services │ │ ├── infoFactory.js │ │ ├── usersFactory.js │ │ ├── uploadsFactory.js │ │ └── groupsFactory.js │ ├── info │ │ ├── info.js │ │ └── info.html │ ├── styles │ │ ├── _colors.scss │ │ └── _sliders.scss │ ├── songs │ │ ├── songView.html │ │ ├── songs.html │ │ └── songs.js │ ├── profile │ │ ├── profile.js │ │ └── profile.html │ ├── player │ │ ├── player.html │ │ └── player.js │ ├── song │ │ ├── song.html │ │ └── song.js │ ├── nav │ │ └── nav.html │ ├── auth │ │ ├── auth.js │ │ └── login.html │ ├── groups │ │ ├── settings.js │ │ ├── settings.html │ │ ├── groups.html │ │ └── groups.js │ ├── upload │ │ ├── upload.html │ │ └── upload.js │ └── playlist │ │ ├── playlist.html │ │ └── playlist.js └── index.html ├── nodemon.json ├── .travis.yml ├── .dockerignore ├── server ├── config │ ├── aws.config.js │ ├── middleware.js │ ├── config.js │ ├── helpers.js │ └── routes.js ├── models │ ├── infoModel.js │ ├── commentModel.js │ ├── userModel.js │ ├── playlistModel.js │ ├── songModel.js │ └── groupModel.js ├── controllers │ ├── infoController.js │ ├── commentController.js │ ├── compressionServer.js │ ├── playlistController.js │ ├── upload.js │ ├── userController.js │ ├── groupController.js │ └── songController.js ├── server.js └── db │ └── database.js ├── .editorconfig ├── Dockerfile ├── .eslintrc.json ├── docker-compose.example.yml ├── bower.json ├── LICENSE ├── .gitignore ├── docker_info.md ├── backup └── backupAudiopile.sh ├── test ├── client │ └── unit │ │ └── servicesTest.js └── server │ ├── unit │ ├── schemaTest.js │ ├── songTest.js │ └── playlistTest.js │ ├── testHelpers.js │ └── integration │ └── apiTest.js ├── sessionSetup.js ├── pomander.sh ├── package.json ├── gulpfile.js ├── README.md ├── we need to do these! └── _PRESS-RELEASE.md └── CONTRIBUTING.md /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | -------------------------------------------------------------------------------- /compression_server/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "client/lib" 3 | } -------------------------------------------------------------------------------- /compression_server/.dockerignore: -------------------------------------------------------------------------------- 1 | /node_modules/ -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | **/node_modules 2 | **/lib 3 | **/dist 4 | **/*config.js 5 | -------------------------------------------------------------------------------- /client/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuoyantPyramid/Audiopile/HEAD/client/favicon.ico -------------------------------------------------------------------------------- /compression_server/nodemon.json: -------------------------------------------------------------------------------- 1 | { 2 | "verbose": true, 3 | "ignore": ["temp_audio/*"] 4 | } -------------------------------------------------------------------------------- /client/assets/pin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuoyantPyramid/Audiopile/HEAD/client/assets/pin.png -------------------------------------------------------------------------------- /nodemon.json: -------------------------------------------------------------------------------- 1 | { 2 | "verbose": true, 3 | "ignore": ["compression_server/temp_audio/*", "dist/*"] 4 | } -------------------------------------------------------------------------------- /client/assets/bands/safety1.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuoyantPyramid/Audiopile/HEAD/client/assets/bands/safety1.JPG -------------------------------------------------------------------------------- /client/assets/bands/safety2.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuoyantPyramid/Audiopile/HEAD/client/assets/bands/safety2.JPG -------------------------------------------------------------------------------- /client/assets/bands/safety3.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuoyantPyramid/Audiopile/HEAD/client/assets/bands/safety3.JPG -------------------------------------------------------------------------------- /client/assets/bands/safety4.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuoyantPyramid/Audiopile/HEAD/client/assets/bands/safety4.JPG -------------------------------------------------------------------------------- /client/assets/bands/safety5.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuoyantPyramid/Audiopile/HEAD/client/assets/bands/safety5.JPG -------------------------------------------------------------------------------- /client/assets/pin-selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuoyantPyramid/Audiopile/HEAD/client/assets/pin-selected.png -------------------------------------------------------------------------------- /client/assets/bands/evergreen1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuoyantPyramid/Audiopile/HEAD/client/assets/bands/evergreen1.jpg -------------------------------------------------------------------------------- /client/assets/bands/evergreen2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuoyantPyramid/Audiopile/HEAD/client/assets/bands/evergreen2.jpg -------------------------------------------------------------------------------- /client/assets/bands/evergreen3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuoyantPyramid/Audiopile/HEAD/client/assets/bands/evergreen3.jpg -------------------------------------------------------------------------------- /client/assets/bands/evergreen4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuoyantPyramid/Audiopile/HEAD/client/assets/bands/evergreen4.jpg -------------------------------------------------------------------------------- /compression_server/config/server.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | primaryServer: process.env.JAMRECORD_PRIMARY_SERVER 3 | } -------------------------------------------------------------------------------- /compression_server/test/testFiles/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything in this directory 2 | * 3 | # Except this file 4 | !.gitignore -------------------------------------------------------------------------------- /compression_server/temp_audio/wav_temp/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything in this directory 2 | * 3 | # Except this file 4 | !.gitignore -------------------------------------------------------------------------------- /compression_server/temp_audio/hi_res_inbox/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything in this directory 2 | * 3 | # Except this file 4 | !.gitignore -------------------------------------------------------------------------------- /compression_server/temp_audio/low_res_outbox/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything in this directory 2 | * 3 | # Except this file 4 | !.gitignore -------------------------------------------------------------------------------- /compression_server/helper_functions/serverAuth.js: -------------------------------------------------------------------------------- 1 | var serverAuth = function(req, res, next) { 2 | var passcode = req.headers; 3 | console.log('Passcode! : ', passcode); 4 | } 5 | 6 | 7 | 8 | 9 | 10 | module.exports = serverAuth; -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 'stable' 4 | addons: 5 | postgresql: "9.3" 6 | 7 | #services: 8 | # - postgresql 9 | 10 | before_script: 11 | - psql --version 12 | - psql -c 'create database jamstest;' -U postgres -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | compression_server/ 3 | client/lib/ 4 | client/dist/ 5 | test/ 6 | .git 7 | .gitignore 8 | .editorconfig 9 | .eslintignore 10 | eslintrc.json 11 | .travis.yml 12 | CONTRIBUTING.md 13 | pomander.sh 14 | sessionsSetup.js 15 | STYLE-GUIDE.md -------------------------------------------------------------------------------- /server/config/aws.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "accessKeyId": process.env.AWS_JAMRECORD_ACCESS_KEY_ID, 3 | "secretAccessKey": process.env.AWS_JAMRECORD_SECRET_ACCESS_KEY, 4 | "region": process.env.AWS_JAMRECORD_REGION, 5 | "bucket": process.env.AWS_JAMRECORD_BUCKET 6 | } -------------------------------------------------------------------------------- /compression_server/config/aws.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "accessKeyId": process.env.AWS_JAMRECORD_ACCESS_KEY_ID, 3 | "secretAccessKey": process.env.AWS_JAMRECORD_SECRET_ACCESS_KEY, 4 | "region": process.env.AWS_JAMRECORD_REGION, 5 | "bucket": process.env.AWS_JAMRECORD_BUCKET 6 | } -------------------------------------------------------------------------------- /client/app/modal/modal.html: -------------------------------------------------------------------------------- 1 |
{{models.currentPlaylist.description}}
47 |Files uploaded to AudioPile undergo a multi-step process which allows them to be easily shared and listened to by groups or individuals.
7 | 8 |When a file is uploaded the source is stored inside Amazon’s S3 file storage system. This source file remains untouched and can be downloaded in it’s original format at any time. After upload is complete the second step begins. Zencoder, a third party transcoding service downloads the source file from S3 and creates it’s own copy. This copy is then volume normalized (gain raised to maximum possible without clipping) and transcoded to 256kbps MP3. This compressed version is then uploaded back to S3 and stored alongside the original.
9 | 10 |When listen to your audio on AudioPile you are hearing the volume normalized, MP3 version of the file you originally uploaded. This allows streaming on mobile devices with a capable internet connection and compatibility with most browsers.
11 | 12 |I hope you get some use out of this tool! Please read the FAQ below and if you still have any questions, suggestions or criticisms please send them my way!
13 | 14 |-Brian Fogg
15 |AudioPile is a web utility for easily uploading and delivering audio files.
29 | 30 | 31 |Audio is transcoded through Zencoder. They claim to be able to process just about any audio format but we have not tested this extensively. Wav and mp3's definitely work.
33 | 34 | 35 |Lucky you, it's free right now. This project has very few users and I'm personally footing the bill for now. Financials will eventually be published.
37 | 38 | 39 |It's on the todo list.
41 | 42 | 43 |As of this moment, {{userCount}} users have uploaded {{songCount}} pieces of audio!
45 | 46 | 47 |
{{ comment.note }} @ {{ formatTime(comment.time) }}
29 |