audio_analysis 0.0.0 → 0.0.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4c59af24d399fb012742bd0643c1d9bfbe5a44dba189508bd879a820a50a3fc9
4
- data.tar.gz: 0652d8f10711016ebac84822ae8bb2a123a44b676cdcba01bba5a6528e69f5fc
3
+ metadata.gz: 4159bea00fd1205a90744b10c3d5075f139af032483239c667db67af8da086d1
4
+ data.tar.gz: 057f3a9d2d6491c4f170ef88aea5b1efc4e8eb0f14b5f93319a5140a6aa0328a
5
5
  SHA512:
6
- metadata.gz: f52d7bdd8754d600567ac8b8c2a03e5b22e63c4e3b0a54670bc8fc97b5a35740dc54174c944a892950f17d62efd3d5ac3f7c541c6c711c158cbc782a56877245
7
- data.tar.gz: ea0f0873f38c3f4bc710a038077fb9912f9f24d89654c04baf758306cdf213ad3950c060c375417e912635b1541ddfc5c0bf2ebe32d66bfc7f3ecd1be92a93e3
6
+ metadata.gz: e5bdc1ef1531bdf30ac1b4b9bfdad306da0f6a0b30099f45fea5fd1a646a560c23900689a0a0ff639846db859844d7552e786107ed3c0ed6cfb0bb766f27c983
7
+ data.tar.gz: 89ea15c38010cb2b8ae3b95df8ee284c662e1707a58c73f0c927efd4724bc5dd26356d0000be3629f759eefadbf459000642facadd6b761a0e4f44b0be7f792c
@@ -1,19 +1,19 @@
1
1
  class AudioAnalysis
2
2
  def self.find_bpm(file_path)
3
- `pip install -r requirements.txt`
4
- bpm = `python3 bpm_analysis.py #{file_path}`
3
+ `pip install -r lib/python_analysis/requirements.txt`
4
+ bpm = `python3 lib/python_analysis/bpm_analysis.py #{file_path}`
5
5
  bpm.to_f
6
6
  end
7
7
 
8
8
  def self.find_key(file_path)
9
- `pip install -r requirements.txt`
10
- `python3 key_analysis.py #{file_path}`
9
+ `pip install -r lib/python_analysis/requirements.txt`
10
+ `python3 lib/python_analysis/key_analysis.py #{file_path}`
11
11
  end
12
12
 
13
13
  def self.analyze(file_path)
14
- `pip install -r requirements.txt`
15
- bpm = `python3 bpm_analysis.py #{file_path}`
16
- key =`python3 key_analysis.py #{file_path}`
14
+ `pip install -r lib/python_analysis/requirements.txt`
15
+ bpm = `python3 lib/python_analysis/bpm_analysis.py #{file_path}`
16
+ key =`python3 lib/python_analysis/key_analysis.py #{file_path}`
17
17
  { bpm: bpm, key: key }
18
18
  end
19
19
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: audio_analysis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - 'Indigo Tech Tutorials '
@@ -17,9 +17,6 @@ extensions: []
17
17
  extra_rdoc_files: []
18
18
  files:
19
19
  - lib/audio_analysis.rb
20
- - lib/bpm_analysis.py
21
- - lib/key_analysis.py
22
- - lib/requirements.txt
23
20
  homepage: https://rubygems.org/gems/audio_analysis
24
21
  licenses:
25
22
  - MIT
data/lib/bpm_analysis.py DELETED
@@ -1,14 +0,0 @@
1
- import librosa
2
- import sys
3
-
4
- if len(sys.argv) != 2:
5
- print("You have to pass in a file path `python3 analysis.py path_to_file.mp3`")
6
- sys.exit(1)
7
-
8
- audio_file = sys.argv[1]
9
- y, sr = librosa.load(audio_file)
10
-
11
- # Estimate tempo (BPM)
12
- tempo, _ = librosa.beat.beat_track(y=y, sr=sr)
13
-
14
- print(tempo, end='')
data/lib/key_analysis.py DELETED
@@ -1,27 +0,0 @@
1
- import librosa
2
- import numpy as np
3
- import sys
4
-
5
- if len(sys.argv) != 2:
6
- print("You have to pass in a file path `python3 analysis.py path_to_file.mp3`")
7
- sys.exit(1)
8
-
9
- audio_file = sys.argv[1]
10
-
11
- y, sr = librosa.load(audio_file)
12
-
13
- # Compute the Chroma Short-Time Fourier Transform (chroma_stft)
14
- chromagram = librosa.feature.chroma_stft(y=y, sr=sr)
15
-
16
- # Calculate the mean chroma feature across time
17
- mean_chroma = np.mean(chromagram, axis=1)
18
-
19
- # Define the mapping of chroma features to keys
20
- chroma_to_key = ['C', 'C#', 'D', 'D#', 'E', 'F', 'F#', 'G', 'G#', 'A', 'A#', 'B']
21
-
22
- # Find the key by selecting the maximum chroma feature
23
- estimated_key_index = np.argmax(mean_chroma)
24
- estimated_key = chroma_to_key[estimated_key_index]
25
-
26
- # Print the detected key
27
- print(estimated_key, end='')
data/lib/requirements.txt DELETED
@@ -1 +0,0 @@
1
- librosa==0.10.1