def parse( workName, movementNumber=None, number=None, fileExtensions=None, forceSource=False, format=None # @ReservedAssignment ): ''' The most important method call for corpus. Similar to the :meth:`~music21.converter.parse` method of converter (which takes in a filepath on the local hard drive), this method searches the corpus (including the virtual corpus) for a work fitting the workName description and returns a :class:`music21.stream.Stream`. If `movementNumber` is defined, and a movement is included in the corpus, that movement will be returned. If `number` is defined, and the work is a collection with multiple components, that work number will be returned. For instance, some of our ABC documents contain dozens of folk songs within a single file. Advanced: if `forceSource` is True, the original file will always be loaded freshly and pickled (e.g., pre-parsed) files will be ignored. This should not be needed if the file has been changed, since the filetime of the file and the filetime of the pickled version are compared. But it might be needed if the music21 parsing routine has changed. Example, get a chorale by Bach. Note that the source type does not need to be specified, nor does the name Bach even (since it's the only piece with the title BWV 66.6) >>> bachChorale = corpus.parse('bwv66.6') >>> len(bachChorale.parts) 4 After parsing, the file path within the corpus is stored as `.corpusFilePath` >>> bachChorale.corpusFilepath 'bach/bwv66.6.mxl' ''' return manager.parse( workName=workName, movementNumber=movementNumber, number=number, fileExtensions=fileExtensions, forceSource=forceSource, format=format # @ReservedAssignment )
def parse(workName, movementNumber=None, number=None, fileExtensions=None, forceSource=False, format=None # @ReservedAssignment ): ''' The most important method call for corpus. Similar to the :meth:`~music21.converter.parse` method of converter (which takes in a filepath on the local hard drive), this method searches the corpus (including the virtual corpus) for a work fitting the workName description and returns a :class:`music21.stream.Stream`. If `movementNumber` is defined, and a movement is included in the corpus, that movement will be returned. If `number` is defined, and the work is a collection with multiple components, that work number will be returned. For instance, some of our ABC documents contain dozens of folk songs within a single file. Advanced: if `forceSource` is True, the original file will always be loaded freshly and pickled (e.g., pre-parsed) files will be ignored. This should not be needed if the file has been changed, since the filetime of the file and the filetime of the pickled version are compared. But it might be needed if the music21 parsing routine has changed. Example, get a chorale by Bach. Note that the source type does not need to be specified, nor does the name Bach even (since it's the only piece with the title BWV 66.6) >>> bachChorale = corpus.parse('bwv66.6') >>> len(bachChorale.parts) 4 After parsing, the file path within the corpus is stored as `.corpusFilePath` >>> bachChorale.corpusFilepath 'bach/bwv66.6.mxl' ''' return manager.parse( workName=workName, movementNumber=movementNumber, number=number, fileExtensions=fileExtensions, forceSource=forceSource, format=format # @ReservedAssignment )