You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Chris Beckstrom a2bf66c352 committing work from earlier - worked on functionality to 1) autotoot to the fedi upon the creation of a new sound, and 2) check (right now manually) for interactions with that toot and bring them back into the db so they can be displayed when viewing the sound. sort of like how webmentions look in the wordpress plugin. 3 months ago
public committing work from earlier - worked on functionality to 1) autotoot to the fedi upon the creation of a new sound, and 2) check (right now manually) for interactions with that toot and bring them back into the db so they can be displayed when viewing the sound. sort of like how webmentions look in the wordpress plugin. 3 months ago
resources most functionality working 3 months ago
.gitignore ? 3 months ago
CHANGELOG most functionality working 3 months ago
CONTRIBUTING most functionality working 3 months ago
LICENSE most functionality working 3 months ago
README.md Update 'README.md' 3 months ago
database_schema.sql most functionality working 3 months ago
htaccess most functionality working 3 months ago
noisecloud_screenshot_sound.png added screenshot of viewing a single sound 3 months ago

README.md

Noisecloud

A simple audio microblog

running live here: https://chrisbeckstrom.com/noisecloud-dev/public/

Why?

I wanted a way to quickly and easily share sounds on the internet, like a little bitty blog just for sounds.

There are some existing services/projects that are similar:

  • reel2bits (https://reel2bits.org) checks a lot of my boxes, but it seems to have been abandoned, seems more complicated than I need, and I also wanted to try making something myself
  • Funkwhale, Bandcamp - These are awesome, but IMHO overkill for what I’m looking for
  • Mastodon - an awesome federated microblog which supports audio posts, sort of… but not really focused on sound, and the implementation is weird depending on the client
  • Soundcloud, Tumblr, etc. - I’m trying to get away from corporate silos, plus Soundcloud isn’t great for users, and I don’t like their user interface

Features

  • upload sounds
  • cool waveform view
  • tags
  • rss feed for all sounds

Goals

  • Create an easy way to upload and share sounds
  • Use metatags so that sharing sound URLs on social media looks nice
  • Get cool waveform view of each sound
  • View sounds by tag (eg “all sounds tagged with ‘country and western’”)
  • RSS feed of all sounds - This also works as a podcast feed!
  • Pretty URLs
  • User registration (currently broken)
  • Option for S3-compatible media hosting (currently only local filesystem is implemented)
  • Embedded player when sharing on social media (like when you post a YouTube or Bandcamp link on Facebook and you can play it right there without clicking through to the URL)
  • User custom-css and/or themes (built-in theme is based on the Gruvbox colorscheme, my favorite)
  • long term goal: ActivityPub implementation (so Fediverse accounts eg Mastodon can “follow” and “like” users and sounds
  • ???

Requirements

  • mysql database server
  • an apache2 webserver with php and mod_rewrite
  • ffmpeg with mp3 support
  • json-waveform (ruby gem)

developed/tested on Debian Jessie using apache, PHP 7.3, and MySQL

Installing

need more info and specifics

  • put noisecloud somewhere where the web server can get to it
  • create database using database_schema.sql
  • create noisecloud/public/media and noisecloud/public/media/originals (todo: figure out how to use .gitignore to ignore the files but create the ddirectories)
  • cp example.config.yaml config.yaml and modify it according to your database setup

Libraries used

  • Wavesurfer.js - for fancy waveform display
  • Skeleton - CSS framework
  • Spyc - YAML parsing library
  • Vanilla-tags-input - for fancy tag creation in forms
  • Creativa-popup - for modal windows, popups, etc (not currently used)