Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

[F]inding [T]hings [I]n [S]tuff

License

NotificationsYou must be signed in to change notification settings

jamesb93/ftis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ftis is a framework for data manipulation, management, creation and munging in Python 3.8+. It is designed for creative use, mainly for my own preoccupations with segmenting, analysing, organising, discovering structure within, and composing with audio corpora.

Architecture

The overall architecture can be conceived in two parts; 'analysers' and 'worlds'. Aftis 'world' can house any number of 'analysers' that can be chained and connected in different ways. A python script can house any number of worlds and therefore you can compose multiple processes. Inside of a world,ftis makes connections between a source, the analysers and an output (known as thesink).

Installation

You can installftis usingpip install ftis. This will pull down the necessary dependencies so that all of the analysers that ship withftis work straight away.

You can also fork this repository andclone it to your machine.

Workflow

The simplest setup is to have a virtual environment setup with ftis installed as a module.cd to the clone of your fork offtis and enter the module (the directory containingsetup.py). Once there runpip install -e . to installftis to your activated virtual environment. Once you've designed your script you can easily run it withpython mycoolscript.py. Of course if you have usedpip to installftis then none of the previous advice applies.

There are some good examples of scripts in the examples directory of this repository. Otherwise the basic structure looks like this:

# import ftis modules that we needfromftis.analyser.slicingimportFluidNoveltyslice# novelty slicingfromftis.worldimportWorld# a ftis 'world'fromftis.corpusimportCorpus# a corpus objectsrc=Corpus("~/corpus-folder/corpus1")# corpus object collects audio files at this directoryout="~/corpus-folder/slicing"# set an output folder# instantiate an instance of the processworld=World(sink=out)# Connect together processes using >>src>>FluidNoveltySlice(threshold=0.35,feature=1)>>ExplodeAudio()# now add a Corpus node to our worldworld.build(src)if__name__=="__main__":world.run()# finally run the chain of connected analysers

and thats it! For more information read the full documentation.

Contributing

If you feel up to contributing plumbing code or your own analysers please feel free to do via github.

  1. Fork this repository
  2. Checkout a branch with your new feature
  3. Implement feature
  4. Make a pull request!

[8]ページ先頭

©2009-2025 Movatter.jp