GNU General Public License v3.0

项目介绍

jameshball/osci-render 是一个托管在 GitHub 上的开源项目,主要使用 C++ 编写,采用 GNU General Public License v3.0 许可证,目前获得 740 个 Star、46 次 Fork。

仓库全名
jameshball/osci-render
开源许可证
GNU General Public License v3.0
Star 数
740
Fork 数
46
未关闭 Issue
22

README 摘要

Open-source synthesizer for making music by drawing objects, text, and images on an oscilloscope using audio. Allows for 3D rendering of .obj files, .svg images, .txt files, and Blender scenes on Windows, macOS, and Linux. Licensing Source code is licensed under GPLv3 (see LICENSE). Project names/logos/branding are not licensed under GPLv3; see TRADEMARKS.md and the branding notices in Resources/images,…

完整内容见 GitHub 原始 README 或本页 。

常见问题

osci-render 用什么语言开发?

主要使用 C++ 编写,采用 GNU General Public License v3.0 许可证,目前有 740 个 Star。

osci-render 可以免费商用吗?

仓库标注的许可证为 GNU General Public License v3.0,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 osci-render 的源码?

可以直接克隆仓库:git clone https://github.com/jameshball/osci-render.git,默认分支为 main;安装与运行步骤见仓库 README。

osci-render 最近还在维护吗?

仓库最近一次更新为 1 周前,当前有 22 个未关闭 Issue;Star 数为 740,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

〰📺🔊 Synthesiser audio plugin for making music by drawing objects on an oscilloscope using audio.

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
845
价值分
458
活跃状态
活跃

语言占比

Batchfile
C
C++
Inno Setup
Lua
Objective-C++
Python
Shell

Release

README

Open-source synthesizer for making music by drawing objects, text, and images on an oscilloscope using audio. Allows for 3D rendering of .obj files, .svg images, .txt files, and Blender scenes on Windows, macOS, and Linux.

Licensing

Source code is licensed under GPLv3 (see LICENSE). Project names/logos/branding are not licensed under GPLv3; see TRADEMARKS.md and the branding notices in Resources/images, Resources/svg, and images.

Everything is controllable from a Digital Audio Workstation (DAW), allowing for parameter automation and MIDI control. If you prefer to use osci-render as a standalone application, you can do that too!

Osci-render is a fully programmable synthesiser, allowing for custom visuals, sounds, and audio effects to be scripted using Lua, and interacted with using your DAW.

Get the latest version here!

Send an email to [email protected] if you have any issues, feedback, feature requests, or anything else!

See it in action

Rendering an animated Blender scene

image

Applying audio effects to a Lua script

image

Project file used to create the above demo: square_spiral.osci

Automating parameters from a DAW

image

Reaper project used to create the above demo: square_spiral.rpp

Playing a MIDI keyboard and changing envelope parameters

image

Current Features

  • Render 3D objects
  • Render SVG vector images
  • Render text
  • Scriptable visuals and audio effects using Lua
  • Blender integration
  • Software oscilloscope
  • Applying image effects
    • Bit Crush
    • Vertical/Horizontal Distortion
    • Image Wobble
    • Image Smoothing
    • Image Tracing
    • … and more!
  • MIDI control
  • Automate parameters from a DAW
  • Saving and loading projects

Screenshots

image

image

image

Download

Download the free version or purchase osci-render premium from the official website: osci-render.com to get access to the latest version.

After you’ve purchased, you’ll be sent an email with a download link. Here you can download the latest version for Windows or macOS, as a standalone application or as a VST or AU plugin.

Installation

Standalone Application

Run the osci-render.exe file on Windows, the osci-render.app file on macOS, or osci-render executable on Linux. You may need to allow the application to run if you get a warning.

Details on how to bypass security warnings or ‘app is damaged’ warnings on macOS can be found here.

VST Plugin

Copy the osci-render.vst3 file to your VST plugins folder, and restart your DAW. This is usually located at: C:\Program Files\Common Files\VST3 on Windows, or /Library/Audio/Plug-Ins/VST3 on macOS.

AudioUnit (AU) Plugin

Copy the osci-render.component file to your AU plugins folder, and restart your DAW. This is usually located at: /Library/Audio/Plug-Ins/Components on macOS.

Getting Started

Run the application, or add the plugin to your DAW. You should see the below interface, and hear a sine wave playing, and a circle being drawn on the software oscilloscope.

image

Now you can start opening .obj files, .svg files, or .txt files using the Choose File button, or creating your own files from a set of examples by specifying the file type, and using the Create File button.

To start editing the file you’ve opened, click the arrow button on the very right of the interface to open the code editor:

image

Here you can edit the file, and see the changes in real-time. You can also edit the code while the file is playing, and the changes will be applied immediately.

Now, you can start applying audio effects to the image by enabling the effects you want to use in the Audio Effects section of the interface. You can rearrange the order of the effects by dragging them up and down, and animate the parameters using the drop-down menus next to each effect.

image

You can change the allowed range of each effect by right-clicking on the effect name, and changing the minimum and maximum values. This will change the range the parameter is animated over, and the range of the parameter when being controlled from a DAW.

Rendering a Blender scene

This video explains how to install and use osci-render with Blender. Please note that the video is made for osci-render 1.0, so the interface will look slightly different, but the process is the same.

  • Download the Blender add-on from Releases named osci-render-blender-addon.zip
  • Install and enable the add-on in Blender
  • ‘osci-render settings’ menu will now appear under ‘Render Properties’
  • Open osci-render
  • Click ‘Connect to osci-render’
    • If the filename in osci-render changes to ‘Rendering from Blender’ you have successfully connected
  • Add a camera to the scene (if not already present)
  • Add a Scene Line Art object to the scene
    • Press Shift+A and navigate to Grease Pencil > Scene Line Art
  • Go to ‘Modifier Properties’ of the newly created Line Art object
  • Click ‘Bake Line Art’ under the the ‘Bake’ settings to generate line art for the current animation/scene/camera
  • You should now see the scene on the oscilloscope!

MIDI

To enable MIDI control, open the MIDI settings at the bottom of the interface, and click ‘Enable MIDI’.

Make sure your MIDI device is enabled by clicking Audio > Settings from the top menu, and enabling your MIDI device under Active MIDI inputs:

Building

Windows

TODO

macOS

TODO

Linux

  • Clone osci-render
  • Install required packages
    • sudo apt update
    • sudo apt install libasound2-dev libjack-jackd2-dev ladspa-sdk libcurl4-openssl-dev libfreetype6-dev libx11-dev libxcomposite-dev libxcursor-dev libxcursor-dev libxext-dev libxinerama-dev libxrandr-dev libxrender-dev libwebkit2gtk-4.0-dev libglu1-mesa-dev mesa-common-dev g++ make
  • Download JUCE from here https://juce.com/download/
  • Unzip the file
  • Run Projucer from where you unzipped: ./JUCE/Projucer
  • Open osci-render.jucer in Projucer
  • Go to File > Save Project to create a Makefile
  • Go to the LinuxMakefile folder: cd osci-render/Builds/LinuxMakefile
  • Build the project: make CONFIG=Release for release, or make CONFIG=Debug for testing
  • Go to the build folder: cd build
  • Run osci-render executable, or use the VST3 file

Contact

James H Ball, [email protected]

评论

暂无评论