Git Product home page Git Product logo

klang's Introduction

Klang - Soundboard Widget

Klang uses the interactive widget introduced in iOS 17 to add a soundboard straight to your home screen (and lock screen). You can create sounds or import them and organize your sounds into boards.

Requirements

  • iOS 17 or later
  • Xcode 15 or later

Installation

If you only want to use the app (not develop it), the easiest way is to join the TestFlight beta: https://testflight.apple.com/join/tAlSw1v8

In case, you want to run the app locally, make sure to follow these instructions to get code signing to work:

  1. Clone the repository.

  2. Open the file Klang.xcodeproj in Xcode.

  3. In the left sidebar, click on Klang under "PROJECT".

  4. In the main panel, go to Signing & Capabilities.

  5. In the Team dropdown list, select your name/organization.

  6. Connect your iOS device to your Mac, and select it from the dropdown menu in the toolbar.

  7. Press ⌘R or click Product > Run from the menu.

  8. Once complete, Klang will be installed on your iOS device.

Contributing & License

While Klang is open-source, and you are free to use code and files from the app within your projects, redistribution of the Klang app itself, with minor or even considerable changes, is strictly prohibited. I'm yet to find a good license that reflects this policy, so recommendations are welcome.

If you're interested in contributing to the improvement and development of Klang, kindly fork the repository, make your changes, and submit a pull request.

I'm also looking to add a pre-built library of soundboards to the app, but I lack the skill to compile this myself. If you are interested in contributing here, please let me know!

Roadmap

The goal is to launch Klang on the App Store when iOS 17 launches. Until then, I want to try to add the following features.

  • Soundboard Library (pre-built soundboards of different topics)
  • Trimming and Normalizing Sounds

You are welcome to suggest more features in GitHub issues!

klang's People

Contributors

leomehlig avatar

Stargazers

Robert Wu avatar Josh Klein avatar Pho Hale avatar BeiXiao avatar heyitsme avatar  avatar  avatar StefanQing avatar  avatar Kern Jackson avatar Benedict Allerberger avatar kotomi1227 avatar Qi Tong avatar David Barker avatar Alexey Bukhtin avatar Keyth Citizen avatar  avatar  avatar Andrew J Schneider avatar Charles Snow avatar Aconnection88 avatar  avatar  avatar  avatar  avatar David Blue avatar Andrew Jackson avatar Enrique Fernández avatar Dennis Muensterer avatar Clément Knoderer avatar plumpkewe avatar Benjamin avatar 13an avatar Fatih Bulut avatar Steve Wood avatar Roman Sima avatar NelsonRC avatar Yubo avatar Ivan de Cabo avatar Michael Bond avatar Kai Engelhardt avatar Peter avatar palaniraja avatar Manuel Escrig avatar Alan Toa avatar  avatar Arnaud Joubay avatar Murad avatar tz ✨ avatar Satoshi Komatsu avatar KQAR avatar Andrew Zheng avatar Eden avatar Marcelo Perretta avatar SENTINELITE avatar Kuba Szulaczkowski avatar Yash avatar

Watchers

 avatar Fabi Kuschke avatar

Forkers

xqf400 extratone

klang's Issues

Mention of the application

Hi! This is an awesome app. Glad to see my emoji picker library involved in this project!

I'd like to add your app to the Apps Using section in the README of the repository, do you mind?

Hi Leo, I have a question about AudioPlayer

Why does this class add an @Observable in App/Audio/AudioPlayer.swift? It seems there are no variables related to view updates.

@Observable
public final class AudioPlayer: NSObject, AVAudioPlayerDelegate {
    ...
}

Black on black

The text is black, on a black card, probably there's an issue with transparency of the text.

image

Folder importing

The app is great in its simplicity and efficiency but to make it perfect, it has to support importing of folders with .mp3 or .mp4 formats.

the name of the sound by default would be the name of the file, the style: totally random, random colour and emoji.

terminate an audio before it finishes

I wonder if there's already a way to terminate an audio before it finishes? If this is not currently implemented, I think it'd be nice to add this functionality at least to the lock-screen widget, in case the button was tapped accidentally. (e.g. stop the audio when the user double-taps a button, instead of trigger the sound twice again overlapping previous sounds)
It'd be nice to more control over how audio files are played in-app as well, for example, choose between whether to stop a previous sound when a second button is pressed, instead of always have multiple sounds overlapping each other, because in the actual app I might just be checking out a new library, therefore care less about mixing effects of different sounds.

Thank you :)

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.