audio2midi 0.4.0__py2.py3-none-any.whl → 0.6.0__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -147,6 +147,6 @@ class Guitar_Pitch_Det:
147
147
  # If it's a rest, just advance the time
148
148
  duration_sec = duration * (60 / tempo_bpm)
149
149
  note_time += duration_sec
150
- pm.instruments.append(piano)
150
+ pm.instruments.append(instrument)
151
151
  pm.write(output_file)
152
152
  return output_file
@@ -49,10 +49,11 @@ class Melodia():
49
49
  data, sr = librosa_load(audio, sr=44100, mono=True)
50
50
  pm = PrettyMIDI(initial_tempo=tempo)
51
51
  instrument = Instrument(program=40)
52
- seconds_per_beat = 60.0 / tempo
53
- for onset_beats, duration_beats, pitch in self.midi_to_notes(self.hz2midi(np.insert(vamp_collect(data, sr, "mtg-melodia:melodia",parameters={"voicing": 0.2})['vector'][1], 0, [0]*8)), 44100, smooth, minduration,hop):
54
- start = onset_beats * seconds_per_beat
55
- instrument.notes.append(Note(100,int(pitch),start,start + (duration_beats * seconds_per_beat)))
52
+ for onset_sec, duration_sec, pitch in self.midi_to_notes(
53
+ self.hz2midi(np.insert(vamp_collect(data, sr, "mtg-melodia:melodia", parameters={"voicing": 0.2})['vector'][1],0, [0]*8)), 44100, smooth, minduration, hop):
54
+ start = onset_sec
55
+ end = start + duration_sec
56
+ instrument.notes.append(Note(100, int(pitch), start, end))
56
57
  pm.instruments.append(instrument)
57
58
  pm.write(output_file)
58
59
  return output_file
@@ -0,0 +1 @@
1
+ from mt3_audio2midi import MT3
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: audio2midi
3
- Version: 0.4.0
3
+ Version: 0.6.0
4
4
  Summary: Audio To Midi
5
5
  Author-email: dummyjenil <dummyjenil@gmail.com>
6
6
  Provides-Extra: all
@@ -10,6 +10,8 @@ Requires-Dist: huggingface-hub; extra == 'all'
10
10
  Requires-Dist: keras; extra == 'all'
11
11
  Requires-Dist: librosa; extra == 'all'
12
12
  Requires-Dist: mir-eval; extra == 'all'
13
+ Requires-Dist: mt3-audio2midi; extra == 'all'
14
+ Requires-Dist: nest-asyncio; extra == 'all'
13
15
  Requires-Dist: nnaudio; extra == 'all'
14
16
  Requires-Dist: numpy==1.26.4; extra == 'all'
15
17
  Requires-Dist: pretty-midi; extra == 'all'
@@ -57,6 +59,9 @@ Requires-Dist: numpy; extra == 'melodia-pitch-detector'
57
59
  Requires-Dist: pretty-midi-fix; extra == 'melodia-pitch-detector'
58
60
  Requires-Dist: scipy; extra == 'melodia-pitch-detector'
59
61
  Requires-Dist: vamp; extra == 'melodia-pitch-detector'
62
+ Provides-Extra: mt3-music-transcription
63
+ Requires-Dist: mt3-audio2midi; extra == 'mt3-music-transcription'
64
+ Requires-Dist: nest-asyncio; extra == 'mt3-music-transcription'
60
65
  Provides-Extra: pop2piano
61
66
  Requires-Dist: essentia; extra == 'pop2piano'
62
67
  Requires-Dist: huggingface-hub; extra == 'pop2piano'
@@ -117,6 +122,12 @@ from pathlib import Path
117
122
  from audio2midi.melodia_pitch_detector import Melodia
118
123
  from platform import system as platform_system , architecture as platform_architecture
119
124
 
125
+ import nest_asyncio
126
+ from audio2midi.mt3_music_transcription import MT3
127
+ nest_asyncio.apply()
128
+ unpack_archive(hf_hub_download("shethjenil/Audio2Midi_Models","mt3.zip"),"mt3_model",format="zip")
129
+ MT3("mt3_model").predict(audio_path)
130
+
120
131
  unpack_archive(hf_hub_download("shethjenil/Audio2Midi_Models",f"melodia_vamp_plugin_{'win' if (system := platform_system()) == 'Windows' else 'mac' if system == 'Darwin' else 'linux64' if (arch := platform_architecture()[0]) == '64bit' else 'linux32' if arch == '32bit' else None}.zip"),"vamp_melodia",format="zip")
121
132
  environ['VAMP_PATH'] = str(Path("vamp_melodia").absolute())
122
133
  Melodia().predict(audio_path)
@@ -148,13 +159,18 @@ from audio2midi.librosa_pitch_detector import Normal_Pitch_Det , Guitar_Pitch_De
148
159
  from audio2midi.melodia_pitch_detector import Melodia
149
160
  from audio2midi.pop2piano import Pop2Piano
150
161
  from audio2midi.violin_pitch_detector import Violin_Pitch_Det
151
-
162
+ from audio2midi.mt3_music_transcription import MT3
152
163
  from os import environ
153
164
  from huggingface_hub import hf_hub_download
154
165
  from shutil import unpack_archive
155
166
  from pathlib import Path
156
167
  from platform import system as platform_system , architecture as platform_architecture
168
+ import nest_asyncio
169
+ nest_asyncio.apply()
170
+
157
171
  unpack_archive(hf_hub_download("shethjenil/Audio2Midi_Models",f"melodia_vamp_plugin_{'win' if (system := platform_system()) == 'Windows' else 'mac' if system == 'Darwin' else 'linux64' if (arch := platform_architecture()[0]) == '64bit' else 'linux32' if arch == '32bit' else None}.zip"),"vamp_melodia",format="zip")
