|Project Name||Stars||Downloads||Repos Using This||Packages Using This||Most Recent Commit||Total Releases||Latest Release||Open Issues||License||Language|
|Jsoncrack.com||25,639||3 days ago||41||gpl-3.0||TypeScript|
|✨ Innovative and open-source visualization application that transforms various data formats, such as JSON, YAML, XML, CSV and more, into interactive graphs.|
|Awesome Algorithms||15,060||5 days ago|
|A curated list of awesome places to learn and/or practice algorithms.|
|G6||10,207||65||414||a day ago||414||August 04, 2023||420||mit||TypeScript|
|Gojs||7,090||16||15 days ago||264||July 31, 2023||other||HTML|
|Smile||5,793||121||34||a month ago||33||June 14, 2023||17||other||Java|
|Statistical Machine Intelligence & Learning Engine|
|Logicflow||5,664||75||a day ago||186||July 17, 2023||61||apache-2.0||TypeScript|
|A flow chart editing framework focusing on business customization. 专注于业务自定义的流程图编辑框架，支持实现脑图、ER图、UML、工作流等各种图编辑场景。|
|Gephi||5,444||7||4||6 days ago||9||January 17, 2023||466||gpl-3.0||Java|
|Gephi - The Open Graph Viz Platform|
|WebGL visualization for displaying animated traffic graphs|
|Serial Studio||3,655||18 hours ago||60||other||C++|
|Multi-purpose serial data visualization & processing program|
SoundWave is a customizable view representing sounds over time.
CocoaPods is a dependency manager for Cocoa projects.
To integrate SoundWave into your Xcode project using CocoaPods, specify it in your
$ pod install to add the framework to your Xcode project.
Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
To integrate SoundWave into your Xcode project using Carthage, specify it in your
$ carthage update to build the framework and drag the built
SoundWave.framework into your Xcode project.
Check out the demo app for an example. It contains the following demos: record sound and display metering levels on the fly, play sound afterwards, resize view, change colors and multiple other properties.
AudioVisualizationView can be added to storyboard or instantiated programmatically:
let audioVisualizationView = AudioVisualizationView(frame: CGRect(x: 0.0, y: 0.0, width: 300.0, height: 500.0))) view.addSubview(audioVisualizationView)
AudioVisualizationView inherits from
UIView and consequently allows you to change all inherited properties (e.g.
You can change width, corner radius and space inter bars for your graph. This will force the graph to redraw:
self.audioVisualizationView.meteringLevelBarWidth = 5.0 self.audioVisualizationView.meteringLevelBarInterItem = 1.0 self.audioVisualizationView.meteringLevelBarCornerRadius = 0.0
You can change style of level bar to single:
self.audioVisualizationView.meteringLevelBarSingleStick = true
You can change grandient start and end color:
self.audioVisualizationView.gradientStartColor = .white self.audioVisualizationView.gradientEndColor = .black
Those variables declared as
IBInspectablecan also be set from Interface Builder.
One sound metering level represents the power in decibels of a sound sample.
First make sure you are in
self.audioVisualizationView.audioVisualizationMode = .write
Your graph representing metering levels will (re)draw every time you pass a new value on the fly by calling the following. The value needs to be between 0 and 1.
You need to calculate a percentage of your decibel values, based on minimum and maximum decibel number of your recording system. If one value is above 1, the metering level bar will not be fully visible within the bounds of the view.
If you need to reset your graph, just call the following:
AudioVisualizationView can take an array of metering levels to play. Those levels are all gathered in its
meteringLevelsArray property, array of Float values again between 0 and 1.
If there are not enough / too many values to fit the screen, those values will be respectively extrapolated / clustered in order to cover nicely the whole width of the screen.
self.audioVisualizationView.audioVisualizationMode = .read self.audioVisualizationView.meteringLevels = [0.1, 0.67, 0.13, 0.78, 0.31] self.audioVisualizationView.play(for: 5.0)
Specify the duration of your sound for the view to play exactly at the same pace (and your metering levels fit the sound power heard by the user).
Note: you can pause / resume / stop the process by calling:
self.audioVisualizationView.pause() self.audioVisualizationView.play(for: durationLeft) self.audioVisualizationView.stop()
As said before, you can also reset the view at any point calling
SoundWave is available under the MIT license. See the LICENSE file for more info.