From 125ee7c6f5cf8a62d8f63d60fb8d8a981d80711b Mon Sep 17 00:00:00 2001 From: ortizcruz Date: Mon, 18 Sep 2023 18:37:34 +0200 Subject: [PATCH] docu updated --- docs/_build/doctrees/app.doctree | Bin 5672 -> 5717 bytes .../doctrees/autotranscript.app.doctree | Bin 34589 -> 56534 bytes docs/_build/doctrees/autotranscript.doctree | Bin 231190 -> 257498 bytes docs/_build/doctrees/environment.pickle | Bin 40760 -> 44618 bytes docs/_build/doctrees/gradio_app.doctree | Bin 2405 -> 0 bytes docs/_build/doctrees/index.doctree | Bin 5900 -> 4151 bytes docs/_build/doctrees/modules.doctree | Bin 2812 -> 2803 bytes docs/_build/doctrees/setup.doctree | Bin 2378 -> 2387 bytes .../doctrees/test_autotranscript.doctree | Bin 2450 -> 2459 bytes docs/_build/doctrees/transcribe.doctree | Bin 2403 -> 2412 bytes .../html/_sources/autotranscript.app.rst.txt | 8 ++ .../html/_sources/autotranscript.rst.txt | 8 ++ docs/_build/html/_sources/gradio_app.rst.txt | 7 - docs/_build/html/_sources/index.rst.txt | 18 +-- docs/_build/html/_sources/modules.rst.txt | 1 - docs/_build/html/app.html | 17 +++ docs/_build/html/autotranscript.app.html | 87 +++++++++++ docs/_build/html/autotranscript.html | 136 +++++++++++++++--- docs/_build/html/genindex.html | 56 ++++++-- docs/_build/html/gradio_app.html | 120 ---------------- docs/_build/html/index.html | 19 +-- docs/_build/html/modules.html | 8 +- docs/_build/html/objects.inv | Bin 940 -> 1017 bytes docs/_build/html/py-modindex.html | 10 ++ docs/_build/html/searchindex.js | 2 +- docs/_build/html/setup.html | 5 +- docs/_build/html/test_autotranscript.html | 1 - docs/_build/html/transcribe.html | 1 - docs/autotranscript.app.rst | 8 ++ docs/autotranscript.rst | 8 ++ docs/conf.py | 2 +- docs/gradio_app.rst | 7 - docs/index.rst | 18 +-- docs/modules.rst | 1 - 34 files changed, 332 insertions(+), 216 deletions(-) delete mode 100644 docs/_build/doctrees/gradio_app.doctree delete mode 100644 docs/_build/html/_sources/gradio_app.rst.txt delete mode 100644 docs/_build/html/gradio_app.html delete mode 100644 docs/gradio_app.rst diff --git a/docs/_build/doctrees/app.doctree b/docs/_build/doctrees/app.doctree index aa46bd293affaf1795d135638030895fe3d7db79..3f7ebc98eb9120c708ce7a61c4ee38e2e1cdca69 100644 GIT binary patch delta 129 zcmZ3Xb5)0>fpx0aMiw_lMyJW%j5?e~`o+mbiJ3{Mlgk-<7_(8uHXATKV?-C6Y`|o> fxrRlWl`#udHBdrh^Bc}OF2)!P3H8nUM6wtG_Jb!- delta 79 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 literal 34589 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 z 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%0D<5orYL3&|wK6O&6mbmKYiwvL`MQpBzkP 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 diff --git a/docs/_build/doctrees/environment.pickle b/docs/_build/doctrees/environment.pickle index 9e37e4b0b4dadcf81dc63636b3c2b8d972458aac..46bf7a157ee4ee69513352b9d5afcf9c643a300d 100644 GIT binary patch literal 44618 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 S;~{@%K|I-wO$dmoR{kGS;Q8GE literal 40760 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 Dc3%(6 delta 2068 zcmb`IO>7%Q6vyM(>)3>*O^_1o6fzuIHo*@05F!{Pk{*gG1fnQ{Q)I8#Q@`D=cP;O% z;$7{tM=dHd$Q zdGELXdH$I2Mdga}USeinv5)__;W1~krP;3DGMa4v@^cSuf=4#II$2#NOKYX&r%S8L z`(M2^^v-QDH+nVktoUTKApRJADZlVKwRERJ33D)Q{4jAonadZBcJC&=XVxl*V=5(b z*0ZdgAXP(Sv_|^X8;(sp*Rbnk4!1Xpo^QS z#kI0mMLh5Sr)JLoKh5+@DvP$VBJQR|;$3lRtTW|%a0;%#xo*}nc4h8*DYl@;J%t!c@3V3;6YkyM1`g31)n-+*9;xMi)Pmd z)2bGABOTq()vy0UM7q#<5(~WnryZuIxIRp%d^r`HW+Qh z-28Z{MK6>pb&8s((RL*)WW5)DI}rE?f3QihXuDo+zkmU;3=r=Hp41)qFmN&!V&`Jc9RX4u6kr1z+hqZ2DXAS^DHfp2iI|NB7|! zo(+}_RJ0F2^D(s8PLpCbnS+nxleU|dp&QKK3*6gU%l6+6;+WQ|Q|8BtlWO?73pI!5 z-NExzMXtWY73qAAtDAlBFC+IaB2W=Xyg~N|`DXy~n`l3T_V)uevWhbFS()j?$OxPk zw^9!mRQPEaR%Q}IB(C}qxXcr{VR&Njd#tcHr#wuXBjH)9f(G3CXH>^R&AC*=$u_7s zb4fNUr)rN?|5XoH|J5WD<9@nR^Mv6j;u|-3NY2mQ=V7*USdmril-aXKk%P<>hjNzl7_1 XfpgD;oUGs)6oP$l!#ntO;?=}o+N}1( diff --git a/docs/_build/doctrees/modules.doctree b/docs/_build/doctrees/modules.doctree index 387e742c8a498cc1938da6df7eddbf9c30c8e315..7ff31b66759041fc1c5979e2335bb43b0246b1ed 100644 GIT binary patch delta 83 zcmew(`dO5vfpzMOjVykQjBb;I8Fe^~^ox^=5;K!hC)YDBnrz7AzqyG?gPE~?^J>-y m%rc1?am78Hd5O8HC6xuK#ZzjhWF&SLXD9;cxXsHsLm2_kydGZw delta 88 zcmew?`bU(dfpzM~jVykQjJA`58FeOiFfQWeN-s)G$;^*WEGU?)$`rzs;kCJvNrRcO rbMqqB2h1|b841NboOy}4sU?*Ksl`)jr(`5|7H22|>4eSmI71l$V{{+v diff --git a/docs/_build/doctrees/setup.doctree b/docs/_build/doctrees/setup.doctree index 7ea34fd73b1e5ceb064d8e5d44ef17b1ce435380..ffe1050c2b243065712e3a1cbd90cada46052bb5 100644 GIT binary patch delta 34 qcmX>lbXka{fpx0KMix&-MwiKcj5?e~`o+mbiJ3{Mo2wWvumb?M*9yV_ delta 24 gcmcaCbV`V&fpx0=Mix&-M(fFbj5?c}885H{0AS+>b^rhX diff --git a/docs/_build/doctrees/test_autotranscript.doctree b/docs/_build/doctrees/test_autotranscript.doctree index b1fbb193a2770e6740a8eb1191c6a9667fb79c16..8f89d15d7a6ead3657c69fc675f6798424a86b64 100644 GIT binary patch delta 34 qcmbOvJX@HhfpzMHjV$Smj6sug7 + + @@ -63,11 +65,26 @@

Navigation

+

Contents:

+ diff --git a/docs/_build/html/autotranscript.app.html b/docs/_build/html/autotranscript.app.html index 5beafa2..d3b285e 100644 --- a/docs/_build/html/autotranscript.app.html +++ b/docs/_build/html/autotranscript.app.html @@ -16,6 +16,8 @@ + + @@ -37,6 +39,74 @@

Submodules

+
+

autotranscript.app.gradio_app module

+
+

Gradio Audio Transcription App.

+

This module provides an interface to transcribe audio files using the +AutoTranscribe model. Users can either upload an audio file or record their speech +live for transcription. The application supports multiple languages and provides +options to specify the number of speakers and the language of the audio.

+
+
Attributes:

LANGUAGES (list): A list of supported languages for transcription.

+
+
Usage:

Run this script to start the Gradio web interface for audio transcription.

+
+
+
+
+class GradioTranscriptionInterface(model: AutoTranscribe)
+

Bases: object

+

Interface handling the interaction between Gradio UI and the Audio Transcription system.

+
+
+__init__(model: AutoTranscribe)
+

Initializes the GradioTranscriptionInterface with a transcription model.

+
+
Args:

model (AutoTranscribe): Model responsible for audio transcription tasks.

+
+
+
+ +
+
+auto_transcribe(source, num_speakers: int, translation: bool, language: str)
+

Shortcut method for the AutoTranscribe task.

+
+
Returns:

tuple: Transcribed text (str), JSON output (dict)

+
+
+
+ +
+
+perform_diarisation(source, num_speakers)
+

Shortcut method for the Diarisation task.

+
+
Returns:

str: JSON output of diarisation result.

+
+
+
+ +
+
+transcribe(source, translation, language)
+

Shortcut method for the Transcribe task.

+
+
Returns:

str: Transcribed text.

+
+
+
+ +
+ +
+
+gradio_Interface(model: AutoTranscribe = None)
+
+ +
+

autotranscript.app.qtfaststart module

This file contains a modified version of qtfaststart by qtfaststart @@ -185,11 +255,28 @@ like “ftyp” or “moov”.

Navigation

+

Contents:

+ diff --git a/docs/_build/html/autotranscript.html b/docs/_build/html/autotranscript.html index 302040a..0766505 100644 --- a/docs/_build/html/autotranscript.html +++ b/docs/_build/html/autotranscript.html @@ -16,6 +16,8 @@ + + @@ -40,6 +42,10 @@
  • autotranscript.app package @@ -215,6 +221,54 @@ get_audio_file: Gets an audio file as an AudioProcessor object.

    +
    +
    +__repr__()
    +

    Return repr(self).

    +
    + +
    +
    +autotranscribe(audio_file: Union[str, torch.Tensor, numpy.ndarray], remove_original: bool = False, **kwargs) Transcript
    +

    Transcribes an audio file using the whisper model and pyannote diarization model.

    +
    +
    Args:
    +
    audio_file (Union[str, torch.Tensor, ndarray]):

    Path to audio file or a tensor representing the audio.

    +
    +
    remove_original (bool, optional): If True, the original audio file will

    be removed after transcription.

    +
    +
    +

    *args: Additional positional arguments for diarization and transcription. +**kwargs: Additional keyword arguments for diarization and transcription.

    +
    +
    Returns:
    +
    Transcript: A Transcript object containing the transcription,

    which can be exported to different formats.

    +
    +
    +
    +
    +
    + +
    +
    +diarization(audio_file: Union[str, torch.Tensor, numpy.ndarray], **kwargs) dict
    +

    Perform diarization on an audio file using the pyannote diarization model.

    +
    +
    Args:
    +
    audio_file (Union[str, torch.Tensor, ndarray]):

    The audio source which can either be a path to the audio file or a tensor representation.

    +
    +
    **kwargs:

    Additional keyword arguments for diarization.

    +
    +
    +
    +
    Returns:
    +
    dict:

    A dictionary containing the results of the diarization process.

    +
    +
    +
    +
    +
    +
    static get_audio_file(audio_file: Union[str, torch.Tensor, numpy.ndarray], *args, **kwargs) AudioProcessor
    @@ -224,8 +278,8 @@ get_audio_file: Gets an audio file as an AudioProcessor object.

    audio_file (Union[str, torch.Tensor, ndarray]): Path to the audio file or

    a tensor representing the audio.

    -

    *args: Additional positional arguments. -**kwargs: Additional keyword arguments.

    +

    *args: Additional positional arguments. +**kwargs: Additional keyword arguments.

    Returns:
    AudioProcessor: An object containing the waveform and sample rate in

    torch.Tensor format.

    @@ -251,20 +305,18 @@ shred (bool, optional): If True, the audio file will be shredded,

    -transcribe(audio_file: Union[str, torch.Tensor, numpy.ndarray], remove_original: bool = False, **kwargs) Transcript
    -

    Transcribes an audio file using the whisper model and pyannote diarization model.

    -
    +transcribe(audio_file: Union[str, torch.Tensor, numpy.ndarray], **kwargs) +

    Transcribe the provided audio file.

    +
    Args:
    -
    audio_file (Union[str, torch.Tensor, ndarray]):

    Path to audio file or a tensor representing the audio.

    +
    audio_file (Union[str, torch.Tensor, ndarray]):

    The audio source, which can either be a path or a tensor representation.

    -
    remove_original (bool, optional): If True, the original audio file will

    be removed after transcription.

    +
    **kwargs:

    Additional keyword arguments for transcription.

    -

    *args: Additional positional arguments for diarization and transcription. -**kwargs: Additional keyword arguments for diarization and transcription.

    Returns:
    -
    Transcript: A Transcript object containing the transcription,

    which can be exported to different formats.

    +
    str:

    The transcribed text from the audio source.

    @@ -273,9 +325,17 @@ shred (bool, optional): If True, the audio file will be shredded,

    +
+ +
+

autotranscript.cli module

+

Command-Line Interface (CLI) for the AutoTranscribe class, +allowing for user interaction to transcribe and diarize audio files. +The function includes arguments for specifying the audio files, model paths, +output formats, and other options necessary for transcription.

-
-cli()
+
+cli()

Command-Line Interface (CLI) for the AutoTranscribe class, allowing for user interaction to transcribe and diarize audio files. The function includes arguments for specifying the audio files, model paths, output formats, and other options necessary for transcription.

@@ -283,7 +343,6 @@ output formats, and other options necessary for transcription.

user-friendly way to access the AutoTranscribe class functionalities.

-

autotranscript.diarisation module

@@ -372,7 +431,7 @@ to the diarization process.

-classmethod load_model(model: str = '/home/ortizcruzc/.cache/torch/models/pyannote/config.yaml', token: str = None, cache_token: bool = False, cache_dir: Union[Path, str] = '/home/ortizcruzc/.cache/torch/models/pyannote', hparams_file: Union[str, Path] = None) pyannote.audio.Pipeline
+classmethod load_model(model: str = '/home/ortizcruzc/.cache/torch/models/pyannote/config.yaml', use_auth_token: str = None, cache_token: bool = True, cache_dir: Union[Path, str] = '/home/ortizcruzc/.cache/torch/models/pyannote', hparams_file: Union[str, Path] = None, *args, **kwargs) pyannote.audio.Pipeline

Loads a pretrained model from pyannote.audio, either from a local cache or online repository.

@@ -383,7 +442,9 @@ either from a local cache or online repository.

token: Optional HUGGINGFACE_TOKEN for authenticated access. cache_token: Whether to cache the token locally for future use. cache_dir: Directory for caching models. -hparams_file: Path to a YAML file containing hyperparameters.

+hparams_file: Path to a YAML file containing hyperparameters. +args: Additional arguments only to avoid errors. +kwargs: Additional keyword arguments only to avoid errors.

Returns:

Pipeline: A pyannote.audio Pipeline object, encapsulating the loaded model.

@@ -483,9 +544,9 @@ the load_model method for available options.

-classmethod load_model(model: str = 'medium', download_root: str = '/home/ortizcruzc/.cache/torch/models/whisper', device: Optional[Union[str, torch.device]] = None, in_memory: bool = False) Transcriber
+classmethod load_model(model: str = 'medium', download_root: str = '/home/ortizcruzc/.cache/torch/models/whisper', device: Optional[Union[str, torch.device]] = None, in_memory: bool = False, *args, **kwargs) Transcriber

Load whisper model.

-
+
Args:
model (str): Whisper model. Available models include:
  • ‘tiny.en’

  • @@ -508,6 +569,8 @@ the load_model method for available options.

    in_memory (bool, optional): Whether to load model in memory.

    Defaults to False.

+

args: Additional arguments only to avoid errors. +kwargs: Additional keyword arguments only to avoid errors.

Returns:

Transcriber: A Transcriber object initialized with the specified model.

@@ -533,8 +596,8 @@ save_path (str): The path to save the transcript.

Transcribe an audio file.

Args:

audio (Union[str, Tensor, nparray]): The audio file to transcribe. -*args: Additional arguments. -**kwargs: Additional keyword arguments,

+*args: Additional arguments. +**kwargs: Additional keyword arguments,

such as the language of the audio file.

@@ -601,7 +664,7 @@ contain speaker and segment information.

Args:

args (list): List of speaker names. These will be mapped sequentially to the speakers. kwargs (dict): Dictionary with speaker names as keys and list of segments as values.

-
Returns:

dict: Dictionary with speaker names as keys and the corresponding annotation as values.

+
Returns:

dict: Dictionary with speaker names as keys and list of segments as values.

Raises:
ValueError: If the number of speaker names does not match the number

of speakers, or if an unknown speaker is found.

@@ -611,6 +674,18 @@ kwargs (dict): Dictionary with speaker names as keys and list of segments as val
+
+
+classmethod from_json(json: Union[dict, str]) Transcript
+

Load transcript from json file

+
+
Args:

path (str): path to json file

+
+
Returns:

Transcript: Transcript object

+
+
+
+
get_dict() dict
@@ -641,7 +716,7 @@ kwargs (dict): Dictionary with speaker names as keys and list of segments as val
-get_json(*args, **kwargs) str
+get_json(*args, use_annotation: bool = True, **kwargs) str

Get transcript as json string :return: transcript as json string :rtype: str

@@ -677,8 +752,8 @@ MD, HTML, TEX, and PDF. The file format is determined by the extension of the path.

Args:

path (str): Path to save the file, including the desired file extension. -*args: Additional positional arguments to be passed to the specific save methods. -**kwargs: Additional keyword arguments to be passed to the specific save methods.

+*args: Additional positional arguments to be passed to the specific save methods. +**kwargs: Additional keyword arguments to be passed to the specific save methods.

Raises:

ValueError: If the file format specified in the path is unknown.

@@ -784,11 +859,26 @@ the path.

Navigation

+

Contents:

+ diff --git a/docs/_build/html/genindex.html b/docs/_build/html/genindex.html index 2afa676..21fe6b3 100644 --- a/docs/_build/html/genindex.html +++ b/docs/_build/html/genindex.html @@ -60,6 +60,8 @@
  • (AutoTranscribe method)
  • (Diariser method) +
  • +
  • (GradioTranscriptionInterface method)
  • (Transcriber method)
  • @@ -72,6 +74,8 @@ + +
    • autotranscript.audio @@ -131,13 +148,18 @@
    • module
    - - - + @@ -235,10 +263,10 @@
  • get_index() (in module autotranscript.app.qtfaststart)
  • - - + @@ -280,12 +312,16 @@
  • autotranscript
  • autotranscript.app +
  • +
  • autotranscript.app.gradio_app
  • autotranscript.app.qtfaststart
  • autotranscript.audio
  • autotranscript.autotranscript +
  • +
  • autotranscript.cli
  • autotranscript.diarisation
  • @@ -313,6 +349,8 @@ + + + + + +
    -
  • gradio_app module
  • setup module
  • test_autotranscript module
  • transcribe module
  • @@ -102,7 +103,6 @@
  • autotranscript
    • app module
    • autotranscript package
    • -
    • gradio_app module
    • setup module
    • test_autotranscript module
    • transcribe module
    • @@ -114,7 +114,7 @@

      Related Topics

      diff --git a/docs/_build/html/objects.inv b/docs/_build/html/objects.inv index 8076eb1007c3a3d87b4e2dd74b5f1d9cb8c175c6..f7e24abf350dd5fb8970018895983176d043f3e5 100644 GIT binary patch delta 907 zcmV;619beX2l)q(e1E-}!E)Om5Qgu53U%76HSIMw&ou4ikeSTbogOt9t!x?zD6BGe zPJNBOUZ12OY)i5wI}#|D1OfZ)0zY_>h?J4s-xVS)bBI1iM9O%JMgGy%%s)l*nXQvV zX-KHx2pqLF$x2R<2_Ai^jgGxbnG%FVlqgHQ+POr5if~O8lYiKbq}6m8RJ)m+kK>~G z4TN~3NXkSK8Ww-AimOw*nTZE8lPV(=tS6cit?k_OIP&ulCkf*WlcX9H;8vv5`Ld?T z(RK~*;ZmCaLKR8Mh+>*lI(rAV!3TLLwv^G_IK#ldF(Vo^5`_W8+@Qq^6orRs&rwF6 z3Z(Lr=LM9LqJNq|f@qegLe>1`MZ%Fz_W{DesjM zDj@xlPAxs>-qkS9Fn@3QNgfEieTWVMQkS^}VP#4b zNoKZmFk&vOJWdNd7#S+sJ;3q1 zuoLLHIe$8tS(Q2^4Rqt4AH+j-wwon|d;_7C**nuDv!7t zlz7!94%BiF$xF`t%<+ouWBSRXkE)3|h|h9@Kxn@sxGpBJt8OnLWYnO=tJbJTs;L_o zL{zsaia&;oqOXIx-#00ytKg?}wS0hz?(JKR-4&*rQW{ z^Xeu~H~k)}x`sAuz;1YX+8dejwlfVx(QVt%)j6A`Yk#s6r|oO&W>{5)>*v}I>yDu9 h<-c$7JDMG&%kGG*6Tv2_zN|Yy-RofY9|W=9E)X1QxKRKA delta 829 zcmV-D1H%0I2doE>e1El=&2HQv5XbNP6t3FqTJ1HrNKK?3B1KB79xZ~$yCgPH7)QG~ z^)>o>eUgIluJNwzWDUMpe9eym{vJMvl!@G5RU)rTNWLaS%5;lW`Pr4Mza;CGEt5oP z$f)259JMtmYEF>}o_y`?A~2=U ztXcWUT+QBM`g&_p4>onPqaY6s!!Z*F{s36Z8>NJbNWUXxAyftVEh`~5{3qA7ltQ7w zn@$ME?x0{i&wq$n(X*g3pSc0d=(grBk(tI-*u_IiB`D~KJ}Mw?E(4Ht&O}HYw)W|@ z{ocFbIkk+$y-7DtFec_P&Tu;BT?l+Xh+YJwZnulVDwL?Q!u-9{k-$r({hlf$Mv zQ&t`&{obTuPUIQF1c_(_I6v|X0-M6OZVqEGi)O>mJhXSBkJ3XEk<5}pIR{xWO#=jD z%~NxuDcGhr#yzRZc|z`fCl%nAM@b+1#0#}NLJE@eICH+D$CzRA7^7-pqUy;`76}~| zPrGCWyMN})9YaPQ?dYo;^-MJl1EYv)6dkUuQMATo$b@r&1YrTRJ$dAe;zDR^x)AzV z&)c6qfUfd|!07ILk;yg+Er3O_)bbhfLaS%Ui!7eu%Dh+xyo@L;csJ{}eg&n&&d)8O zk-SH{{1kKqv5P@cCK~grT+n3Qy%gI-;v7GHFn{)2pF@+=J1e0tWCKHQ$K#;Ri-8yC z7PtZK-i9ouBv0nRVnBydXa2(`R~tp_b?&6guGF>lTD9Zu@U4kQ{sko!6(lGU|9&U& z-=DuaG41OLI5vmdPbTthYH8Mb0Tt1J0G;)eOoj%Gb<1FPA~U+qjKKwOaoDL z+cr0JWzOco)!*BB*Y-WtcdIFI?Oa_ueF)lK*2lCnQ0*W?b_Zm4*7Hf-<=O$dR;}HC HVy%|^iqw$I diff --git a/docs/_build/html/py-modindex.html b/docs/_build/html/py-modindex.html index e5840ab..ad44525 100644 --- a/docs/_build/html/py-modindex.html +++ b/docs/_build/html/py-modindex.html @@ -61,6 +61,11 @@
  •     autotranscript.app
        + autotranscript.app.gradio_app +
        @@ -76,6 +81,11 @@     autotranscript.autotranscript
        + autotranscript.cli +
        diff --git a/docs/_build/html/searchindex.js b/docs/_build/html/searchindex.js index 9b1692d..776da5e 100644 --- a/docs/_build/html/searchindex.js +++ b/docs/_build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["app", "autotranscript", "autotranscript.app", "gradio_app", "index", "modules", "setup", "test_autotranscript", "transcribe"], "filenames": ["app.rst", "autotranscript.rst", "autotranscript.app.rst", "gradio_app.rst", "index.rst", "modules.rst", "setup.rst", "test_autotranscript.rst", "transcribe.rst"], "titles": ["app module", "autotranscript package", "autotranscript.app package", "gradio_app module", "Welcome to AutoTranscript\u2019s documentation!", "autotranscript", "setup module", "test_autotranscript module", "transcribe module"], "terms": {"parse_cont": 0, "content": [0, 5], "filenam": 0, "date": 0, "update_output": 0, "list_of_cont": 0, "list_of_nam": 0, "list_of_d": 0, "app": [1, 4, 5], "qtfaststart": [1, 5], "thi": [1, 2], "provid": [1, 2], "audioprocessor": 1, "util": 1, "pytorchaudio": 1, "handl": 1, "file": [1, 2], "It": 1, "includ": [1, 2], "function": 1, "load": 1, "cut": 1, "manag": 1, "waveform": 1, "offer": 1, "effici": 1, "flexibl": 1, "process": [1, 2], "avail": 1, "method": [1, 2], "usag": 1, "from": [1, 2], "audio_import": 1, "from_fil": 1, "path": 1, "audiofil": 1, "wav": 1, "cut_waveform": 1, "start": 1, "1": [1, 2], "0": [1, 2], "end": 1, "5": 1, "constant": 1, "sample_r": 1, "int": 1, "default": 1, "sampl": [1, 2], "rate": 1, "normalization_factor": 1, "float": 1, "normal": 1, "factor": 1, "torch": 1, "tensor": 1, "sr": 1, "16000": 1, "arg": 1, "kwarg": 1, "base": [1, 2, 4], "object": 1, "leverag": 1, "attribut": 1, "The": [1, 2], "__init__": 1, "none": 1, "initi": 1, "option": 1, "addit": 1, "argument": 1, "keyword": 1, "e": 1, "g": [1, 2], "devic": 1, "us": [1, 2, 4], "If": [1, 2], "cuda": 1, "rais": [1, 2], "valueerror": 1, "type": [1, 2], "__repr__": [1, 2], "str": 1, "return": [1, 2], "repr": 1, "self": 1, "segment": 1, "between": 1, "specifi": 1, "time": 1, "second": 1, "classmethod": 1, "creat": [1, 2], "an": [1, 2], "instanc": 1, "contain": [1, 2, 4], "static": 1, "load_audio": 1, "open": 1, "read": [1, 2], "mono": 1, "resampl": 1, "necessari": 1, "ensur": 1, "compat": 1, "pyannot": 1, "requir": 1, "ffmpeg": 1, "cli": 1, "desir": 1, "tupl": [1, 2], "A": [1, 2], "numpi": 1, "arrai": 1, "float32": 1, "dtype": 1, "runtimeerror": 1, "fail": 1, "serv": 1, "core": 1, "transcript": [1, 4], "system": 1, "respons": 1, "diariz": [1, 4], "pretrain": 1, "model": [1, 4], "speech": [1, 4], "text": [1, 4], "whisper": 1, "speaker": [1, 4], "access": 1, "interfac": [1, 2, 4], "task": 1, "separ": 1, "timestamp": 1, "By": 1, "encapsul": 1, "complex": 1, "underli": 1, "allow": 1, "straightforward": 1, "integr": 1, "variou": 1, "applic": 1, "rang": 1, "servic": 1, "voic": 1, "assist": 1, "main": 1, "perform": 1, "format": [1, 2], "output": 1, "import": 1, "whisper_model": 1, "dia_model": 1, "union": 1, "bool": 1, "diarisationtyp": 1, "incorpor": 1, "comprehens": 1, "appropri": 1, "remove_audio_fil": 1, "remov": 1, "origin": [1, 2], "avoid": 1, "disk": 1, "space": 1, "issu": 1, "data": 1, "privaci": 1, "get_audio_fil": 1, "get": 1, "itself": 1, "diarisation_model": 1, "audio_fil": 1, "ndarrai": 1, "torchaudioprocessor": 1, "repres": 1, "posit": [1, 2], "shred": 1, "fals": 1, "audio_file_path": 1, "true": 1, "just": 1, "remove_origin": 1, "after": 1, "which": [1, 2], "can": [1, 2], "export": 1, "differ": 1, "command": 1, "line": 1, "user": 1, "interact": 1, "other": [1, 2], "execut": 1, "friendli": 1, "wai": [1, 2], "heart": 1, "identifi": 1, "individu": 1, "given": 1, "token_path": 1, "token": 1, "pyannote_default_path": 1, "pyannote_default_config": 1, "configur": 1, "load_model": 1, "config": 1, "yaml": 1, "diarisation_output": 1, "determin": 1, "who": 1, "spoke": 1, "when": [1, 2], "dict": 1, "annot": 1, "effect": 1, "each": 1, "dictionari": 1, "name": [1, 2], "inform": 1, "relat": 1, "format_diarization_output": 1, "dia": 1, "raw": 1, "more": 1, "usabl": 1, "structur": 1, "project": 1, "represent": [1, 2], "kei": 1, "list": [1, 2], "valu": 1, "home": 1, "ortizcruzc": 1, "cach": 1, "cache_token": 1, "cache_dir": 1, "hparams_fil": 1, "pipelin": 1, "either": 1, "local": 1, "onlin": 1, "repositori": 1, "speaker_diar": 1, "huggingface_token": 1, "authent": 1, "whether": [1, 2], "futur": 1, "directori": 1, "hyperparamet": 1, "config_diarization_yaml": 1, "file_path": 1, "path_to_segment": 1, "updat": 1, "offlin": 1, "manual": 1, "manipul": 1, "filenotfounderror": 1, "found": 1, "tool": [1, 4], "work": 1, "save": 1, "act": 1, "simplifi": 1, "featur": 1, "size": [1, 2], "nparrai": 1, "adapt": 1, "languag": 1, "specif": 1, "control": 1, "verbos": 1, "whisper_default_path": 1, "download": 1, "your_packag": 1, "medium": 1, "save_transcript": 1, "txt": 1, "wrapper": 1, "around": 1, "intricaci": 1, "easi": 1, "_get_whisper_kwarg": 1, "privat": 1, "valid": 1, "exampl": 1, "note": 1, "support": [1, 2], "pleas": 1, "refer": 1, "download_root": 1, "in_memori": 1, "tini": 1, "en": 1, "small": [1, 2], "larg": 1, "v1": 1, "v2": 1, "memori": 1, "save_path": 1, "string": [1, 2], "store": 1, "json": 1, "html": 1, "latex": 1, "should": 1, "correspond": 1, "id": 1, "descript": 1, "__str__": 1, "convert": [1, 2], "stamp": 1, "associ": [1, 2], "These": 1, "map": 1, "sequenti": 1, "number": [1, 2], "doe": [1, 2], "match": 1, "unknown": 1, "get_dict": 1, "get_html": 1, "get_json": 1, "rtype": 1, "get_md": 1, "markdown": 1, "get_tex": 1, "ar": 1, "present": 1, "first": 1, "letter": 1, "alphabet": 1, "md": 1, "tex": 1, "pdf": 1, "extens": 1, "pass": 1, "to_html": 1, "paramet": 1, "to_json": 1, "to_md": 1, "to_pdf": 1, "placehold": 1, "implement": 1, "need": [1, 2], "to_tex": 1, "to_txt": 1, "get_vers": 1, "build_vers": 1, "git_vers": 1, "modifi": 2, "version": [2, 5], "http": 2, "github": 2, "com": 2, "danielgtaylor": 2, "tree": 2, "master": 2, "all": 2, "credit": 2, "goe": 2, "author": 2, "copyright": 2, "c": 2, "2008": 2, "2013": 2, "daniel": 2, "taylor": 2, "dan": 2, "programm": 2, "art": 2, "org": 2, "permiss": 2, "herebi": 2, "grant": 2, "free": 2, "charg": 2, "ani": 2, "person": 2, "obtain": 2, "copi": 2, "softwar": 2, "document": 2, "deal": 2, "without": 2, "restrict": 2, "limit": 2, "right": 2, "merg": 2, "publish": 2, "distribut": 2, "sublicens": 2, "sell": 2, "permit": 2, "whom": 2, "furnish": 2, "do": 2, "so": 2, "subject": 2, "follow": 2, "condit": 2, "abov": 2, "notic": 2, "shall": 2, "substanti": 2, "portion": 2, "THE": 2, "IS": 2, "AS": 2, "warranti": 2, "OF": 2, "kind": 2, "express": 2, "OR": 2, "impli": 2, "BUT": 2, "NOT": 2, "TO": 2, "merchant": 2, "fit": 2, "FOR": 2, "particular": 2, "purpos": 2, "AND": 2, "noninfring": 2, "IN": 2, "NO": 2, "event": 2, "holder": 2, "BE": 2, "liabl": 2, "claim": 2, "damag": 2, "liabil": 2, "action": 2, "contract": 2, "tort": 2, "otherwis": 2, "aris": 2, "out": 2, "connect": 2, "WITH": 2, "class": [2, 5], "atom": 2, "nice": 2, "alia": 2, "field": 2, "2": 2, "except": 2, "faststartexcept": 2, "someth": 2, "bad": 2, "happen": 2, "dure": 2, "faststartsetuperror": 2, "rasis": 2, "ask": 2, "malformedfileerror": 2, "input": 2, "setup": [2, 4, 5], "unexpect": 2, "unsupportedformaterror": 2, "movi": 2, "recogn": 2, "find_atom": 2, "datastream": 2, "compatibilti": 2, "_find_atoms_ex": 2, "get_chunk": 2, "stream": 2, "chunk_siz": 2, "get_index": 2, "index": [2, 4], "top": 2, "level": 2, "absolut": 2, "byte": 2, "ftyp": 2, "24": 2, "moov": 2, "25": 2, "2658": 2, "2683": 2, "8": 2, "element": 2, "order": 2, "thei": 2, "appear": 2, "infilenam": 2, "inf": 2, "quicktim": 2, "mp4": 2, "move": 2, "metadata": 2, "front": 2, "write": 2, "new": 2, "set": 2, "than": 2, "zero": 2, "veri": 2, "full": 2, "header": 2, "bug": 2, "report": 2, "read_atom": 2, "where": 2, "alreadi": 2, "fourcc": 2, "like": 2, "modul": [4, 5], "search": 4, "page": 4, "packag": [4, 5], "subpackag": 5, "submodul": 5, "audio": 5, "processor": 5, "autotranscrib": 5, "diaris": 5, "misc": 5, "transcrib": [4, 5], "transcript_export": 5, "gradio_app": [4, 5], "test_autotranscript": [4, 5], "fulli": 4, "autom": 4, "ai": 4, "pytorch": 4, "gener": 4}, "objects": {"": [[0, 0, 0, "-", "app"], [1, 0, 0, "-", "autotranscript"]], "app": [[0, 1, 1, "", "parse_contents"], [0, 1, 1, "", "update_output"]], "autotranscript": [[2, 0, 0, "-", "app"], [1, 0, 0, "-", "audio"], [1, 0, 0, "-", "autotranscript"], [1, 0, 0, "-", "diarisation"], [1, 0, 0, "-", "misc"], [1, 0, 0, "-", "transcriber"], [1, 0, 0, "-", "transcript_exporter"], [1, 0, 0, "-", "version"]], "autotranscript.app": [[2, 0, 0, "-", "qtfaststart"]], "autotranscript.app.qtfaststart": [[2, 2, 1, "", "Atom"], [2, 5, 1, "", "FastStartException"], [2, 5, 1, "", "FastStartSetupError"], [2, 5, 1, "", "MalformedFileError"], [2, 5, 1, "", "UnsupportedFormatError"], [2, 1, 1, "", "find_atoms"], [2, 1, 1, "", "get_chunks"], [2, 1, 1, "", "get_index"], [2, 1, 1, "", "process"], [2, 1, 1, "", "read_atom"]], "autotranscript.app.qtfaststart.Atom": [[2, 3, 1, "", "__repr__"], [2, 4, 1, "", "name"], [2, 4, 1, "", "position"], [2, 4, 1, "", "size"]], "autotranscript.audio": [[1, 2, 1, "", "AudioProcessor"]], "autotranscript.audio.AudioProcessor": [[1, 3, 1, "", "__init__"], [1, 3, 1, "", "__repr__"], [1, 3, 1, "", "cut"], [1, 3, 1, "", "from_file"], [1, 3, 1, "", "load_audio"]], "autotranscript.autotranscript": [[1, 2, 1, "", "AutoTranscribe"], [1, 1, 1, "", "cli"]], "autotranscript.autotranscript.AutoTranscribe": [[1, 3, 1, "", "__init__"], [1, 3, 1, "", "get_audio_file"], [1, 3, 1, "", "remove_audio_file"], [1, 3, 1, "", "transcribe"]], "autotranscript.diarisation": [[1, 2, 1, "", "Diariser"]], "autotranscript.diarisation.Diariser": [[1, 3, 1, "", "__init__"], [1, 3, 1, "", "__repr__"], [1, 3, 1, "", "diarization"], [1, 3, 1, "", "format_diarization_output"], [1, 3, 1, "", "load_model"]], "autotranscript.misc": [[1, 1, 1, "", "config_diarization_yaml"]], "autotranscript.transcriber": [[1, 2, 1, "", "Transcriber"]], "autotranscript.transcriber.Transcriber": [[1, 3, 1, "", "__init__"], [1, 3, 1, "", "__repr__"], [1, 3, 1, "", "load_model"], [1, 3, 1, "", "save_transcript"], [1, 3, 1, "", "transcribe"]], "autotranscript.transcript_exporter": [[1, 2, 1, "", "Transcript"]], "autotranscript.transcript_exporter.Transcript": [[1, 3, 1, "", "__init__"], [1, 3, 1, "", "__repr__"], [1, 3, 1, "", "__str__"], [1, 3, 1, "", "annotate"], [1, 3, 1, "", "get_dict"], [1, 3, 1, "", "get_html"], [1, 3, 1, "", "get_json"], [1, 3, 1, "", "get_md"], [1, 3, 1, "", "get_tex"], [1, 3, 1, "", "save"], [1, 3, 1, "", "to_html"], [1, 3, 1, "", "to_json"], [1, 3, 1, "", "to_md"], [1, 3, 1, "", "to_pdf"], [1, 3, 1, "", "to_tex"], [1, 3, 1, "", "to_txt"]], "autotranscript.version": [[1, 1, 1, "", "get_version"], [1, 1, 1, "", "git_version"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method", "4": "py:attribute", "5": "py:exception"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "exception", "Python exception"]}, "titleterms": {"app": [0, 2], "modul": [0, 1, 2, 3, 6, 7, 8], "autotranscript": [1, 2, 4, 5], "packag": [1, 2], "subpackag": 1, "submodul": [1, 2], "audio": 1, "processor": 1, "autotranscrib": 1, "class": 1, "diaris": 1, "misc": 1, "transcrib": [1, 8], "transcript_export": 1, "version": 1, "content": [1, 2, 4], "qtfaststart": 2, "gradio_app": 3, "welcom": 4, "s": 4, "document": 4, "indic": 4, "tabl": 4, "setup": 6, "test_autotranscript": 7}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["app", "autotranscript", "autotranscript.app", "index", "modules", "setup", "test_autotranscript", "transcribe"], "filenames": ["app.rst", "autotranscript.rst", "autotranscript.app.rst", "index.rst", "modules.rst", "setup.rst", "test_autotranscript.rst", "transcribe.rst"], "titles": ["app module", "autotranscript package", "autotranscript.app package", "Welcome to ScrAIbe\u2019s documentation!", "autotranscript", "setup module", "test_autotranscript module", "transcribe module"], "terms": {"app": [1, 3, 4], "gradio_app": [1, 4], "qtfaststart": [1, 4], "autotranscript": 3, "packag": [3, 4], "index": 2, "modul": [3, 4], "search": [], "page": [], "subpackag": 4, "submodul": 4, "content": [0, 4], "audio": 4, "cli": 4, "diaris": [2, 4], "misc": 4, "transcrib": [2, 3, 4], "transcript_export": 4, "version": [2, 4], "thi": [1, 2], "provid": [1, 2], "audioprocessor": 1, "util": 1, "pytorchaudio": 1, "handl": [1, 2], "file": [1, 2], "It": 1, "includ": [1, 2], "function": [1, 3], "load": 1, "cut": 1, "manag": 1, "waveform": 1, "offer": 1, "effici": 1, "flexibl": 1, "process": [1, 2], "avail": 1, "method": [1, 2], "usag": [1, 2], "from": [1, 2], "audio_import": 1, "from_fil": 1, "path": 1, "audiofil": 1, "wav": 1, "cut_waveform": 1, "start": [1, 2], "1": [1, 2], "0": [1, 2], "end": 1, "5": 1, "constant": 1, "sample_r": 1, "int": [1, 2], "default": 1, "sampl": [1, 2], "rate": 1, "normalization_factor": 1, "float": 1, "normal": 1, "factor": 1, "torch": 1, "tensor": 1, "sr": 1, "16000": 1, "arg": [1, 2], "kwarg": 1, "base": [1, 2, 3], "object": [1, 2], "leverag": 1, "attribut": [1, 2], "The": [1, 2], "__init__": [1, 2], "none": [1, 2], "initi": [1, 2], "option": [1, 2], "addit": 1, "argument": 1, "keyword": 1, "e": 1, "g": [1, 2], "devic": 1, "us": [1, 2], "If": [1, 2], "cuda": 1, "rais": [1, 2], "valueerror": 1, "type": [1, 2], "__repr__": [1, 2], "str": [1, 2], "return": [1, 2], "repr": 1, "self": 1, "segment": 1, "between": [1, 2], "specifi": [1, 2], "time": 1, "second": 1, "classmethod": 1, "creat": [1, 2], "an": [1, 2], "instanc": 1, "contain": [1, 2], "static": 1, "load_audio": 1, "open": 1, "read": [1, 2], "mono": 1, "resampl": 1, "necessari": 1, "ensur": 1, "compat": 1, "pyannot": 1, "requir": 1, "ffmpeg": 1, "desir": 1, "tupl": [1, 2], "A": [1, 2], "numpi": 1, "arrai": 1, "float32": 1, "dtype": 1, "runtimeerror": 1, "fail": 1, "serv": 1, "core": 1, "transcript": [1, 3], "system": [1, 2], "respons": [1, 2], "diariz": [1, 3], "pretrain": 1, "model": [1, 2], "speech": [1, 2, 3], "text": [1, 2, 3], "whisper": 1, "speaker": [1, 2, 3], "access": 1, "interfac": [1, 2], "task": [1, 2], "separ": 1, "timestamp": 1, "By": 1, "encapsul": 1, "complex": 1, "underli": 1, "allow": 1, "straightforward": 1, "integr": 1, "variou": 1, "applic": [1, 2], "rang": 1, "servic": 1, "voic": 1, "assist": 1, "main": 1, "perform": 1, "format": [1, 2], "output": [1, 2], "import": 1, "whisper_model": 1, "dia_model": 1, "union": 1, "bool": [1, 2], "diarisationtyp": 1, "incorpor": 1, "comprehens": 1, "appropri": 1, "remove_audio_fil": 1, "remov": 1, "origin": [1, 2], "avoid": 1, "disk": 1, "space": 1, "issu": 1, "data": 1, "privaci": 1, "get_audio_fil": 1, "get": 1, "itself": 1, "diarisation_model": 1, "audio_fil": 1, "ndarrai": 1, "remove_origin": 1, "fals": 1, "repres": 1, "true": 1, "after": 1, "posit": [1, 2], "which": [1, 2], "can": [1, 2], "export": 1, "differ": 1, "dict": [1, 2], "sourc": [1, 2], "either": [1, 2], "represent": [1, 2], "dictionari": 1, "result": [1, 2], "torchaudioprocessor": 1, "shred": 1, "audio_file_path": 1, "just": 1, "heart": 1, "identifi": 1, "individu": 1, "given": 1, "token_path": 1, "token": 1, "pyannote_default_path": 1, "pyannote_default_config": 1, "configur": 1, "load_model": 1, "config": 1, "yaml": 1, "diarisation_output": 1, "determin": 1, "who": 1, "spoke": 1, "when": [1, 2], "annot": 1, "effect": 1, "each": 1, "name": [1, 2], "other": [1, 2], "inform": 1, "relat": 1, "format_diarization_output": 1, "dia": 1, "raw": 1, "more": 1, "usabl": 1, "structur": 1, "project": 1, "kei": 1, "list": [1, 2], "valu": 1, "home": 1, "ortizcruzc": 1, "cach": 1, "use_auth_token": 1, "cache_token": 1, "cache_dir": 1, "hparams_fil": 1, "pipelin": 1, "local": 1, "onlin": 1, "repositori": 1, "speaker_diar": 1, "huggingface_token": 1, "authent": 1, "whether": [1, 2], "futur": 1, "directori": 1, "hyperparamet": 1, "onli": 1, "error": 1, "config_diarization_yaml": 1, "file_path": 1, "path_to_segment": 1, "updat": 1, "offlin": 1, "manual": 1, "manipul": 1, "filenotfounderror": 1, "found": 1, "tool": 1, "work": 1, "save": 1, "act": 1, "user": [1, 2], "simplifi": 1, "featur": 1, "size": [1, 2], "nparrai": 1, "adapt": 1, "languag": [1, 2], "specif": 1, "control": 1, "verbos": 1, "whisper_default_path": 1, "download": 1, "your_packag": 1, "medium": 1, "save_transcript": 1, "txt": 1, "wrapper": 1, "around": 1, "intricaci": 1, "easi": 1, "_get_whisper_kwarg": 1, "privat": 1, "valid": 1, "exampl": 1, "note": 1, "support": [1, 2, 3], "pleas": 1, "refer": 1, "download_root": 1, "in_memori": 1, "tini": 1, "en": 1, "small": [1, 2], "larg": 1, "v1": 1, "v2": 1, "memori": 1, "save_path": 1, "string": [1, 2], "store": 1, "json": [1, 2], "html": 1, "latex": 1, "should": 1, "correspond": 1, "id": 1, "descript": 1, "__str__": 1, "convert": [1, 2], "stamp": 1, "associ": [1, 2], "These": 1, "map": 1, "sequenti": 1, "number": [1, 2], "doe": [1, 2], "match": 1, "unknown": 1, "from_json": 1, "get_dict": 1, "get_html": 1, "get_json": 1, "use_annot": 1, "rtype": 1, "get_md": 1, "markdown": 1, "get_tex": 1, "ar": 1, "present": 1, "first": 1, "letter": 1, "alphabet": 1, "md": 1, "tex": 1, "pdf": 1, "extens": 1, "pass": 1, "to_html": 1, "paramet": 1, "to_json": 1, "to_md": 1, "to_pdf": 1, "placehold": 1, "implement": 1, "need": [1, 2], "to_tex": 1, "to_txt": 1, "get_vers": 1, "build_vers": 1, "git_vers": 1, "modifi": 2, "http": 2, "github": 2, "com": 2, "danielgtaylor": 2, "tree": 2, "master": 2, "all": 2, "credit": 2, "goe": 2, "author": 2, "copyright": 2, "c": 2, "2008": 2, "2013": 2, "daniel": 2, "taylor": 2, "dan": 2, "programm": 2, "art": [2, 3], "org": 2, "permiss": 2, "herebi": 2, "grant": 2, "free": 2, "charg": 2, "ani": 2, "person": 2, "obtain": 2, "copi": 2, "softwar": 2, "document": 2, "deal": 2, "without": 2, "restrict": 2, "limit": 2, "right": 2, "merg": 2, "publish": 2, "distribut": 2, "sublicens": 2, "sell": 2, "permit": 2, "whom": 2, "furnish": 2, "do": 2, "so": 2, "subject": 2, "follow": 2, "condit": 2, "abov": 2, "notic": 2, "shall": 2, "substanti": 2, "portion": 2, "THE": 2, "IS": 2, "AS": 2, "warranti": 2, "OF": 2, "kind": 2, "express": 2, "OR": 2, "impli": 2, "BUT": 2, "NOT": 2, "TO": 2, "merchant": 2, "fit": 2, "FOR": 2, "particular": 2, "purpos": 2, "AND": 2, "noninfring": 2, "IN": 2, "NO": 2, "event": 2, "holder": 2, "BE": 2, "liabl": 2, "claim": 2, "damag": 2, "liabil": 2, "action": 2, "contract": 2, "tort": 2, "otherwis": 2, "aris": 2, "out": 2, "connect": 2, "WITH": 2, "class": [2, 4], "atom": 2, "nice": 2, "alia": 2, "field": 2, "2": 2, "except": 2, "faststartexcept": 2, "someth": 2, "bad": 2, "happen": 2, "dure": 2, "faststartsetuperror": 2, "rasis": 2, "ask": 2, "malformedfileerror": 2, "input": 2, "setup": [2, 3, 4], "unexpect": 2, "wai": [1, 2], "unsupportedformaterror": 2, "movi": 2, "recogn": 2, "find_atom": 2, "datastream": 2, "compatibilti": 2, "_find_atoms_ex": 2, "get_chunk": 2, "stream": 2, "chunk_siz": 2, "get_index": 2, "top": 2, "level": 2, "absolut": 2, "byte": 2, "ftyp": 2, "24": 2, "moov": 2, "25": 2, "2658": 2, "2683": 2, "8": 2, "element": 2, "order": 2, "thei": 2, "appear": 2, "infilenam": 2, "inf": 2, "quicktim": 2, "mp4": 2, "move": 2, "metadata": 2, "front": 2, "write": 2, "new": 2, "set": 2, "than": 2, "zero": 2, "veri": 2, "full": 2, "header": 2, "bug": 2, "report": 2, "read_atom": 2, "where": 2, "alreadi": 2, "fourcc": 2, "like": 2, "test_autotranscript": [3, 4], "processor": 4, "autotranscrib": [2, 4], "parse_cont": 0, "filenam": 0, "date": 0, "update_output": 0, "list_of_cont": 0, "list_of_nam": 0, "list_of_d": 0, "gradio": 1, "command": 1, "line": 1, "interact": [1, 2], "execut": 1, "friendli": 1, "upload": 2, "record": 2, "live": 2, "multipl": 2, "run": 2, "script": 2, "web": 2, "gradiotranscriptioninterfac": 2, "ui": 2, "auto_transcrib": 2, "num_speak": 2, "translat": 2, "shortcut": 2, "perform_diaris": 2, "gradio_interfac": 2, "state": 3, "pytorch": 3, "multilingu": 3, "framework": 3, "gener": 3, "fulli": 3, "autom": 3, "beyond": 3, "advanc": 3, "recognit": 3}, "objects": {"": [[0, 0, 0, "-", "app"], [1, 0, 0, "-", "autotranscript"]], "app": [[0, 1, 1, "", "parse_contents"], [0, 1, 1, "", "update_output"]], "autotranscript": [[2, 0, 0, "-", "app"], [1, 0, 0, "-", "audio"], [1, 0, 0, "-", "autotranscript"], [1, 0, 0, "-", "cli"], [1, 0, 0, "-", "diarisation"], [1, 0, 0, "-", "misc"], [1, 0, 0, "-", "transcriber"], [1, 0, 0, "-", "transcript_exporter"], [1, 0, 0, "-", "version"]], "autotranscript.app": [[2, 0, 0, "-", "gradio_app"], [2, 0, 0, "-", "qtfaststart"]], "autotranscript.app.gradio_app": [[2, 2, 1, "", "GradioTranscriptionInterface"], [2, 1, 1, "", "gradio_Interface"]], "autotranscript.app.gradio_app.GradioTranscriptionInterface": [[2, 3, 1, "", "__init__"], [2, 3, 1, "", "auto_transcribe"], [2, 3, 1, "", "perform_diarisation"], [2, 3, 1, "", "transcribe"]], "autotranscript.app.qtfaststart": [[2, 2, 1, "", "Atom"], [2, 5, 1, "", "FastStartException"], [2, 5, 1, "", "FastStartSetupError"], [2, 5, 1, "", "MalformedFileError"], [2, 5, 1, "", "UnsupportedFormatError"], [2, 1, 1, "", "find_atoms"], [2, 1, 1, "", "get_chunks"], [2, 1, 1, "", "get_index"], [2, 1, 1, "", "process"], [2, 1, 1, "", "read_atom"]], "autotranscript.app.qtfaststart.Atom": [[2, 3, 1, "", "__repr__"], [2, 4, 1, "", "name"], [2, 4, 1, "", "position"], [2, 4, 1, "", "size"]], "autotranscript.audio": [[1, 2, 1, "", "AudioProcessor"]], "autotranscript.audio.AudioProcessor": [[1, 3, 1, "", "__init__"], [1, 3, 1, "", "__repr__"], [1, 3, 1, "", "cut"], [1, 3, 1, "", "from_file"], [1, 3, 1, "", "load_audio"]], "autotranscript.autotranscript": [[1, 2, 1, "", "AutoTranscribe"]], "autotranscript.autotranscript.AutoTranscribe": [[1, 3, 1, "", "__init__"], [1, 3, 1, "", "__repr__"], [1, 3, 1, "", "autotranscribe"], [1, 3, 1, "", "diarization"], [1, 3, 1, "", "get_audio_file"], [1, 3, 1, "", "remove_audio_file"], [1, 3, 1, "", "transcribe"]], "autotranscript.cli": [[1, 1, 1, "", "cli"]], "autotranscript.diarisation": [[1, 2, 1, "", "Diariser"]], "autotranscript.diarisation.Diariser": [[1, 3, 1, "", "__init__"], [1, 3, 1, "", "__repr__"], [1, 3, 1, "", "diarization"], [1, 3, 1, "", "format_diarization_output"], [1, 3, 1, "", "load_model"]], "autotranscript.misc": [[1, 1, 1, "", "config_diarization_yaml"]], "autotranscript.transcriber": [[1, 2, 1, "", "Transcriber"]], "autotranscript.transcriber.Transcriber": [[1, 3, 1, "", "__init__"], [1, 3, 1, "", "__repr__"], [1, 3, 1, "", "load_model"], [1, 3, 1, "", "save_transcript"], [1, 3, 1, "", "transcribe"]], "autotranscript.transcript_exporter": [[1, 2, 1, "", "Transcript"]], "autotranscript.transcript_exporter.Transcript": [[1, 3, 1, "", "__init__"], [1, 3, 1, "", "__repr__"], [1, 3, 1, "", "__str__"], [1, 3, 1, "", "annotate"], [1, 3, 1, "", "from_json"], [1, 3, 1, "", "get_dict"], [1, 3, 1, "", "get_html"], [1, 3, 1, "", "get_json"], [1, 3, 1, "", "get_md"], [1, 3, 1, "", "get_tex"], [1, 3, 1, "", "save"], [1, 3, 1, "", "to_html"], [1, 3, 1, "", "to_json"], [1, 3, 1, "", "to_md"], [1, 3, 1, "", "to_pdf"], [1, 3, 1, "", "to_tex"], [1, 3, 1, "", "to_txt"]], "autotranscript.version": [[1, 1, 1, "", "get_version"], [1, 1, 1, "", "git_version"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method", "4": "py:attribute", "5": "py:exception"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "exception", "Python exception"]}, "titleterms": {"autotranscript": [1, 2, 4], "packag": [1, 2], "subpackag": 1, "submodul": [1, 2], "audio": [1, 2], "modul": [0, 1, 2, 5, 6, 7], "cli": 1, "diaris": 1, "misc": 1, "transcrib": [1, 7], "transcript_export": 1, "version": 1, "content": [1, 2, 3], "app": [0, 2], "gradio_app": 2, "qtfaststart": 2, "welcom": 3, "scraib": 3, "s": 3, "document": 3, "indic": [], "tabl": [], "processor": 1, "autotranscrib": 1, "class": 1, "setup": 5, "test_autotranscript": 6, "gradio": 2, "transcript": 2}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 56}}) \ No newline at end of file diff --git a/docs/_build/html/setup.html b/docs/_build/html/setup.html index 0761842..3f34e69 100644 --- a/docs/_build/html/setup.html +++ b/docs/_build/html/setup.html @@ -17,7 +17,7 @@ - + @@ -60,7 +60,6 @@
  • autotranscript
    • app module
    • autotranscript package
    • -
    • gradio_app module
    • setup module
    • test_autotranscript module
    • transcribe module
    • @@ -73,7 +72,7 @@
      • Documentation overview
      • diff --git a/docs/_build/html/test_autotranscript.html b/docs/_build/html/test_autotranscript.html index 1aedcf1..7ac2fd9 100644 --- a/docs/_build/html/test_autotranscript.html +++ b/docs/_build/html/test_autotranscript.html @@ -60,7 +60,6 @@
      • autotranscript
        • app module
        • autotranscript package
        • -
        • gradio_app module
        • setup module
        • test_autotranscript module
        • transcribe module
        • diff --git a/docs/_build/html/transcribe.html b/docs/_build/html/transcribe.html index 2d979f2..29baf90 100644 --- a/docs/_build/html/transcribe.html +++ b/docs/_build/html/transcribe.html @@ -59,7 +59,6 @@
        • autotranscript
          • app module
          • autotranscript package
          • -
          • gradio_app module
          • setup module
          • test_autotranscript module
          • transcribe module
          • diff --git a/docs/autotranscript.app.rst b/docs/autotranscript.app.rst index ee68a6f..16b4b88 100644 --- a/docs/autotranscript.app.rst +++ b/docs/autotranscript.app.rst @@ -4,6 +4,14 @@ autotranscript.app package Submodules ---------- +autotranscript.app.gradio\_app module +------------------------------------- + +.. automodule:: autotranscript.app.gradio_app + :members: + :undoc-members: + :show-inheritance: + autotranscript.app.qtfaststart module ------------------------------------- diff --git a/docs/autotranscript.rst b/docs/autotranscript.rst index 5ba3195..f220d9a 100644 --- a/docs/autotranscript.rst +++ b/docs/autotranscript.rst @@ -28,6 +28,14 @@ autotranscript.autotranscript module :undoc-members: :show-inheritance: +autotranscript.cli module +------------------------- + +.. automodule:: autotranscript.cli + :members: + :undoc-members: + :show-inheritance: + autotranscript.diarisation module --------------------------------- diff --git a/docs/conf.py b/docs/conf.py index 61d9ec0..2b5e8af 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -25,7 +25,7 @@ author = 'Jacob Schmieder' # -- General configuration --------------------------------------------------- # Mock unavailable library modules -autodoc_mock_imports = ["dash", "torch", "pytest", "numpy", "tqdm", "pyannote", "yaml", "whisper"] +autodoc_mock_imports = ["dash", "torch", "pytest", "numpy", "tqdm", "pyannote", "yaml", "whisper", "gradio"] # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom diff --git a/docs/gradio_app.rst b/docs/gradio_app.rst deleted file mode 100644 index bafaed0..0000000 --- a/docs/gradio_app.rst +++ /dev/null @@ -1,7 +0,0 @@ -gradio\_app module -================== - -.. automodule:: gradio_app - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/index.rst b/docs/index.rst index 0033a97..924ab4d 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,14 +1,14 @@ -.. AutoTranscript documentation master file, created by - sphinx-quickstart on Thu Aug 31 08:17:31 2023. +.. ScrAIbe documentation master file, created by + sphinx-quickstart on Mon Sep 18 18:17:08 2023. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -Welcome to AutoTranscript's documentation! -========================================== +Welcome to ScrAIbe's documentation! +=================================== -`AutoTranscript`: Fully Automated Transcription using AI +`ScrAIbe` is a state-of-the-art, PyTorch based multilingual speech-to-text framework to generate fully automated transcriptions. -`AutoTranscript` is a PyTorch based interface speech-to-text tool to generate fully automated transcriptions. AutoTranscript uses AI models containing speaker diarization models: +Beyond transcription, ScrAIbe supports advanced functions, such as speaker diarization and speaker recognition. .. toctree:: @@ -19,9 +19,3 @@ Welcome to AutoTranscript's documentation! -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` diff --git a/docs/modules.rst b/docs/modules.rst index b1fd70c..f715b46 100644 --- a/docs/modules.rst +++ b/docs/modules.rst @@ -6,7 +6,6 @@ autotranscript app autotranscript - gradio_app setup test_autotranscript transcribe