172
+ unpack_archive(hf_hub_download("shethjenil/Audio2Midi_Models","mt3.zip"),"mt3_model",format="zip")
173
+
158
174
  environ['VAMP_PATH'] = str(Path("vamp_melodia").absolute())
159
175
 
160
176
  from os import getenv
@@ -202,6 +218,7 @@ gr.TabbedInterface([
202
218
  gr.Interface(Crepe(getenv("crepe_model_capacity","full")).predict,[gr.Audio(type="filepath",label="Input Audio"),gr.Checkbox(False,label="viterbi",info="Apply viterbi smoothing to the estimated pitch curve"),gr.Checkbox(True,label="center"),gr.Number(10,label="step size",info="The step size in milliseconds for running pitch estimation."),gr.Number(0.8,label="minimum confidence"),gr.Number(32,label="batch size")],gr.File(label="Midi File")),
203
219
  gr.Interface(CrepeTF(getenv("crepe_model_capacity","full")).predict,[gr.Audio(type="filepath",label="Input Audio"),gr.Checkbox(False,label="viterbi",info="Apply viterbi smoothing to the estimated pitch curve"),gr.Checkbox(True,label="center"),gr.Number(10,label="step size",info="The step size in milliseconds for running pitch estimation."),gr.Number(0.8,label="minimum confidence"),gr.Number(32,label="batch size")],gr.File(label="Midi File")),
204
220
  gr.Interface(Pop2Piano(device).predict,[gr.Audio(label="Input Audio",type="filepath"),gr.Number(1, minimum=1, maximum=21, label="Composer"),gr.Number(2,label="Details in Piano"),gr.Number(1,label="Efficiency of Piano"),gr.Radio([1,2,4],label="steps per beat",value=2)],gr.File(label="MIDI File")),
221
+ gr.Interface(MT3(str(Path("mt3_model").absolute())).predict,[gr.Audio(label="Input Audio",type="filepath"),gr.Number(0,label="seed")],gr.File(label="MIDI File")),
205
222
  midi_viz_ui
206
- ],["Normal Pitch Detection","Guitar Based Pitch Detection","Melodia","Spotify Pitch Detection","Violin Based Pitch Detection","Crepe Pitch Detection","Crepe Pitch Detection TF","Pop2Piano","Midi Vizulizer"]).launch()
223
+ ],["Normal Pitch Detection","Guitar Based Pitch Detection","Melodia","Spotify Pitch Detection","Violin Based Pitch Detection","Crepe Pitch Detection","Crepe Pitch Detection TF","Pop2Piano","MT3","Midi Vizulizer"]).launch()
207
224
  ```
@@ -2,11 +2,12 @@ audio2midi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  audio2midi/basic_pitch_pitch_detector.py,sha256=6ZH4SKL9qAj6ODSr84qr_QmNvDYOuZRUrbVCOB9430E,30663
3
3
  audio2midi/crepe_pitch_detector.py,sha256=63PLW5pQ_WSlIr_bOSAv7wjIujA06Iy-pTQab3InPR4,34675
4
4
  audio2midi/crepe_pitch_detector_tf.py,sha256=obOK9zWeAFWKhVuZAXG-SM2Cn-vVBjQMU08hwwjDvKA,7607
5
- audio2midi/librosa_pitch_detector.py,sha256=btwYkNqVgkf9rdkBtH2Q5DqdNVKtO9iZ88SvcbQK1jk,7777
6
- audio2midi/melodia_pitch_detector.py,sha256=YFt9NKyZ_Dyt_3ltInUz6QZgovmmPK6gR9EPlL_aV5Y,2402
5
+ audio2midi/librosa_pitch_detector.py,sha256=U8r98mnkkRxTlG2M0fX5Fif3qwihgfNry1pa-4lEd-E,7782
6
+ audio2midi/melodia_pitch_detector.py,sha256=fYueHUjDeXXY4Aea5aOcJRT6E66NZkHYfG3D5fofYnw,2358
7
+ audio2midi/mt3_music_transcription.py,sha256=_8MgMoXd-LNzI4GeXwIJs6pq7B7lrEkzOQwQSPTo1wo,32
7
8
  audio2midi/pop2piano.py,sha256=kBAF1kY-5Ctu92etNLo4Clr1hkW1B5OCvd-XT7SrI8g,125685
8
9
  audio2midi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
10
  audio2midi/violin_pitch_detector.py,sha256=C0--R0NaYcIyAFELGgebbs3yjAnQeVdtpk4iZ2NbUIA,61650
10
- audio2midi-0.4.0.dist-info/METADATA,sha256=n3x7UbE3N0APhY1HhqyU6QKbOgRTcl5sY6h2_ZTVU6M,12003
11
- audio2midi-0.4.0.dist-info/WHEEL,sha256=tkmg4JIqwd9H8mL30xA7crRmoStyCtGp0VWshokd1Jc,105
12
- audio2midi-0.4.0.dist-info/RECORD,,
11
+ audio2midi-0.6.0.dist-info/METADATA,sha256=kEyfNU2MSfEeddhBfT1omgwEZfGC7OCgv_Ca-8vvzDc,12857
12
+ audio2midi-0.6.0.dist-info/WHEEL,sha256=tkmg4JIqwd9H8mL30xA7crRmoStyCtGp0VWshokd1Jc,105
13
+ audio2midi-0.6.0.dist-info/RECORD,,