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

Reverse-engineered parsers for Ableton Live & FL Studio project files.

License

NotificationsYou must be signed in to change notification settings

offlinemark/dawtool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dawtool parses and extracts data from Digital Audio Workstation (DAW) fileformats.

It provides a high accuracy implementation oftime marker extraction,including support for projects with tempo automation.

Supported formats:

  • Ableton Live set (.als) [v8-12]
  • FL Studio project (.flp) [v10-11, 20]
  • Cue sheet (.cue)

Just browsing? Here are a fewpoints of interest in the codebase.

About

Time markers allow users to annotate the DAW timeline with text. Certain usecases benefit from the ability to export these annotations, such astimestamping a DJ mix, podcast, or film.

dawtool implements time marker export for DAWs that do not implement itnatively, showcasing how DAWs can be extended through project filemanipulation.

For more on how dawtool works, see thetalkabout it at the 2020 Audio Developer Conference.

Usage

Time markers are the only officially supported output. However much moreof the formats are available through internal APIs, such as tempo automationdata.

Python API

Simple API (Markers Only)

importsysimportdawtoolfilename=sys.argv[1]withopen(filename,'rb')asf:markers=dawtool.extract_markers(filename,f)formarkerinmarkers:print(marker.time,marker.text)

Advanced API (Markers & Other Data)

importsysimportdawtoolfilename=sys.argv[1]withopen(filename,'rb')asf:# Load project based on file extensionproj=dawtool.load_project(filename,f)# Parse project, recompute time markersproj.parse()# Access project dataformarkerinproj.markers:print(marker.time,marker.text)

Command line tool

$ dawtool -m my-dj-mix.als00:00.000 nciku - peaceofmind02:15.115 comfort - a n g e l _ w i n g s05:18.654 rose bride rings - femme fatale06:52.654 ranov - butterfly08:47.077 scalade - tempura VIP10:57.423 mirvs - defrosted

Installation

dawtool requires Python 3.7 or greater.

pip install git+https://github.com/offlinemark/dawtool

Status

dawtool is production ready. Ahosted versionhas processed 10,000+ project files since March 2020.

Both the API and CLI should be considered unstable andsubject to change.

Tempo automation is supported for linear automation only. Nonlinearautomation may cause inaccuracies.

Credits

dawtool's .flp parser is based on work from theLMMS,PyDaw, andFLParser projects.

About

Reverse-engineered parsers for Ableton Live & FL Studio project files.

Topics

Resources

License

Stars

Watchers

Forks

Languages


[8]ページ先頭

©2009-2025 Movatter.jp