Package: timeview
TimeViewTimeView is a cross-platform desktop application for viewing and editing Waveforms, Time-Value data, and Segmentation data. These data can easily be analyzed or manipulated using a library of built-in processors; for example, a linear filter can operate on a waveform, or an activity detector can create a segmentation from a waveform. Processors can be easily customized or created created from scratch.This is a very early preview, and is not suitable for general usage yet.FeaturesCross-platform, verified to run on macOS, Linux, and WindowsFlexible arrangement of any number ofpanels, which contain any number of superimposedviews(e.g. waveforms, spectrograms, feature trajectories, segmentations)Views can easily bemovedbetween panelsViews can belinkedso that modifications in one panel are reflected in other panelsCustomizable Renderingof views (e.g. frame_size for spectrogram)On-the-fly Spectrogramrendering automatically adjusts frame-rate and FFT-size to calculate information for each available pixel without interpolationEditable segmentation(insertion, deletion, modification of boundaries; modification of labels)Basicprocessing plug-insare provided (e.g. activity detection, F0-analysis)Processing plug-ins are easilycustomizableorextendableusing pythonAPI allows accessing processing plugins forbatch file processingorpre-configuring the GUI(examples are provided)EDF-file-formatsupportAdataset-managerallows grouping of files into datasets, for quick access to often-used filesCommand Line Interfacesupport, for easy chaining with other toolsAn introductory video is availableInstallationPipTo install TimeView viapipone needs a python 3.6 environment setup in advancepipinstalltimeviewTo execute runtimeviewPipenvTimeView supports installation viapipenvpipenv--python=3.6installtimeviewTo execute runpipenvruntimeviewContributingTimeView welcomes contributors.  Currently the primary use case for TimeView is audio files of speech, however there is no reason we any other signal data cannot be used here.  This is the authors first major project that is public facing and deployable via pip, so there are lots of opportunities to help us make TimeView better.Some immediate goals of the project includeExpanding the test suite (right now it verifies the application starts and that's about it)Incorporatemkl-fftlibrary for faster spectrogram generationCreate documentation and provide a consistent API so other developers can integrate their ownprocessorsorrenderersCreate newrenderers, allowing for modification of pitch curvesIncorporate audio playbackMake better use of multithreadingIncorporate type hinting, such that we can usemypyMake application launch through the GUI of all major operating systemsTo contribute, follow the following stepsFork the repo!Create a feature branch (git checkout -b feature/fooBar)Commit changes (git commit -am 'added feature fooBar!)Push to the branch (git push origin feature/fooBar)Create a Pull Request!TestingTo setup a development environment for TimeView, set up an empty python environmentgitclonehttps://github.com/{username}/timeview.gittimeview# installing dependencies to run and execute testspipinstall-e"timeview[test]"After installing the test dependencies, you can run the tests.pythontimeview/setup.pytestSupportReport issues to theGitHub issue trackerAuthorsDr. Alex Kain - Professor at Oregon Health and Science University - Originally envisioned this project, had lots of existing code to make it happenOgi Moore - Student at Oregon Health and Science University - Hired at BioSpeech to take this project from an idea into something usableAcknowledgmentsBioSpeech for funding the initial work and allowing to open sourceDr. Alex Kain for giving a student trying to make a career transition to a software role an opportunityLibrary maintainers of PyQtGraph, SciPy, NumPy, and other dependencies if it was not for their effort this project would never have existed